aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEgbert Eich <eich@suse.de>2013-04-16 07:36:56 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-04-18 03:43:29 -0400
commit995e6b3dcfa25e5837f103ae6e732fbca1790dd9 (patch)
treef38ed7ecb7e9a1c9be4fed9f4d1dba268ad72261
parent821450c6938d9228d8569d54d5c369985b1cc8dd (diff)
drm/i915: Mask out the HPD irq bits before setting them individually.
To disable previously enabled HPD IRQs we need to reset them and set the enabled ones individually. Signed-off-by: Egbert Eich <eich@suse.de> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/i915_irq.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 2b4967014dc6..b59df6e989cb 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2128,9 +2128,11 @@ static void ibx_hpd_irq_setup(struct drm_device *dev)
2128 u32 hotplug; 2128 u32 hotplug;
2129 2129
2130 if (HAS_PCH_IBX(dev)) { 2130 if (HAS_PCH_IBX(dev)) {
2131 mask &= ~SDE_HOTPLUG_MASK;
2131 list_for_each_entry(intel_encoder, &mode_config->encoder_list, base.head) 2132 list_for_each_entry(intel_encoder, &mode_config->encoder_list, base.head)
2132 mask |= hpd_ibx[intel_encoder->hpd_pin]; 2133 mask |= hpd_ibx[intel_encoder->hpd_pin];
2133 } else { 2134 } else {
2135 mask &= ~SDE_HOTPLUG_MASK_CPT;
2134 list_for_each_entry(intel_encoder, &mode_config->encoder_list, base.head) 2136 list_for_each_entry(intel_encoder, &mode_config->encoder_list, base.head)
2135 mask |= hpd_cpt[intel_encoder->hpd_pin]; 2137 mask |= hpd_cpt[intel_encoder->hpd_pin];
2136 } 2138 }