[Intel-gfx] [PATCH] drm/i915: fix short vs. long hpd detection
Ville Syrjälä
ville.syrjala at linux.intel.com
Wed Oct 15 09:43:54 CEST 2014
On Thu, Oct 02, 2014 at 10:26:58AM +0200, Daniel Vetter wrote:
> 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 <airlied at 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.nikula at 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).
Did we have a concenses on this? I want hpd on my BSW.
> -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 at 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
More information about the Intel-gfx
mailing list