[PATCH v3 4/8] drm/panthor: Add support for alloc-on-fault buffers
Boris Brezillon
boris.brezillon at collabora.com
Fri Apr 4 12:17:20 UTC 2025
On Fri, 4 Apr 2025 11:26:30 +0200
Boris Brezillon <boris.brezillon at collabora.com> wrote:
> diff --git a/include/uapi/drm/panthor_drm.h b/include/uapi/drm/panthor_drm.h
> index 97e2c4510e69..8071f1c438e2 100644
> --- a/include/uapi/drm/panthor_drm.h
> +++ b/include/uapi/drm/panthor_drm.h
> @@ -615,6 +615,16 @@ struct drm_panthor_vm_get_state {
> enum drm_panthor_bo_flags {
> /** @DRM_PANTHOR_BO_NO_MMAP: The buffer object will never be CPU-mapped in userspace. */
> DRM_PANTHOR_BO_NO_MMAP = (1 << 0),
> +
> + /**
> + * @DRM_PANTHOR_BO_ALLOC_ON_FAULT: The buffer sections will be allocated on-demand.
> + *
> + * When alloc-on-faut is used, the user should expect job failures, because the
> + * allocation happens in a path where waiting is not allowed, meaning the allocation
> + * can fail and there's nothing the kernel will do to mitigate that. The group will
> + * be unusable after such a failure.
> + */
> + DRM_PANTHOR_BO_ALLOC_ON_FAULT = (1 << 1),
I forgot to increment the driver version to reflect those uAPI changes.
Will fix that in v2.
> };
>
> /**
> @@ -649,8 +659,13 @@ struct drm_panthor_bo_create {
> */
> __u32 handle;
>
> - /** @pad: MBZ. */
> - __u32 pad;
> + /**
> + * @alloc_on_fault_granularity: Granularity of the alloc-on-fault behavior.
> + *
> + * Must be zero when DRM_PANTHOR_BO_ALLOC_ON_FAULT is not set.
> + * Must be a power-of-two, at least a page size, and less or equal to @size.
> + */
> + __u32 alloc_on_faut_granularity;
> };
>
> /**
More information about the dri-devel
mailing list