[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d5ff6967-ddf4-42df-840e-d960f7fab257@infradead.org>
Date: Wed, 14 Jan 2026 10:54:03 -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 2/5] accel/thames: Add driver for the C7x DSPs in TI
SoCs
On 1/14/26 12:46 AM, Tomeu Vizoso wrote:
> Some SoCs from Texas Instruments contain DSPs that can be used for
> general compute tasks.
>
> This driver provides a drm/accel UABI to userspace for submitting jobs
> to the DSP cores and managing the input, output and intermediate memory.
>
> Signed-off-by: Tomeu Vizoso <tomeu@...euvizoso.net>
> ---
> Documentation/accel/thames/index.rst | 28 +++++
> MAINTAINERS | 9 ++
> drivers/accel/Kconfig | 1 +
> drivers/accel/Makefile | 3 +-
> drivers/accel/thames/Kconfig | 26 +++++
> drivers/accel/thames/Makefile | 9 ++
> drivers/accel/thames/thames_core.c | 155 ++++++++++++++++++++++++++
> drivers/accel/thames/thames_core.h | 53 +++++++++
> drivers/accel/thames/thames_device.c | 93 ++++++++++++++++
> drivers/accel/thames/thames_device.h | 46 ++++++++
> drivers/accel/thames/thames_drv.c | 155 ++++++++++++++++++++++++++
> drivers/accel/thames/thames_drv.h | 21 ++++
> drivers/accel/thames/thames_ipc.h | 204 +++++++++++++++++++++++++++++++++++
> drivers/accel/thames/thames_rpmsg.c | 155 ++++++++++++++++++++++++++
> drivers/accel/thames/thames_rpmsg.h | 27 +++++
> 15 files changed, 984 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/accel/Makefile b/drivers/accel/Makefile
> index 1d3a7251b950f39e2ae600a2fc07a3ef7e41831e..8472989cbe22746f1e7292d2401fa0f7424a6c15 100644
> --- a/drivers/accel/Makefile
> +++ b/drivers/accel/Makefile
> @@ -5,4 +5,5 @@ obj-$(CONFIG_DRM_ACCEL_ARM_ETHOSU) += ethosu/
> obj-$(CONFIG_DRM_ACCEL_HABANALABS) += habanalabs/
> obj-$(CONFIG_DRM_ACCEL_IVPU) += ivpu/
> obj-$(CONFIG_DRM_ACCEL_QAIC) += qaic/
> -obj-$(CONFIG_DRM_ACCEL_ROCKET) += rocket/
> \ No newline at end of file
> +obj-$(CONFIG_DRM_ACCEL_ROCKET) += rocket/
> +obj-$(CONFIG_DRM_ACCEL_THAMES) += thames/
> \ No newline at end of file
Please eliminate these warnings.
> diff --git a/drivers/accel/thames/thames_ipc.h b/drivers/accel/thames/thames_ipc.h> new file mode 100644
> index 0000000000000000000000000000000000000000..60297b4bc2ffd990315cb735a96a23429d390f43
> --- /dev/null
> +++ b/drivers/accel/thames/thames_ipc.h
> @@ -0,0 +1,204 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Copyright 2026 Texas Instruments Incorporated - https://www.ti.com/
> + *
> + * This header defines the RPMSG message structures exchanged between
> + * the Linux kernel (host) and the C7x DSP (remote) firmware for the
> + * Thames DRM/accel driver.
> + */
> +
> +#ifndef _THAMES_IPC_H
> +#define _THAMES_IPC_H
> +
> +#ifdef __KERNEL__
> +#include <linux/types.h>
> +#else
> +#include <stdint.h>
> +typedef uint8_t __u8;
> +typedef uint16_t __u16;
> +typedef uint32_t __u32;
> +typedef uint64_t __u64;
> +#endif
> +
> +#define THAMES_SERVICE_NAME "thames-service"
> +
> +/**
> + * @THAMES_MSG_TYPE: Simplified message type enumeration
> + */
"/**" means "this is kernel-doc format", which should look like:
/**
* enum thames_msg_type - Simplified message type enumeration
*/
and then each enum value should be documented as well.
> +enum thames_msg_type {
> + /* --- Host (Kernel) -> Remote (DSP) --- */
> + THAMES_MSG_PING = 0x100, /* Ping message to test communication */
> + THAMES_MSG_CONTEXT_OP, /* Create/destroy context */
> + THAMES_MSG_BO_OP, /* Map/unmap buffer objects */
> + THAMES_MSG_SUBMIT_JOB, /* Submit job for execution */
> +
> + /* --- Remote (DSP) -> Host (Kernel) --- */
> + THAMES_MSG_PING_RESPONSE = 0x200,
> + THAMES_MSG_CONTEXT_OP_RESPONSE,
> + THAMES_MSG_BO_OP_RESPONSE,
> + THAMES_MSG_SUBMIT_JOB_RESPONSE,
> +};
> +
> +/**
> + * @THAMES_CONTEXT_OP: Context operation types
* enum thames_context_op - Context operations types
> + */
> +enum thames_context_op {
> + THAMES_CONTEXT_CREATE = 0,
> + THAMES_CONTEXT_DESTROY,
> +};
> +
> +/**
> + * @THAMES_BO_OP: Buffer Object operation types
* enum thames_bo_op - Buffer Object operation types
> + */
> +enum thames_bo_op {
> + THAMES_BO_MAP = 0,
> + THAMES_BO_UNMAP,
> +};
> +
> +/**
> + * @THAMES_RESP_STATUS: Response status codes
* enum thames_resp_status - Response status codes
> + */
> +enum thames_resp_status {
> + THAMES_RESP_SUCCESS = 0,
> + THAMES_RESP_ERR_GENERIC = 1,
> + THAMES_RESP_ERR_NOMEM = 2,
> + THAMES_RESP_ERR_INVAL = 3,
> + THAMES_RESP_ERR_NO_CTX = 4,
> + THAMES_RESP_ERR_MMU = 5,
> + THAMES_RESP_ERR_JOB_TIMEOUT = 6,
> +};
Or you could just use "/*" so that they aren't considered as
kernel-doc.
--
~Randy
Powered by blists - more mailing lists