Functions in the atomic commit tail are not allowed to acquire the
dmabuf's reservation lock. So we cannot legally call the GEM object's
vmap functionality in atomic_update.

But, much better, we can use drm_shadow_plane_state to do all the mapping
for us. Patch 1 exports the helpers for shadow-buffered planes from the
DRM KMS helper library and adds documentation on how to use them. Patch 2
replaces the vmap code in vbox' cursor update code with a the helpers for
shadow-buffered planes.

v3:
        * documentation fixes (Daniel)
v2:
        * rebuilt with shadow-buffered planes

Thomas Zimmermann (2):
  drm/gem: Export helpers for shadow-buffered planes
  drm/vboxvideo: Implement cursor plane with struct
    drm_shadow_plane_state

 drivers/gpu/drm/drm_gem_atomic_helper.c | 148 +++++++++++++++++++++++-
 drivers/gpu/drm/vboxvideo/vbox_mode.c   |  28 ++---
 include/drm/drm_gem_atomic_helper.h     |  32 +++++
 3 files changed, 181 insertions(+), 27 deletions(-)

--
2.30.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to