On Tue, Feb 09, 2021 at 02:46:22PM +0100, Thomas Zimmermann wrote: > (was: drm/ast: Move cursor vmap calls out of commit tail) > > Ast has vmap calls in its cursor's atomic_update function. This is not > supported as vmap might aquire the dma reservation lock. While at it, > cleanup the whole cursor code: the patchset removes all possible runtime > errors from the atomic_update function and reduces the overhead from > vmap calls on the HW cursor BOs to a minimum. > > Patches 1 to 3 update the cursor code and prepare before the refactoring. > > Patch 4 and 5 inline the cursor update logic into the rsp cursor-plane > functions. This is mostly about moving code around. > > Patches 6 to 9 add a dedicated cursor plane that maintains the two BOs > for HW cursors. The HW cursor BOs are permanently pinned and vmapped > while the cursor plane is initialized. Thus removing the related vmap > operations from atomic_update. > > Finally patch 10 converts ast cursors to struct drm_shadow_plane_state. > BOs with cursor image data from userspace are vmapped in prepare_fb and > vunampped in cleanup_fb. The actual update of the cursor image is being > moved from prepare_fb to atomic_update. > > With the patchset applied, all cursor preparation is performed before > the commit-tail functions; while the actual update is performed within. > > Tested by running X11 and Weston on ast hardware. > > v2: > * convert to drm_shadow_plane_state helpers Looks all sane to me. Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel