• Imre Deak's avatar
    drm/i915: vlv: handle only enabled pipestat interrupt events · 91d181dd
    Imre Deak authored
    Atm we call the handlers for pending pipestat interrupt events even if
    they aren't explicitly enabled by i915_enable_pipestat(). This isn't an
    issue for events other than the vblank start event, since those are
    always enabled anyways. Otoh, we enable the vblank start event
    on-demand, so we'll end up calling the vblank handler at times when they
    are disabled.
    
    I haven't checked if this causes any real problem, but for consistency
    and to remove some overhead we should still fix this by clearing /
    handling only the enabled interrupt events. Also this is a dependency
    for the upcoming VLV power domain patchset where we need to disable all
    the pipestat interrupts whenever the display power well is off.
    
    v2:
    - inline the status->enable mask mapping (Ville)
    - don't check for invalid PSR bit on platforms other than VLV (Ville)
    Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    [danvet: Frob conflict due to different merge order.]
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    91d181dd
i915_irq.c 116 KB