linux/include/uapi/drm
Boris Brezillon 0f25e493a2 drm/panthor: Add uAPI
Panthor follows the lead of other recently submitted drivers with
ioctls allowing us to support modern Vulkan features, like sparse memory
binding:

- Pretty standard GEM management ioctls (BO_CREATE and BO_MMAP_OFFSET),
  with the 'exclusive-VM' bit to speed-up BO reservation on job submission
- VM management ioctls (VM_CREATE, VM_DESTROY and VM_BIND). The VM_BIND
  ioctl is loosely based on the Xe model, and can handle both
  asynchronous and synchronous requests
- GPU execution context creation/destruction, tiler heap context creation
  and job submission. Those ioctls reflect how the hardware/scheduler
  works and are thus driver specific.

We also have a way to expose IO regions, such that the usermode driver
can directly access specific/well-isolate registers, like the
LATEST_FLUSH register used to implement cache-flush reduction.

This uAPI intentionally keeps usermode queues out of the scope, which
explains why doorbell registers and command stream ring-buffers are not
directly exposed to userspace.

v6:
- Add Maxime's and Heiko's acks

v5:
- Fix typo
- Add Liviu's R-b

v4:
- Add a VM_GET_STATE ioctl
- Fix doc
- Expose the CORE_FEATURES register so we can deal with variants in the
  UMD
- Add Steve's R-b

v3:
- Add the concept of sync-only VM operation
- Fix support for 32-bit userspace
- Rework drm_panthor_vm_create to pass the user VA size instead of
  the kernel VA size (suggested by Robin Murphy)
- Typo fixes
- Explicitly cast enums with top bit set to avoid compiler warnings in
  -pedantic mode.
- Drop property core_group_count as it can be easily calculated by the
  number of bits set in l2_present.

Co-developed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Maxime Ripard <mripard@kernel.org>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20240229162230.2634044-2-boris.brezillon@collabora.com
2024-03-01 10:03:59 +01:00
..
amdgpu_drm.h drm/amdgpu: add new INFO IOCTL query for input power 2024-01-15 18:35:36 -05:00
armada_drm.h
drm_fourcc.h drm/fourcc: fix spelling/typos 2023-12-13 16:19:00 +01:00
drm_mode.h amd-drm-next-6.8-2023-12-15: 2023-12-20 05:59:41 +10:00
drm_sarea.h
drm.h drm/syncobj: Add deadline support for syncobj waits 2023-12-02 01:17:45 +02:00
etnaviv_drm.h drm/etnaviv: provide more ID values via GET_PARAM ioctl. 2021-01-22 12:33:57 +01:00
exynos_drm.h drm/exynos: Rename Exynos to lowercase 2020-01-21 09:09:42 +09:00
habanalabs_accel.h accel/habanalabs/gaudi2: add signed dev info uAPI 2023-12-19 11:09:43 +02:00
i915_drm.h drm/i915: Add GuC submission interface version query 2024-02-14 07:22:50 -08:00
ivpu_accel.h accel/ivpu: Add job status for jobs aborted by the driver 2024-02-06 13:37:34 +01:00
lima_drm.h drm/lima: support heap buffer creation 2020-01-27 22:01:09 +08:00
msm_drm.h drm/msm: Add param for the highest bank bit 2023-12-10 10:19:18 -08:00
nouveau_drm.h Linux 6.8-rc6 2024-02-26 11:41:07 +01:00
omap_drm.h Revert "drm/omap: add OMAP_BO flags to affect buffer allocation" 2019-10-23 10:41:41 -04:00
panfrost_drm.h drm/panfrost: Remove type name from internal struct again 2022-11-07 15:35:43 +00:00
panthor_drm.h drm/panthor: Add uAPI 2024-03-01 10:03:59 +01:00
pvr_drm.h drm/imagination: Numerous documentation fixes. 2023-11-28 18:56:03 +01:00
qaic_accel.h accel/qaic: Deprecate ->size field from attach slice IOCTL structure 2023-12-15 10:50:31 -07:00
qxl_drm.h
radeon_drm.h
tegra_drm.h drm/tegra: Add new UAPI to header 2021-08-10 14:48:17 +02:00
v3d_drm.h drm/v3d: Create a CPU job extension for the copy performance query job 2023-12-01 09:47:36 -03:00
vc4_drm.h
vgem_drm.h
virtgpu_drm.h drm/uapi: add explicit virtgpu context debug name 2023-11-11 21:31:00 +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: Add uapi for dumpable bos 2024-02-21 20:08:21 +01:00