On Thu, Apr 07, 2011 at 02:32:58PM -0700, Jesse Barnes wrote:
> 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 <jbar...@virtuousgeek.org>
> ---
>  drivers/gpu/drm/i915/i915_drv.h      |    1 +
>  drivers/gpu/drm/i915/intel_display.c |    7 +++----
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 5004724..b4116ae 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -203,6 +203,7 @@ struct drm_i915_display_funcs {
>       int (*get_display_clock_speed)(struct drm_device *dev);
>       int (*get_fifo_size)(struct drm_device *dev, int plane);
>       void (*update_wm)(struct drm_device *dev);
> +     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 432fc04..9055eff 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -2757,10 +2757,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);
>  
> @@ -7270,6 +7267,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;
> @@ -7278,6 +7276,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)) {

I prefer when the function pointer is named similarly to the function.
Makes it easier to read/find code.

(*fdi_link_train)(struct drm_crtc *crtc);
OR
(*link_train)(struct drm_crtc *crtc);
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to