Re: [PATCH v3 0/8] Support for NVDEC on Tegra234
From: Thierry Reding
Date: Mon Oct 24 2022 - 16:47:07 EST
On Tue, Sep 20, 2022 at 11:11:55AM +0300, Mikko Perttunen wrote:
> From: Mikko Perttunen <mperttunen@xxxxxxxxxx>
>
> v3:
> * Updated patch 3 based on comments
>
> v2:
> * Updated patches 1,3 based on comments
> * Added Acked-by to patch 2
>
> Original message:
>
> Hi all,
>
> this series adds support for the HW video decoder, NVDEC,
> on Tegra234 (Orin). The main change is a switch from Falcon
> to RISC-V for the internal microcontroller, which brings along
> a change in how the engine is booted. Otherwise it is backwards
> compatible with earlier versions.
>
> In previous iterations, firmware was simply loaded from disk and
> written into engine internal memory. Now, the engine has a
> bootrom that loads the firmware from a carveout where it has been
> loaded by the system bootloader; however, we still need to tell it
> where that carveout is loaded and some offsets into it. For that,
> the first patch adds a new memory controller API to query the
> carveout address. The offsets are read from device tree -- the
> expectation is that at flashing time (when the firmware is also
> flashed), the flasher also delivers a device tree overlay with
> values corresponding to the flashed firmware.
>
> The currently available Linux for Tegra release doesn't yet
> include this device tree overlay flashing, and the firmware version
> it contains is incompatible with this series. The plan is to fix
> that for the next Linux for Tegra release, but if necessary, we
> can postpone merging of this series to once those changes are
> available.
>
> Thanks!
> Mikko
>
> Mikko Perttunen (8):
> memory: tegra: Add API for retrieving carveout bounds
> dt-bindings: Add headers for NVDEC on Tegra234
> dt-bindings: Add bindings for Tegra234 NVDEC
> arm64: tegra: Add NVDEC on Tegra234
> gpu: host1x: Add stream ID register data for NVDEC on Tegra234
> drm/tegra: nvdec: Support multiple clocks
> drm/tegra: Add code for booting RISC-V based engines
> drm/tegra: Add Tegra234 support to NVDEC driver
>
> .../gpu/host1x/nvidia,tegra234-nvdec.yaml | 156 ++++++++++++++++
> arch/arm64/boot/dts/nvidia/tegra234.dtsi | 27 +++
> drivers/gpu/drm/tegra/Makefile | 3 +-
> drivers/gpu/drm/tegra/drm.c | 1 +
> drivers/gpu/drm/tegra/nvdec.c | 171 +++++++++++++++---
> drivers/gpu/drm/tegra/riscv.c | 106 +++++++++++
> drivers/gpu/drm/tegra/riscv.h | 30 +++
> drivers/gpu/host1x/dev.c | 12 ++
> drivers/memory/tegra/mc.c | 25 +++
> drivers/memory/tegra/tegra234.c | 5 +
> include/dt-bindings/clock/tegra234-clock.h | 4 +
> include/dt-bindings/memory/tegra234-mc.h | 3 +
> .../dt-bindings/power/tegra234-powergate.h | 1 +
> include/dt-bindings/reset/tegra234-reset.h | 1 +
> include/soc/tegra/mc.h | 11 ++
> 15 files changed, 530 insertions(+), 26 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/gpu/host1x/nvidia,tegra234-nvdec.yaml
> create mode 100644 drivers/gpu/drm/tegra/riscv.c
> create mode 100644 drivers/gpu/drm/tegra/riscv.h
Applied, thanks.
Thierry
Attachment:
signature.asc
Description: PGP signature