aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_drv.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2014-06-17 21:29:35 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-07-07 09:08:51 -0400
commit13cf550448b58abf8f44f5d6a560f2d20871c965 (patch)
tree6681d87ef2510b812c30968d9cc4473feba05884 /drivers/gpu/drm/i915/i915_drv.h
parent564ed191f5d816d24501664296991ec70327e2bc (diff)
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>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 38362863b1dc..b560efc6eb35 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1559,6 +1559,11 @@ struct drm_i915_private {
1559 1559
1560 struct i915_runtime_pm pm; 1560 struct i915_runtime_pm pm;
1561 1561
1562 struct intel_digital_port *hpd_irq_port[I915_MAX_PORTS];
1563 u32 long_hpd_port_mask;
1564 u32 short_hpd_port_mask;
1565 struct work_struct dig_port_work;
1566
1562 /* Old dri1 support infrastructure, beware the dragons ya fools entering 1567 /* Old dri1 support infrastructure, beware the dragons ya fools entering
1563 * here! */ 1568 * here! */
1564 struct i915_dri1_state dri1; 1569 struct i915_dri1_state dri1;