drm/i915: make FDI training a display function
Rather than branching in ironlake_pch_enable, add a new train_fdi function to the display function pointer struct and use it instead. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Родитель
8eb572942c
Коммит
674cf96761
|
@ -208,7 +208,7 @@ struct drm_i915_display_funcs {
|
|||
struct drm_display_mode *adjusted_mode,
|
||||
int x, int y,
|
||||
struct drm_framebuffer *old_fb);
|
||||
|
||||
void (*fdi_link_train)(struct drm_crtc *crtc);
|
||||
/* clock updates for mode set */
|
||||
/* cursor updates */
|
||||
/* render clock increase/decrease */
|
||||
|
|
|
@ -2469,10 +2469,7 @@ static void ironlake_pch_enable(struct drm_crtc *crtc)
|
|||
u32 reg, temp;
|
||||
|
||||
/* For PCH output, training FDI link */
|
||||
if (IS_GEN6(dev))
|
||||
gen6_fdi_link_train(crtc);
|
||||
else
|
||||
ironlake_fdi_link_train(crtc);
|
||||
dev_priv->display.fdi_link_train(crtc);
|
||||
|
||||
intel_enable_pch_pll(dev_priv, pipe);
|
||||
|
||||
|
@ -7431,6 +7428,7 @@ static void intel_init_display(struct drm_device *dev)
|
|||
"Disable CxSR\n");
|
||||
dev_priv->display.update_wm = NULL;
|
||||
}
|
||||
dev_priv->display.fdi_link_train = ironlake_fdi_link_train;
|
||||
} else if (IS_GEN6(dev)) {
|
||||
if (SNB_READ_WM0_LATENCY()) {
|
||||
dev_priv->display.update_wm = sandybridge_update_wm;
|
||||
|
@ -7439,6 +7437,7 @@ static void intel_init_display(struct drm_device *dev)
|
|||
"Disable CxSR\n");
|
||||
dev_priv->display.update_wm = NULL;
|
||||
}
|
||||
dev_priv->display.fdi_link_train = gen6_fdi_link_train;
|
||||
} else
|
||||
dev_priv->display.update_wm = NULL;
|
||||
} else if (IS_PINEVIEW(dev)) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче