drm/client: Pin vmap'ed GEM buffers
authorThomas Zimmermann <tzimmermann@suse.de>
Tue, 27 Feb 2024 10:14:58 +0000 (11:14 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Mon, 11 Mar 2024 12:33:50 +0000 (13:33 +0100)
commit1709474ba04179bee919f920c4da877aa1552b41
treed2dd5bba1c44ad413d72dd11306c8a8ff619ebdb
parentb4b0193e83cb987143583e2b4011b35331f429bd
drm/client: Pin vmap'ed GEM buffers

The function drm_client_buffer_vmap() establishes a long-term mapping
of the client's buffer object into the kernel address space. Make sure
that buffer does not move by pinning it to its current location. Same
for vunmap with unpin.

The only caller of drm_client_buffer_vmap() is fbdev-dma, which uses
gem-dma. As DMA-backed GEM buffers do not move, this change is for
correctness with little impact in practice.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> # virtio-gpu
Acked-by: Zack Rusin <zack.rusin@broadcom.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240227113853.8464-12-tzimmermann@suse.de
drivers/gpu/drm/drm_client.c