On Thu, Jun 18, 2015 at 01:06:17PM +0300, Jani Nikula wrote: > Make Paulo happier. Cc'ing Paulo next time around would help for him to appreciate this properly ;-) -Daniel > > Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_irq.c | 29 ++++++++++++++++++----------- > 1 file changed, 18 insertions(+), 11 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c > index 2d3b2ccf9ce4..a6fbe6443d63 100644 > --- a/drivers/gpu/drm/i915/i915_irq.c > +++ b/drivers/gpu/drm/i915/i915_irq.c > @@ -1257,8 +1257,10 @@ static bool i9xx_port_hotplug_long_detect(enum port port, u32 val) > > /* Get a bit mask of pins that have triggered, and which ones may be long. */ > static void pch_get_hpd_pins(u32 *pin_mask, u32 *long_mask, > - u32 hotplug_trigger, u32 dig_hotplug_reg, const u32 hpd[HPD_NUM_PINS]) > + u32 hotplug_trigger, u32 dig_hotplug_reg, > + const u32 hpd[HPD_NUM_PINS]) > { > + enum port port; > int i; > > *pin_mask = 0; > @@ -1268,12 +1270,14 @@ static void pch_get_hpd_pins(u32 *pin_mask, u32 *long_mask, > return; > > for_each_hpd_pin(i) { > - if (hpd[i] & hotplug_trigger) { > - *pin_mask |= BIT(i); > + if ((hpd[i] & hotplug_trigger) == 0) > + continue; > > - if (pch_port_hotplug_long_detect(intel_hpd_pin_to_port(i), dig_hotplug_reg)) > - *long_mask |= BIT(i); > - } > + *pin_mask |= BIT(i); > + > + port = intel_hpd_pin_to_port(i); > + if (pch_port_hotplug_long_detect(port, dig_hotplug_reg)) > + *long_mask |= BIT(i); > } > > DRM_DEBUG_DRIVER("hotplug event received, stat 0x%08x, dig 0x%08x, pins 0x%08x\n", > @@ -1285,6 +1289,7 @@ static void pch_get_hpd_pins(u32 *pin_mask, u32 *long_mask, > static void i9xx_get_hpd_pins(u32 *pin_mask, u32 *long_mask, > u32 hotplug_trigger, const u32 hpd[HPD_NUM_PINS]) > { > + enum port port; > int i; > > *pin_mask = 0; > @@ -1294,12 +1299,14 @@ static void i9xx_get_hpd_pins(u32 *pin_mask, u32 *long_mask, > return; > > for_each_hpd_pin(i) { > - if (hpd[i] & hotplug_trigger) { > - *pin_mask |= BIT(i); > + if ((hpd[i] & hotplug_trigger) == 0) > + continue; > > - if (i9xx_port_hotplug_long_detect(intel_hpd_pin_to_port(i), hotplug_trigger)) > - *long_mask |= BIT(i); > - } > + *pin_mask |= BIT(i); > + > + port = intel_hpd_pin_to_port(i); > + if (i9xx_port_hotplug_long_detect(port, hotplug_trigger)) > + *long_mask |= BIT(i); > } > > DRM_DEBUG_DRIVER("hotplug event received, stat 0x%08x, pins 0x%08x\n", > -- > 2.1.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx