dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] Support for NVDEC on Tegra234
@ 2022-09-06 13:28 Mikko Perttunen
  2022-09-06 13:28 ` [PATCH 1/8] memory: tegra: Add API for retrieving carveout bounds Mikko Perttunen
                   ` (8 more replies)
  0 siblings, 9 replies; 17+ messages in thread
From: Mikko Perttunen @ 2022-09-06 13:28 UTC (permalink / raw)
  To: Thierry Reding, David Airlie, Daniel Vetter, Rob Herring,
	Krzysztof Kozlowski, Jonathan Hunter
  Cc: devicetree, Sameer Pujar, linux-kernel, dri-devel,
	Mikko Perttunen, linux-tegra, Ashish Mhetre

From: Mikko Perttunen <mperttunen@nvidia.com>

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,tegra210-nvdec.yaml     | 118 ++++++++++--
 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                     |  23 +++
 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, 470 insertions(+), 46 deletions(-)
 create mode 100644 drivers/gpu/drm/tegra/riscv.c
 create mode 100644 drivers/gpu/drm/tegra/riscv.h

-- 
2.37.0


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

end of thread, other threads:[~2022-09-07 11:06 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-06 13:28 [PATCH 0/8] Support for NVDEC on Tegra234 Mikko Perttunen
2022-09-06 13:28 ` [PATCH 1/8] memory: tegra: Add API for retrieving carveout bounds Mikko Perttunen
2022-09-06 15:25   ` kernel test robot
2022-09-06 22:44   ` kernel test robot
2022-09-06 13:28 ` [PATCH 2/8] dt-bindings: Add headers for NVDEC on Tegra234 Mikko Perttunen
2022-09-07 10:58   ` Krzysztof Kozlowski
2022-09-06 13:28 ` [PATCH 3/8] dt-bindings: Add bindings for Tegra234 NVDEC Mikko Perttunen
2022-09-07 11:02   ` Krzysztof Kozlowski
2022-09-06 13:28 ` [PATCH 4/8] arm64: tegra: Add NVDEC on Tegra234 Mikko Perttunen
2022-09-06 13:28 ` [PATCH 5/8] gpu: host1x: Add stream ID register data for " Mikko Perttunen
2022-09-06 13:28 ` [PATCH 6/8] drm/tegra: nvdec: Support multiple clocks Mikko Perttunen
2022-09-06 13:28 ` [PATCH 7/8] drm/tegra: Add code for booting RISC-V based engines Mikko Perttunen
2022-09-06 13:28 ` [PATCH 8/8] drm/tegra: Add Tegra234 support to NVDEC driver Mikko Perttunen
2022-09-06 17:50 ` [PATCH 0/8] Support for NVDEC on Tegra234 Krzysztof Kozlowski
2022-09-07  5:27   ` Mikko Perttunen
2022-09-07 10:58     ` Krzysztof Kozlowski
2022-09-07 11:05       ` Mikko Perttunen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).