linux/include/uapi/drm
Adrián Larumbe 12cf826bf1 drm/panthor: Support sparse mappings
Allow UM to bind sparsely populated memory regions by cyclically mapping
virtual ranges over a kernel-allocated dummy BO. This alternative is
preferable to the old method of handling sparseness in the UMD, because it
relied on the creation of a buffer object to the same end, despite the fact
Vulkan sparse resources don't need to be backed by a driver BO.

The choice of backing sparsely-bound regions with a Panthor BO was made so
as to profit from the existing shrinker reclaim code. That way no special
treatment must be given to the dummy sparse BOs when reclaiming memory, as
would be the case if we had chosen a raw kernel page implementation.

A new dummy BO is allocated per open file context, because even though the
Vulkan spec mandates that writes into sparsely bound regions must be
discarded, our implementation is still a workaround over the fact Mali CSF
GPUs cannot support this behaviour on the hardware level, so writes still
make it into the backing BO. If we had a global one, then it could be a
venue for information leaks between file contexts, which should never
happen in DRM.

As a side note, care was put to adjust dummy BO offsets for sparse mappings
so that all addresses in the new VA are mapped aligned against it.

Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Link: https://patch.msgid.link/20260522185206.2798288-6-adrian.larumbe@collabora.com
Signed-off-by: Steven Price <steven.price@arm.com>
2026-06-05 10:59:07 +01:00
..
amdgpu_drm.h drm/amdgpu: update type for num_syncobj_handles in drm_amdgpu_userq_wait 2026-03-02 16:42:01 -05:00
amdxdna_accel.h accel/amdxdna: Add command doorbell and wait support 2026-05-07 14:07:34 -07:00
armada_drm.h
asahi_drm.h drm: Add UAPI for the Asahi driver 2025-04-08 17:15:57 -04:00
drm_fourcc.h drm/fourcc: Fix descriptions of 32b float formats 2026-05-10 18:49:25 +02:00
drm_mode.h drm: uapi: Use SPDX in DRM core uAPI headers 2026-05-04 17:14:18 +03:00
drm_ras.h drm/drm_ras: Add clear-error-counter netlink command to drm_ras 2026-04-24 08:43:42 -04:00
drm_sarea.h drm: uapi: Use SPDX in DRM core uAPI headers 2026-05-04 17:14:18 +03:00
drm.h drm: uapi: Use SPDX in DRM core uAPI headers 2026-05-04 17:14:18 +03:00
ethosu_accel.h accel: ethosu: Add performance counter support 2026-06-01 19:44:24 +02:00
etnaviv_drm.h Revert "drm/etnaviv: Expose a few more chipspecs to userspace" 2024-04-25 16:56:20 +02:00
exynos_drm.h
habanalabs_accel.h accel/habanalabs/gaudi2: add signed dev info uAPI 2023-12-19 11:09:43 +02:00
i915_drm.h drm/i915: Support replaying GPU hangs with captured context image 2024-05-16 07:37:05 +00:00
ivpu_accel.h accel/ivpu: Add support for userptr buffer objects 2025-10-30 08:52:51 +01:00
lima_drm.h
msm_drm.h drm/msm/adreno: Expose a PARAM to check AQE support 2026-03-31 13:47:30 -07:00
nouveau_drm.h drm/nouveau: Add DRM_IOCTL_NOUVEAU_GET_ZCULL_INFO 2026-02-24 15:04:55 +01:00
nova_drm.h drm: nova-drm: add initial driver skeleton 2025-05-12 20:48:15 +02:00
omap_drm.h
panfrost_drm.h drm/panfrost: Add flag to map GEM object Write-Back Cacheable 2025-12-09 13:09:37 +01:00
panthor_drm.h drm/panthor: Support sparse mappings 2026-06-05 10:59:07 +01:00
pvr_drm.h drm/imagination: Numerous documentation fixes. 2023-11-28 18:56:03 +01:00
qaic_accel.h accel/qaic: Fix typo for struct qaic_manage_trans_passthrough 2024-12-13 08:55:09 -07:00
qxl_drm.h
radeon_drm.h
rocket_accel.h accel/rocket: rocket_accel.h: fix kernel-doc warnings 2026-01-10 17:49:15 +01:00
tegra_drm.h drm/tegra: tegra_drm.h: fix all uapi kernel-doc warnings 2026-05-28 17:19:29 +02:00
v3d_drm.h drm/v3d: Add parameter to retrieve the number of GPU resets per-fd 2025-07-17 11:17:32 -03:00
vc4_drm.h
vgem_drm.h
virtgpu_drm.h drm/virtio: add VIRTGPU_PARAM_BLOB_ALIGNMENT to params 2026-05-20 17:59:21 +03:00
vmwgfx_drm.h drm/vmwgfx: Add SPDX header to vmwgfx_drm.h 2024-01-30 14:18:19 -05:00
xe_drm.h drm/xe/uapi: Fix doc formatting and completeness in xe_drm.h 2026-04-08 09:22:26 -07:00