• Ville Syrjälä's avatar
    drm/i915: Don't call intel_get_hpd_pins() when there's no hotplug interrupt · 58f2cf24
    Ville Syrjälä authored
    On GMCH plaforms we are now getting the following spew on aux
    interrupts:
    [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000
    [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000
    [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000
    [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000
    [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000
    [drm:intel_dp_aux_ch] dp_aux_ch timeout status 0x71450064
    
    Prevent it by not calling intel_get_hpd_pins() unless one of the HPD
    interrupt bits are actually set.
    
    I already fixed similar annoyance once with
    4bca26d0 drm/i915: Use HOTPLUG_INT_STATUS_G4X on VLV/CHV
    
    but another source for it got added in
    fd63e2a9 drm/i915: combine i9xx_get_hpd_pins and pch_get_hpd_pins
    
    due to pch_get_hpd_pins() being chosen over i9xx_get_hpd_pins() to
    serve as the new unified piece of code. pch_get_hpd_pins() had the debug
    print, and i9xx_get_hpd_pins() didn't.
    
    Cc: Imre Deak <imre.deak@intel.com>
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    58f2cf24
i915_irq.c 124 KB