linux/drivers/gpu
Rob Clark 111fdd2198 drm/msm: drm_gpuvm conversion
Now that we've realigned deletion and allocation, switch over to using
drm_gpuvm/drm_gpuva.  This allows us to support multiple VMAs per BO per
VM, to allow mapping different parts of a single BO at different virtual
addresses, which is a key requirement for sparse/VM_BIND.

This prepares us for using drm_gpuvm to translate a batch of MAP/
MAP_NULL/UNMAP operations from userspace into a sequence of map/remap/
unmap steps for updating the page tables.

Since, unlike our prior vm/vma setup, with drm_gpuvm the vm_bo holds a
reference to the GEM object.  To prevent reference loops causing us to
leak all GEM objects, we implicitly tear down the mapping when the GEM
handle is close or when the obj is unpinned.  Which means the submit
needs to also hold a reference to the vm_bo, to prevent the VMA from
being torn down while the submit is in-flight.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
Tested-by: Antonino Maniscalco <antomani103@gmail.com>
Reviewed-by: Antonino Maniscalco <antomani103@gmail.com>
Patchwork: https://patchwork.freedesktop.org/patch/661479/
2025-07-04 17:48:35 -07:00
..
drm drm/msm: drm_gpuvm conversion 2025-07-04 17:48:35 -07:00
host1x gpu: host1x: Use for_each_available_child_of_node_scoped() 2025-05-07 18:09:30 +02:00
ipu-v3 gpu: ipu-v3: Switch to irq_find_mapping() 2025-05-16 21:06:12 +02:00
nova-core drm for 6.16-rc1 2025-05-28 09:46:39 -07:00
trace
vga
Makefile