On Thu, Oct 02, 2014 at 11:16:32AM +0300, Jani Nikula wrote:
> Fix short vs. long hpd detection for non-g4x and non-pch split
> platforms.
> 
> Broken since introduction in
> commit 13cf550448b58abf8f44f5d6a560f2d20871c965
> Author: Dave Airlie <airl...@redhat.com>
> Date:   Wed Jun 18 11:29:35 2014 +1000
> 
>     drm/i915: rework digital port IRQ handling (v2)
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83175
> Signed-off-by: Jani Nikula <jani.nik...@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_irq.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 72cb9397ecc5..3ff6f1bb594a 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -1708,7 +1708,7 @@ static irqreturn_t gen8_gt_irq_handler(struct 
> drm_device *dev,
>  #define HPD_STORM_DETECT_PERIOD 1000
>  #define HPD_STORM_THRESHOLD 5
>  
> -static int ilk_port_to_hotplug_shift(enum port port)
> +static int pch_port_to_hotplug_shift(enum port port)
>  {
>       switch (port) {
>       case PORT_A:
> @@ -1724,7 +1724,7 @@ static int ilk_port_to_hotplug_shift(enum port port)
>       }
>  }
>  
> -static int g4x_port_to_hotplug_shift(enum port port)
> +static int i915_port_to_hotplug_shift(enum port port)
>  {
>       switch (port) {
>       case PORT_A:
> @@ -1782,12 +1782,12 @@ static inline void intel_hpd_irq_handler(struct 
> drm_device *dev,
>               if (port && dev_priv->hpd_irq_port[port]) {
>                       bool long_hpd;
>  
> -                     if (IS_G4X(dev)) {
> -                             dig_shift = g4x_port_to_hotplug_shift(port);
> -                             long_hpd = (hotplug_trigger >> dig_shift) & 
> PORTB_HOTPLUG_LONG_DETECT;
> -                     } else {
> -                             dig_shift = ilk_port_to_hotplug_shift(port);
> +                     if (HAS_PCH_SPLIT(dev)) {
> +                             dig_shift = pch_port_to_hotplug_shift(port);
>                               long_hpd = (dig_hotplug_reg >> dig_shift) & 
> PORTB_HOTPLUG_LONG_DETECT;

Using the new HAS_GMCH_DISPLAY will probably survive longer (i.e. skl).
-Daniel

> +                     } else {
> +                             dig_shift = i915_port_to_hotplug_shift(port);
> +                             long_hpd = (hotplug_trigger >> dig_shift) & 
> PORTB_HOTPLUG_LONG_DETECT;
>                       }
>  
>                       DRM_DEBUG_DRIVER("digital hpd port %c - %s\n",
> -- 
> 1.9.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to