| From: |
| Mikko Perttunen <mperttunen-AT-nvidia.com> |
| To: |
| thierry.reding-AT-gmail.com, jonathanh-AT-nvidia.com, airlied-AT-linux.ie, daniel-AT-ffwll.ch, robh+dt-AT-kernel.org |
| Subject: |
| [PATCH 0/3] NVIDIA Tegra NVDEC support |
| Date: |
| Sat, 13 Feb 2021 12:15:09 +0200 |
| Message-ID: |
| <20210213101512.3275069-1-mperttunen@nvidia.com> |
| Cc: |
| dri-devel-AT-lists.freedesktop.org, linux-tegra-AT-vger.kernel.org, devicetree-AT-vger.kernel.org, Mikko Perttunen <mperttunen-AT-nvidia.com> |
| Archive-link: |
| Article |
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/classe...
[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