public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH 0/5] New DRM accel driver for Texas Instruments' C7x DSPs
@ 2026-01-13 17:44 Tomeu Vizoso
  2026-01-13 17:44 ` [PATCH 1/5] arm64: dts: ti: k3-j722s-ti-ipc-firmware: Add memory pool for DSP i/o buffers Tomeu Vizoso
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Tomeu Vizoso @ 2026-01-13 17:44 UTC (permalink / raw)
  To: Nishanth Menon, Andrew F. Davis, Randolph Sapp,
	Jonathan Humphreys, Andrei Aldea, Chirag Shilwant,
	Vignesh Raghavendra, Tero Kristo, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Oded Gabbay, Jonathan Corbet,
	Sumit Semwal, Christian König
  Cc: linux-arm-kernel, devicetree, linux-kernel, dri-devel, linux-doc,
	linux-media, linaro-mm-sig, Tomeu Vizoso

This series adds a new DRM/Accel driver that supports the C7x DSPs
inside some Texas Instruments SoCs such as the J722S. These can be used
as accelerators for various workloads, including machine learning
inference.

This driver controls the power state of the hardware via remoteproc and
communicates with the firmware running on the DSP via rpmsg_virtio.  The
kernel driver itself allocates buffers, manages contexts, and submits
jobs to the DSP firmware. Buffers are mapped by the DSP itself using its
MMU, providing memory isolation among different clients.

The source code for the firmware running on the DSP is available at:
https://gitlab.freedesktop.org/tomeu/thames_firmware/.

Everything else is done in userspace, as a Gallium driver (also called
thames) that is part of the Mesa3D project: https://docs.mesa3d.org/teflon.html

If there is more than one core that advertises the same rpmsg_virtio
service name, the driver will load balance jobs between them with
drm-gpu-scheduler.

Userspace portion of the driver: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39298

Signed-off-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
---
Tomeu Vizoso (5):
      arm64: dts: ti: k3-j722s-ti-ipc-firmware: Add memory pool for DSP i/o buffers
      accel/thames: Add driver for the C7x DSPs in TI SoCs
      accel/thames: Add IOCTLs for BO creation and mapping
      accel/thames: Add IOCTL for job submission
      accel/thames: Add IOCTL for memory synchronization

 Documentation/accel/thames/index.rst               |  28 ++
 MAINTAINERS                                        |   9 +
 .../boot/dts/ti/k3-j722s-ti-ipc-firmware.dtsi      |  11 +-
 drivers/accel/Kconfig                              |   1 +
 drivers/accel/Makefile                             |   3 +-
 drivers/accel/thames/Kconfig                       |  26 ++
 drivers/accel/thames/Makefile                      |  11 +
 drivers/accel/thames/thames_core.c                 | 161 +++++++
 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                  | 180 ++++++++
 drivers/accel/thames/thames_drv.h                  |  21 +
 drivers/accel/thames/thames_gem.c                  | 407 ++++++++++++++++++
 drivers/accel/thames/thames_gem.h                  |  45 ++
 drivers/accel/thames/thames_ipc.h                  | 204 +++++++++
 drivers/accel/thames/thames_job.c                  | 463 +++++++++++++++++++++
 drivers/accel/thames/thames_job.h                  |  51 +++
 drivers/accel/thames/thames_rpmsg.c                | 276 ++++++++++++
 drivers/accel/thames/thames_rpmsg.h                |  27 ++
 20 files changed, 2113 insertions(+), 3 deletions(-)
---
base-commit: 27927a79b3c6aebd18f38507a8160294243763dc
change-id: 20260113-thames-334127a2d91d

Best regards,
-- 
Tomeu Vizoso <tomeu@tomeuvizoso.net>



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-01-14 12:09 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-13 17:44 [PATCH 0/5] New DRM accel driver for Texas Instruments' C7x DSPs Tomeu Vizoso
2026-01-13 17:44 ` [PATCH 1/5] arm64: dts: ti: k3-j722s-ti-ipc-firmware: Add memory pool for DSP i/o buffers Tomeu Vizoso
2026-01-13 17:44 ` [PATCH 2/5] accel/thames: Add driver for the C7x DSPs in TI SoCs Tomeu Vizoso
2026-01-13 18:22   ` Robert Nelson
2026-01-14 12:08   ` Jani Nikula
2026-01-13 17:44 ` [PATCH 3/5] accel/thames: Add IOCTLs for BO creation and mapping Tomeu Vizoso
2026-01-13 17:44 ` [PATCH 4/5] accel/thames: Add IOCTL for job submission Tomeu Vizoso
2026-01-14  8:57   ` Christian König
2026-01-14 12:04   ` Jani Nikula
2026-01-13 17:44 ` [PATCH 5/5] accel/thames: Add IOCTL for memory synchronization Tomeu Vizoso
2026-01-14  9:02 ` [PATCH 0/5] New DRM accel driver for Texas Instruments' C7x DSPs Christian König

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox