• Daniel Vetter's avatar
    drm: refcounting for sprite framebuffers · 6c2a7532
    Daniel Vetter authored
    Now plane->fb holds a reference onto it's framebuffer. Nothing too
    fancy going on here:
    - Extract __drm_framebuffer_unreference to be called when we know
      we're not dropping the last reference, e.g. useful in the fb cleanup
      code.
    - Reduce the locked sections in the set_plane ioctl to only protect
      plane->fb/plane->crtc and the driver callback (i.e. hw state).
      Everything either doesn't disappear (crtc, plane) or is refcounted
      (fb), and all the data we check is invariant over the respective
      object's lifetimes.
    Reviewed-by: default avatarRob Clark <rob@ti.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    6c2a7532
drm_crtc.c 102 KB