[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <6ec2b90e-c6e9-444d-926a-68d19f42acba@infradead.org>
Date: Wed, 14 Jan 2026 11:06:34 -0800
From: Randy Dunlap <rdunlap@...radead.org>
To: Tomeu Vizoso <tomeu@...euvizoso.net>, Nishanth Menon <nm@...com>,
"Andrew F. Davis" <afd@...com>, Randolph Sapp <rs@...com>,
Jonathan Humphreys <j-humphreys@...com>, Andrei Aldea <a-aldea@...com>,
Chirag Shilwant <c-shilwant@...com>, Vignesh Raghavendra <vigneshr@...com>,
Tero Kristo <kristo@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
<conor+dt@...nel.org>, Oded Gabbay <ogabbay@...nel.org>,
Jonathan Corbet <corbet@....net>, Sumit Semwal <sumit.semwal@...aro.org>,
Christian König <christian.koenig@....com>,
Robert Nelson <robertcnelson@...il.com>, David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>
Cc: linux-arm-kernel@...ts.infradead.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, dri-devel@...ts.freedesktop.org,
linux-doc@...r.kernel.org, linux-media@...r.kernel.org,
linaro-mm-sig@...ts.linaro.org
Subject: Re: [PATCH v2 4/5] accel/thames: Add IOCTL for job submission
On 1/14/26 12:46 AM, Tomeu Vizoso wrote:
> Using the DRM GPU scheduler infrastructure, with a scheduler for each
> core.
>
> Contexts are created in all cores, and buffers mapped to all of them as
> well, so all cores are ready to execute any job.
>
> The job submission code was initially based on Panfrost.
>
> v2:
> - Add thames_accel.h UAPI header (Robert Nelson).
>
> Signed-off-by: Tomeu Vizoso <tomeu@...euvizoso.net>
> ---
> drivers/accel/thames/Makefile | 1 +
> drivers/accel/thames/thames_core.c | 6 +
> drivers/accel/thames/thames_drv.c | 19 ++
> drivers/accel/thames/thames_job.c | 463 ++++++++++++++++++++++++++++++++++++
> drivers/accel/thames/thames_job.h | 51 ++++
> drivers/accel/thames/thames_rpmsg.c | 52 ++++
> include/uapi/drm/thames_accel.h | 54 +++++
> 7 files changed, 646 insertions(+)
>
> diff --git a/include/uapi/drm/thames_accel.h b/include/uapi/drm/thames_accel.h
> index 0a5a5e5f6637ab474e9effbb6db29c1dd95e56b5..5b35e50826ed95bfcc3709bef33416d2b6d11c70 100644
> --- a/include/uapi/drm/thames_accel.h
> +++ b/include/uapi/drm/thames_accel.h
> @@ -75,6 +78,55 @@ struct drm_thames_bo_mmap_offset {
> __u64 offset;
> };
>
> +/**
> + * struct drm_thames_job - A job to be run on the NPU
> + *
> + * The kernel will schedule the execution of this job taking into account its
> + * dependencies with other jobs. All tasks in the same job will be executed
> + * sequentially on the same core, to benefit from memory residency in SRAM.
> + */
Please make these comments full-fledged kernel-doc comments.
E.g.:
> +struct drm_thames_job {
> + /** Input: BO handle for kernel. */
/** @kernel: input: BO handle for kernel. */
> + __u32 kernel;
> +
> + /** Input: Size in bytes of the compiled kernel. */
> + __u32 kernel_size;
> +
> + /** Input: BO handle for params BO. */
> + __u32 params;
> +
> + /** Input: Size in bytes of the params BO. */
> + __u32 params_size;
> +
> + /** Input: Pointer to a u32 array of the BOs that are read by the job. */
> + __u64 in_bo_handles;
> +
> + /** Input: Pointer to a u32 array of the BOs that are written to by the job. */
> + __u64 out_bo_handles;
> +
> + /** Input: Number of input BO handles passed in (size is that times 4). */
> + __u32 in_bo_handle_count;
> +
> + /** Input: Number of output BO handles passed in (size is that times 4). */
> + __u32 out_bo_handle_count;
> +};
> +
> +/**
> + * struct drm_thames_submit - ioctl argument for submitting commands to the NPU.
> + *
> + * The kernel will schedule the execution of these jobs in dependency order.
> + */
Same here.
> +struct drm_thames_submit {
> + /** Input: Pointer to an array of struct drm_thames_job. */
> + __u64 jobs;
> +
> + /** Input: Number of jobs passed in. */
> + __u32 job_count;
> +
> + /** Reserved, must be zero. */
> + __u32 pad;
> +};
> +
--
~Randy
Powered by blists - more mailing lists