[PATCH 0/5] New DRM accel driver for Texas Instruments' C7x DSPs

Christian König christian.koenig at amd.com
Wed Jan 14 01:02:18 PST 2026


On 1/13/26 18:44, Tomeu Vizoso wrote:
> 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.

I only took 5 minutes to skim over it, so no full review.

You have the classic mistake of allocating memory in the run_job callback of the scheduler, but that is trivial to fix.

Apart from that looks pretty solid to me.

Regards,
Christian.

> 
> Userspace portion of the driver: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39298
> 
> Signed-off-by: Tomeu Vizoso <tomeu at 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,




More information about the linux-arm-kernel mailing list