#include <linux/delay.h>
#include <linux/i2c.h>
#include <drm/drm_modeset_helper.h>
#include <drm/drm_modeset_helper_vtables.h>
#include "framebuffer.h"
#include "gem.h"
#include "gma_display.h"
#include "power.h"
#include "psb_drv.h"
#include "psb_intel_drv.h"
#include "psb_intel_reg.h"
#define INTEL_LIMIT_I9XX_SDVO_DAC …
#define INTEL_LIMIT_I9XX_LVDS …
static const struct gma_limit_t psb_intel_limits[] = …;
static const struct gma_limit_t *psb_intel_limit(struct drm_crtc *crtc,
int refclk)
{ … }
static void psb_intel_clock(int refclk, struct gma_clock_t *clock)
{ … }
static int psb_intel_panel_fitter_pipe(struct drm_device *dev)
{ … }
static int psb_intel_crtc_mode_set(struct drm_crtc *crtc,
struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode,
int x, int y,
struct drm_framebuffer *old_fb)
{ … }
static int psb_intel_crtc_clock_get(struct drm_device *dev,
struct drm_crtc *crtc)
{ … }
struct drm_display_mode *psb_intel_crtc_mode_get(struct drm_device *dev,
struct drm_crtc *crtc)
{ … }
const struct drm_crtc_helper_funcs psb_intel_helper_funcs = …;
const struct gma_clock_funcs psb_clock_funcs = …;
static void psb_intel_cursor_init(struct drm_device *dev,
struct gma_crtc *gma_crtc)
{ … }
void psb_intel_crtc_init(struct drm_device *dev, int pipe,
struct psb_intel_mode_device *mode_dev)
{ … }
struct drm_crtc *psb_intel_get_crtc_from_pipe(struct drm_device *dev, int pipe)
{ … }
int gma_connector_clones(struct drm_device *dev, int type_mask)
{ … }