[PATCH v4 01/14] drm/panthor: Add uAPI
Liviu Dudau
Liviu.Dudau at arm.com
Thu Feb 8 14:29:32 UTC 2024
Hi Boris,
Minor spelling issues to raise in the documentation text uAPI:
On Mon, Jan 22, 2024 at 05:30:32PM +0100, Boris Brezillon wrote:
> 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.
>
> 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
>
[snip]
> +
> +/**
> + * enum drm_panthor_vm_state - VM states.
> + */
> +enum drm_panthor_vm_state {
> + /**
> + * @DRM_PANTHOR_VM_STATE_USABLE: VM is usable.
> + *
> + * New VM operations will be accepted on this VM.
> + */
> + DRM_PANTHOR_VM_STATE_USABLE,
> +
> + /**
> + * @DRM_PANTHOR_VM_STATE_UNSABLE: VM is unsable.
s/UNSABLE/UNUSABLE/ and s/unsable/unusable/
> + *
> + * Something put the VM in an unusable state (like an asynchronous
> + * VM_BIND request failing for any reason).
> + *
> + * Once the VM is in this state, all new MAP operations will be
> + * rejected, and any GPU job targeting this VM will fail.
> + * UNMAP operations are still accepted.
> + *
> + * The only way to recover from an unusable VM is to create a new
> + * VM, and destroy the old one.
> + */
> + DRM_PANTHOR_VM_STATE_UNUSABLE,
> +};
> +
[snip]
The rest of the patch looks good to me!
Reviewed-by: Liviu Dudau <liviu.dudau at arm.com>
Best regards,
Liviu
--
====================
| I would like to |
| fix the world, |
| but they're not |
| giving me the |
\ source code! /
---------------
¯\_(ツ)_/¯
More information about the dri-devel
mailing list