summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915
diff options
context:
space:
mode:
authorEgbert Eich <eich@suse.de>2013-04-16 13:36:56 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-04-18 09:43:29 +0200
commit995e6b3dcfa25e5837f103ae6e732fbca1790dd9 (patch)
treef38ed7ecb7e9a1c9be4fed9f4d1dba268ad72261 /drivers/gpu/drm/i915
parentdrm/i915: (re)init HPD interrupt storm statistics (diff)
downloadlinux-995e6b3dcfa25e5837f103ae6e732fbca1790dd9.tar.xz
linux-995e6b3dcfa25e5837f103ae6e732fbca1790dd9.zip
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>
Diffstat (limited to 'drivers/gpu/drm/i915')
-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)
u32 hotplug;
if (HAS_PCH_IBX(dev)) {
+ mask &= ~SDE_HOTPLUG_MASK;
list_for_each_entry(intel_encoder, &mode_config->encoder_list, base.head)
mask |= hpd_ibx[intel_encoder->hpd_pin];
} else {
+ mask &= ~SDE_HOTPLUG_MASK_CPT;
list_for_each_entry(intel_encoder, &mode_config->encoder_list, base.head)
mask |= hpd_cpt[intel_encoder->hpd_pin];
}