Message ID | 1303861134-8762-2-git-send-email-jbarnes@virtuousgeek.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Apr 26, 2011 at 04:38:39PM -0700, Jesse Barnes wrote: > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index 0296967..c10d7e9 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -209,7 +209,7 @@ struct drm_i915_display_funcs { > struct drm_display_mode *adjusted_mode, > int x, int y, > struct drm_framebuffer *old_fb); > - > + void (*train_fdi)(struct drm_crtc *crtc); > /* clock updates for mode set */ > /* cursor updates */ > /* render clock increase/decrease */ I was hoping for: void (*fdi_link_train)(struct drm_crtc *crtc); Ben
On Wed, 27 Apr 2011 08:58:38 -0700 Ben Widawsky <ben@bwidawsk.net> wrote: > On Tue, Apr 26, 2011 at 04:38:39PM -0700, Jesse Barnes wrote: > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > > index 0296967..c10d7e9 100644 > > --- a/drivers/gpu/drm/i915/i915_drv.h > > +++ b/drivers/gpu/drm/i915/i915_drv.h > > @@ -209,7 +209,7 @@ struct drm_i915_display_funcs { > > struct drm_display_mode *adjusted_mode, > > int x, int y, > > struct drm_framebuffer *old_fb); > > - > > + void (*train_fdi)(struct drm_crtc *crtc); > > /* clock updates for mode set */ > > /* cursor updates */ > > /* render clock increase/decrease */ > > I was hoping for: > void (*fdi_link_train)(struct drm_crtc *crtc); Oh right, I forgot to update this before I sent it out; will fix. Thanks, Jesse
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 0296967..c10d7e9 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -209,7 +209,7 @@ struct drm_i915_display_funcs { struct drm_display_mode *adjusted_mode, int x, int y, struct drm_framebuffer *old_fb); - + void (*train_fdi)(struct drm_crtc *crtc); /* clock updates for mode set */ /* cursor updates */ /* render clock increase/decrease */ diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 62f9e52..6455e0e 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -2465,10 +2465,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.train_fdi(crtc); intel_enable_pch_pll(dev_priv, pipe); @@ -7290,6 +7287,7 @@ static void intel_init_display(struct drm_device *dev) "Disable CxSR\n"); dev_priv->display.update_wm = NULL; } + dev_priv->display.train_fdi = ironlake_fdi_link_train; } else if (IS_GEN6(dev)) { if (SNB_READ_WM0_LATENCY()) { dev_priv->display.update_wm = sandybridge_update_wm; @@ -7298,6 +7296,7 @@ static void intel_init_display(struct drm_device *dev) "Disable CxSR\n"); dev_priv->display.update_wm = NULL; } + dev_priv->display.train_fdi = gen6_fdi_link_train; } else dev_priv->display.update_wm = NULL; } else if (IS_PINEVIEW(dev)) {
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> --- drivers/gpu/drm/i915/i915_drv.h | 2 +- drivers/gpu/drm/i915/intel_display.c | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-)