• Daniel Vetter's avatar
    drm/i915: queue work outside spinlock in hsw_pm_irq_handler · 2adbee62
    Daniel Vetter authored
    And kill the comment about it. Queueing work is a barrier type event,
    no amount of locking will help in ordering things (as long as we queue
    the work after having updated all relevant data structures). Also, the
    queue_work works itself as a sufficient memory barrier.
    
    Again on the surface this is just a tiny micro-optimization to reduce
    the hold-time of dev_priv->irq_lock. But the better reason is that it
    reduces superficial locking and so makes it clearer what we actually
    need for correctness.
    Reviewed-by: default avatarBen Widawsky <ben@bwidawsk.net>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    2adbee62
i915_irq.c 105 KB