[PATCH v2 0/3] NVIDIA Tegra210 NVJPG support
From: Diogo Ivo
Date: Wed Jun 11 2025 - 08:19:23 EST
Hello,
This series adds support for the NVJPG hardware accelerator found in the
Tegra210 SoC.
The kernel driver is essentially a copy of the NVDEC driver as both
engines are Falcon-based.
For the userspace part I have written a Mesa Gallium backend [1] that,
while still very much experimental, works in decoding images with VA-API.
I have been using ffmpeg to call VA-API with the following command:
ffmpeg -v verbose -hwaccel vaapi -hwaccel_device /dev/dri/renderD129 -i <input.jpg> -pix_fmt bgra -f fbdev /dev/fb0
which decodes <input.jpg> and shows the result in the framebuffer.
The firmware for the engine can be obtained from a Linux for Tegra
distribution. Due to the way the Gallium implementation works for Tegra
the GPU also needs to be enabled.
Thanks!
Diogo
To: Thierry Reding <thierry.reding@xxxxxxxxx>
To: Mikko Perttunen <mperttunen@xxxxxxxxxx>
To: David Airlie <airlied@xxxxxxxxx>
To: Simona Vetter <simona@xxxxxxxx>
To: Jonathan Hunter <jonathanh@xxxxxxxxxx>
To: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
To: Rob Herring <robh@xxxxxxxxxx>
To: Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>
To: Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
Cc: linux-tegra@xxxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Signed-off-by: Diogo Ivo <diogo.ivo@xxxxxxxxxxxxxxxxxx>
[1]: https://gitlab.freedesktop.org/d.ivo/mesa/-/tree/diogo/vaapi_gl?ref_type=heads
---
Changes in v2:
- [01/03]: Remove reset handling, set clk rate to max
- [02/03]: Explicitly mention Tegra210 in the commit subject
- [03/03]: Explicitly mention Tegra210 in the commit subject
- Link to v1: https://lore.kernel.org/r/20250606-diogo-nvjpg-v1-0-5f2c36feeb39@xxxxxxxxxxxxxxxxxx
---
Diogo Ivo (3):
drm/tegra: Add NVJPG driver
arm64: tegra: Add Tegra210 NVJPG power-domain node
arm64: tegra: Add NVJPG node for Tegra210 platforms
arch/arm64/boot/dts/nvidia/tegra210.dtsi | 14 +-
drivers/gpu/drm/tegra/Makefile | 1 +
drivers/gpu/drm/tegra/drm.c | 2 +
drivers/gpu/drm/tegra/drm.h | 1 +
drivers/gpu/drm/tegra/nvjpg.c | 331 +++++++++++++++++++++++++++++++
5 files changed, 348 insertions(+), 1 deletion(-)
---
base-commit: 736ecbbf1e57fc3bc6575c76f6a46c84760233f8
change-id: 20250605-diogo-nvjpg-e0d4c57126c5
Best regards,
--
Diogo Ivo <diogo.ivo@xxxxxxxxxxxxxxxxxx>