On Wed, 15 Oct 2014, Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > On Wed, Oct 15, 2014 at 10:51:54AM +0300, Jani Nikula wrote: >> On Wed, 15 Oct 2014, Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> wrote: >> > 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@xxxxxxxxxx> >> >> > 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@xxxxxxxxx> >> >> > --- >> >> > 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. >> >> Sorry, we agreed on IRC that the ifs were okay as-is, but we're still >> missing review. > > Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Although after checking the spec it does look like HAS_GMCH_DISPLAY > might be a bit more future proof. Pushed to drm-intel-next-fixes, thanks for the review. BR, Jani. -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx