mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 21:51:40 +00:00
0f25e493a2
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 |
||
---|---|---|
.. | ||
amdgpu | ||
bridge | ||
dp-mst | ||
imagination | ||
rfc | ||
xe | ||
afbc.rst | ||
automated_testing.rst | ||
backlight.rst | ||
driver-uapi.rst | ||
drivers.rst | ||
drm-client.rst | ||
drm-internals.rst | ||
drm-kms-helpers.rst | ||
drm-kms.rst | ||
drm-mm.rst | ||
drm-uapi.rst | ||
drm-usage-stats.rst | ||
drm-vm-bind-async.rst | ||
drm-vm-bind-locking.rst | ||
i915.rst | ||
implementation_guidelines.rst | ||
index.rst | ||
introduction.rst | ||
kms-properties.csv | ||
komeda-kms.rst | ||
mcde.rst | ||
meson.rst | ||
msm-crash-dump.rst | ||
panfrost.rst | ||
pl111.rst | ||
tegra.rst | ||
todo.rst | ||
tve200.rst | ||
v3d.rst | ||
vc4.rst | ||
vga-switcheroo.rst | ||
vgaarbiter.rst | ||
vkms.rst | ||
xen-front.rst |