[PATCH v8 00/14] drm/tegra: Introduce a modern UABI
Thierry Reding
thierry.reding at gmail.com
Fri Jul 9 19:31:32 UTC 2021
From: Thierry Reding <treding at nvidia.com>
Hi all,
Mikko has been away for a few weeks, so I've been testing and revising
the new UABI patches in the meantime. There are very minor changes to
the naming of some of the UABI fields, but other than that it's mostly
unchanged from v7.
One notable change is that mappings can now be read-only, write-only,
read-write or none of them (rather than just read-only or read-write),
since those combinations are all supported by the IOMMUs and it might
be useful to make some mappings write-only.
For a full list of changes in v8, see the changelog in patch 6.
I've also updated the libdrm_tegra library to work against this version
of the UABI. A branch can be found here:
https://gitlab.freedesktop.org/tagr/drm/-/commits/drm-tegra-uabi-v8
That contains helper APIs for the concepts introduced in this series and
shows how they can be used in various tests that can be run for sanity
checking.
In addition, Mikko has made updates to the following projects, though
they may need to be updated for the minor changes in v8:
* vaapi-tegra-driver - https://github.com/cyndis/vaapi-tegra-driver
Experimental support for MPEG2 and H264 decoding on T210, T186
and T194.
* xf86-video-opentegra - https://github.com/grate-driver/xf86-video-opentegra
X11 userspace acceleration driver for Tegra20, Tegra30, and Tegra114.
* grate - https://github.com/grate-driver/grate
3D rendering testbed for Tegra20, Tegra30, and Tegra114
I plan on putting this into linux-next soon after v5.14-rc1 so that this
can get some soak time.
Thierry
Mikko Perttunen (14):
gpu: host1x: Add DMA fence implementation
gpu: host1x: Add no-recovery mode
gpu: host1x: Add job release callback
gpu: host1x: Add support for syncpoint waits in CDMA pushbuffer
drm/tegra: Extract tegra_gem_lookup
drm/tegra: Add new UAPI to header
drm/tegra: Boot VIC during runtime PM resume
drm/tegra: Allocate per-engine channel in core code
drm/tegra: Implement new UAPI
drm/tegra: Implement syncpoint management UAPI
drm/tegra: Implement syncpoint wait UAPI
drm/tegra: Implement job submission part of new UAPI
drm/tegra: Add job firewall
drm/tegra: Bump driver version
drivers/gpu/drm/tegra/Makefile | 4 +
drivers/gpu/drm/tegra/drm.c | 82 ++--
drivers/gpu/drm/tegra/drm.h | 12 +
drivers/gpu/drm/tegra/firewall.c | 254 ++++++++++
drivers/gpu/drm/tegra/gather_bo.c | 81 ++++
drivers/gpu/drm/tegra/gather_bo.h | 22 +
drivers/gpu/drm/tegra/gem.c | 13 +
drivers/gpu/drm/tegra/gem.h | 2 +
drivers/gpu/drm/tegra/submit.c | 527 +++++++++++++++++++++
drivers/gpu/drm/tegra/submit.h | 21 +
drivers/gpu/drm/tegra/uapi.c | 387 +++++++++++++++
drivers/gpu/drm/tegra/uapi.h | 58 +++
drivers/gpu/drm/tegra/vic.c | 112 ++---
drivers/gpu/host1x/Makefile | 1 +
drivers/gpu/host1x/cdma.c | 58 ++-
drivers/gpu/host1x/fence.c | 209 ++++++++
drivers/gpu/host1x/fence.h | 13 +
drivers/gpu/host1x/hw/channel_hw.c | 87 +++-
drivers/gpu/host1x/hw/debug_hw.c | 9 +-
drivers/gpu/host1x/hw/hw_host1x02_uclass.h | 12 +
drivers/gpu/host1x/hw/hw_host1x04_uclass.h | 12 +
drivers/gpu/host1x/hw/hw_host1x05_uclass.h | 12 +
drivers/gpu/host1x/hw/hw_host1x06_uclass.h | 12 +
drivers/gpu/host1x/hw/hw_host1x07_uclass.h | 12 +
drivers/gpu/host1x/intr.c | 9 +
drivers/gpu/host1x/intr.h | 2 +
drivers/gpu/host1x/job.c | 77 ++-
drivers/gpu/host1x/job.h | 16 +
drivers/gpu/host1x/syncpt.c | 2 +
drivers/gpu/host1x/syncpt.h | 12 +
include/linux/host1x.h | 22 +-
include/uapi/drm/tegra_drm.h | 425 ++++++++++++++++-
32 files changed, 2408 insertions(+), 169 deletions(-)
create mode 100644 drivers/gpu/drm/tegra/firewall.c
create mode 100644 drivers/gpu/drm/tegra/gather_bo.c
create mode 100644 drivers/gpu/drm/tegra/gather_bo.h
create mode 100644 drivers/gpu/drm/tegra/submit.c
create mode 100644 drivers/gpu/drm/tegra/submit.h
create mode 100644 drivers/gpu/drm/tegra/uapi.c
create mode 100644 drivers/gpu/drm/tegra/uapi.h
create mode 100644 drivers/gpu/host1x/fence.c
create mode 100644 drivers/gpu/host1x/fence.h
--
2.32.0
More information about the dri-devel
mailing list