Hi all, with the release of documentation headers for Tegra multimedia engines (NVDEC, NVENC, NVJPG) [1], I have started working on the corresponding implementations. Here's the first one, NVDEC. The kernel driver is a simple Falcon boot driver based on the VIC driver. Some code sharing should be considered there in the future. The userspace driver to accompany this is a bit more complicated - I have expanded vaapi-tegra-driver[2] to support MPEG2 decoding. It should be noted that the implementation is still very clunky and has poor performance, but it's a start. This series is based on top of the "Host1x/TegraDRM UAPI" series. For testing, appropriate firmware should be obtained from a Linux for Tegra distribution for now; the GPU should also be enabled in the device tree. Series was tested on Tegra186. Thanks! Mikko [1] https://github.com/NVIDIA/open-gpu-doc/tree/master/classes/video [2] https://github.com/cyndis/vaapi-tegra-driver Mikko Perttunen (3): dt-bindings: Add YAML bindings for Host1x and NVDEC arm64: tegra: Add NVDEC to Tegra186 device tree drm/tegra: Add NVDEC driver .../gpu/host1x/nvidia,tegra20-host1x.yaml | 129 +++++ .../gpu/host1x/nvidia,tegra210-nvdec.yaml | 90 ++++ MAINTAINERS | 1 + arch/arm64/boot/dts/nvidia/tegra186.dtsi | 15 + drivers/gpu/drm/tegra/Makefile | 3 +- drivers/gpu/drm/tegra/drm.c | 4 + drivers/gpu/drm/tegra/drm.h | 1 + drivers/gpu/drm/tegra/nvdec.c | 497 ++++++++++++++++++ drivers/gpu/host1x/dev.c | 12 + include/linux/host1x.h | 1 + 10 files changed, 752 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/gpu/host1x/nvidia,tegra20-host1x.yaml create mode 100644 Documentation/devicetree/bindings/gpu/host1x/nvidia,tegra210-nvdec.yaml create mode 100644 drivers/gpu/drm/tegra/nvdec.c -- 2.30.0