#include <linux/delay.h>
#include <linux/i2c.h>
#include <drm/drm_crtc.h>
#include <drm/drm_modeset_helper_vtables.h>
#include "cdv_device.h"
#include "framebuffer.h"
#include "gma_display.h"
#include "power.h"
#include "psb_drv.h"
#include "psb_intel_drv.h"
#include "psb_intel_reg.h"
static bool cdv_intel_find_dp_pll(const struct gma_limit_t *limit,
struct drm_crtc *crtc, int target,
int refclk, struct gma_clock_t *best_clock);
#define CDV_LIMIT_SINGLE_LVDS_96 …
#define CDV_LIMIT_SINGLE_LVDS_100 …
#define CDV_LIMIT_DAC_HDMI_27 …
#define CDV_LIMIT_DAC_HDMI_96 …
#define CDV_LIMIT_DP_27 …
#define CDV_LIMIT_DP_100 …
static const struct gma_limit_t cdv_intel_limits[] = …;
#define _wait_for(COND, MS, W) …
#define wait_for(COND, MS) …
int cdv_sb_read(struct drm_device *dev, u32 reg, u32 *val)
{ … }
int cdv_sb_write(struct drm_device *dev, u32 reg, u32 val)
{ … }
void cdv_sb_reset(struct drm_device *dev)
{ … }
static int
cdv_dpll_set_clock_cdv(struct drm_device *dev, struct drm_crtc *crtc,
struct gma_clock_t *clock, bool is_lvds, u32 ddi_select)
{ … }
static const struct gma_limit_t *cdv_intel_limit(struct drm_crtc *crtc,
int refclk)
{ … }
static void cdv_intel_clock(int refclk, struct gma_clock_t *clock)
{ … }
static bool cdv_intel_find_dp_pll(const struct gma_limit_t *limit,
struct drm_crtc *crtc, int target,
int refclk,
struct gma_clock_t *best_clock)
{ … }
#define FIFO_PIPEA …
#define FIFO_PIPEB …
static bool cdv_intel_pipe_enabled(struct drm_device *dev, int pipe)
{ … }
void cdv_disable_sr(struct drm_device *dev)
{ … }
void cdv_update_wm(struct drm_device *dev, struct drm_crtc *crtc)
{ … }
static int cdv_intel_panel_fitter_pipe(struct drm_device *dev)
{ … }
static int cdv_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 void i8xx_clock(int refclk, struct gma_clock_t *clock)
{ … }
static int cdv_intel_crtc_clock_get(struct drm_device *dev,
struct drm_crtc *crtc)
{ … }
struct drm_display_mode *cdv_intel_crtc_mode_get(struct drm_device *dev,
struct drm_crtc *crtc)
{ … }
const struct drm_crtc_helper_funcs cdv_intel_helper_funcs = …;
const struct gma_clock_funcs cdv_clock_funcs = …;