• Paulo Zanoni's avatar
    drm/i915: add the FBC mutex · 25ad93fd
    Paulo Zanoni authored
    Make sure we're not going to have weird races in really weird cases
    where a lot of different CRTCs are doing rendering and modesets at the
    same time.
    
    With this change and the stolen_lock from the previous patch, we can
    start removing the struct_mutex locking we have around FBC in the next
    patches.
    
    v2:
     - Rebase (6 months later)
     - Also lock debugfs and stolen.
    v3:
     - Don't lock a single value read (Chris).
     - Replace lockdep assertions with WARNs (Daniel).
     - Improve commit message.
     - Don't forget intel_pre_plane_update() locking.
    v4:
     - Don't remove struct_mutex at intel_pre_plane_update() (Chris).
     - Add comment regarding locking dependencies (Chris).
     - Rebase after the stolen code rework.
     - Rebase again after drm-intel-nightly changes.
    v5:
     - Rebase after the new stolen_lock patch.
    
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (v4)
    Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    25ad93fd
intel_fbc.c 26.5 KB