diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2011-04-28 17:27:04 -0400 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-05-13 20:02:19 -0400 |
commit | 674cf967614f31826f45d30c8f8f8e050cc3eef2 (patch) | |
tree | fbec4f1f783922c2bda98e87935a311eaf8edbf8 | |
parent | 8eb572942ca02890f590d9251233038e27dd3842 (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.h | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 7 |
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)) { |