drm/i915: Mask out the HPD irq bits before setting them individually.
authorEgbert Eich <eich@suse.de>
Tue, 16 Apr 2013 11:36:56 +0000 (13:36 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 18 Apr 2013 07:43:29 +0000 (09:43 +0200)
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>
drivers/gpu/drm/i915/i915_irq.c

index 2b4967014dc65e7b7854bcbe7f3d0644b2765c90..b59df6e989cbcdcfa157bc8138d146203091023c 100644 (file)
@@ -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];
        }