[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