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:
committed by
Keith Packard
parent
8eb572942c
commit
674cf96761
@@ -208,7 +208,7 @@ struct drm_i915_display_funcs {
|
|||||||
struct drm_display_mode *adjusted_mode,
|
struct drm_display_mode *adjusted_mode,
|
||||||
int x, int y,
|
int x, int y,
|
||||||
struct drm_framebuffer *old_fb);
|
struct drm_framebuffer *old_fb);
|
||||||
|
void (*fdi_link_train)(struct drm_crtc *crtc);
|
||||||
/* clock updates for mode set */
|
/* clock updates for mode set */
|
||||||
/* cursor updates */
|
/* cursor updates */
|
||||||
/* render clock increase/decrease */
|
/* render clock increase/decrease */
|
||||||
|
@@ -2469,10 +2469,7 @@ static void ironlake_pch_enable(struct drm_crtc *crtc)
|
|||||||
u32 reg, temp;
|
u32 reg, temp;
|
||||||
|
|
||||||
/* For PCH output, training FDI link */
|
/* For PCH output, training FDI link */
|
||||||
if (IS_GEN6(dev))
|
dev_priv->display.fdi_link_train(crtc);
|
||||||
gen6_fdi_link_train(crtc);
|
|
||||||
else
|
|
||||||
ironlake_fdi_link_train(crtc);
|
|
||||||
|
|
||||||
intel_enable_pch_pll(dev_priv, pipe);
|
intel_enable_pch_pll(dev_priv, pipe);
|
||||||
|
|
||||||
@@ -7431,6 +7428,7 @@ static void intel_init_display(struct drm_device *dev)
|
|||||||
"Disable CxSR\n");
|
"Disable CxSR\n");
|
||||||
dev_priv->display.update_wm = NULL;
|
dev_priv->display.update_wm = NULL;
|
||||||
}
|
}
|
||||||
|
dev_priv->display.fdi_link_train = ironlake_fdi_link_train;
|
||||||
} else if (IS_GEN6(dev)) {
|
} else if (IS_GEN6(dev)) {
|
||||||
if (SNB_READ_WM0_LATENCY()) {
|
if (SNB_READ_WM0_LATENCY()) {
|
||||||
dev_priv->display.update_wm = sandybridge_update_wm;
|
dev_priv->display.update_wm = sandybridge_update_wm;
|
||||||
@@ -7439,6 +7437,7 @@ static void intel_init_display(struct drm_device *dev)
|
|||||||
"Disable CxSR\n");
|
"Disable CxSR\n");
|
||||||
dev_priv->display.update_wm = NULL;
|
dev_priv->display.update_wm = NULL;
|
||||||
}
|
}
|
||||||
|
dev_priv->display.fdi_link_train = gen6_fdi_link_train;
|
||||||
} else
|
} else
|
||||||
dev_priv->display.update_wm = NULL;
|
dev_priv->display.update_wm = NULL;
|
||||||
} else if (IS_PINEVIEW(dev)) {
|
} else if (IS_PINEVIEW(dev)) {
|
||||||
|
Reference in New Issue
Block a user