drm/i915: rework digital port IRQ handling (v2)
authorDave Airlie <airlied@redhat.com>
Wed, 18 Jun 2014 01:29:35 +0000 (11:29 +1000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 7 Jul 2014 13:08:51 +0000 (15:08 +0200)
commit13cf550448b58abf8f44f5d6a560f2d20871c965
tree6681d87ef2510b812c30968d9cc4473feba05884
parent564ed191f5d816d24501664296991ec70327e2bc
drm/i915: rework digital port IRQ handling (v2)

The digital ports from Ironlake and up have the ability to distinguish
between long and short HPD pulses. Displayport 1.1 only uses the short
form to request link retraining usually, so we haven't really needed
support for it until now.

However with DP 1.2 MST we need to handle the short irqs on their
own outside the modesetting locking the long hpd's involve. This
patch adds the framework to distinguish between short/long to the
current code base, to lay the basis for future DP 1.2 MST work.

This should mean we get better bisectability in case of regression
due to the new irq handling.

v2: add GM45 support (untested, due to lack of hw)

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Todd Previte <tprevite@gmail.com>
[danvet: Fix conflicts in i915_irq.c with Oscar Mateo's irq handling
race fixes and a trivial one in intel_drv.h with the psr code.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/intel_ddi.c
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_drv.h