• Daniel Vetter's avatar
    Revert "drm/i915: Switch planes from transitional helpers to full atomic helpers" · ff42e093
    Daniel Vetter authored
    This reverts commit 3f678c96.
    
    We've been a bit too optimistic with this one here :(
    
    The trouble is that internally we're still using these plane
    update/disable hooks. Which was totally ok pre-atomic since the drm
    core did all the book-keeping updating and these just mostly updated
    hw state. But with atomic there's lots more going on, and it causes
    heaps of trouble with the load detect code.
    
    This one specifically cause a deadlock since both the load detect code
    and the nested plane atomic helper functions tried to grab the same
    locks. It only blows up because of the evil tricks though we play with
    the implicit ww acquire context.
    
    Applying this revert unearths the NULL deref on already freed
    framebuffer objects reported as a regression in 4.0 by various people.
    
    Fixing this will be fairly invasive, hence revert even for the
    4.1-next queue.
    
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Paul Bolle <pebolle@tiscali.nl>
    Acked-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
    ff42e093
intel_display.c 391 KB