aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2011-04-28 17:27:04 -0400
committerKeith Packard <keithp@keithp.com>2011-05-13 20:02:19 -0400
commit674cf967614f31826f45d30c8f8f8e050cc3eef2 (patch)
treefbec4f1f783922c2bda98e87935a311eaf8edbf8
parent8eb572942ca02890f590d9251233038e27dd3842 (diff)
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>
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h2
-rw-r--r--drivers/gpu/drm/i915/intel_display.c7
2 files changed, 4 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index e9d824326a03..4dbf4dfafb59 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -208,7 +208,7 @@ struct drm_i915_display_funcs {
208 struct drm_display_mode *adjusted_mode, 208 struct drm_display_mode *adjusted_mode,
209 int x, int y, 209 int x, int y,
210 struct drm_framebuffer *old_fb); 210 struct drm_framebuffer *old_fb);
211 211 void (*fdi_link_train)(struct drm_crtc *crtc);
212 /* clock updates for mode set */ 212 /* clock updates for mode set */
213 /* cursor updates */ 213 /* cursor updates */
214 /* render clock increase/decrease */ 214 /* render clock increase/decrease */
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 784e52c6e198..ba618d509dee 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2469,10 +2469,7 @@ static void ironlake_pch_enable(struct drm_crtc *crtc)
2469 u32 reg, temp; 2469 u32 reg, temp;
2470 2470
2471 /* For PCH output, training FDI link */ 2471 /* For PCH output, training FDI link */
2472 if (IS_GEN6(dev)) 2472 dev_priv->display.fdi_link_train(crtc);
2473 gen6_fdi_link_train(crtc);
2474 else
2475 ironlake_fdi_link_train(crtc);
2476 2473
2477 intel_enable_pch_pll(dev_priv, pipe); 2474 intel_enable_pch_pll(dev_priv, pipe);
2478 2475
@@ -7431,6 +7428,7 @@ static void intel_init_display(struct drm_device *dev)
7431 "Disable CxSR\n"); 7428 "Disable CxSR\n");
7432 dev_priv->display.update_wm = NULL; 7429 dev_priv->display.update_wm = NULL;
7433 } 7430 }
7431 dev_priv->display.fdi_link_train = ironlake_fdi_link_train;
7434 } else if (IS_GEN6(dev)) { 7432 } else if (IS_GEN6(dev)) {
7435 if (SNB_READ_WM0_LATENCY()) { 7433 if (SNB_READ_WM0_LATENCY()) {
7436 dev_priv->display.update_wm = sandybridge_update_wm; 7434 dev_priv->display.update_wm = sandybridge_update_wm;
@@ -7439,6 +7437,7 @@ static void intel_init_display(struct drm_device *dev)
7439 "Disable CxSR\n"); 7437 "Disable CxSR\n");
7440 dev_priv->display.update_wm = NULL; 7438 dev_priv->display.update_wm = NULL;
7441 } 7439 }
7440 dev_priv->display.fdi_link_train = gen6_fdi_link_train;
7442 } else 7441 } else
7443 dev_priv->display.update_wm = NULL; 7442 dev_priv->display.update_wm = NULL;
7444 } else if (IS_PINEVIEW(dev)) { 7443 } else if (IS_PINEVIEW(dev)) {