From: Thierry Reding <thierry.reding@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: linux-tegra@vger.kernel.org, Dmitry Osipenko <digetx@gmail.com>,
dri-devel@lists.freedesktop.org,
Mikko Perttunen <mperttunen@nvidia.com>
Subject: [PATCH v8 00/14] drm/tegra: Introduce a modern UABI
Date: Fri, 9 Jul 2021 21:31:32 +0200 [thread overview]
Message-ID: <20210709193146.2859516-1-thierry.reding@gmail.com> (raw)
From: Thierry Reding <treding@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
next reply other threads:[~2021-07-09 19:29 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-09 19:31 Thierry Reding [this message]
2021-07-09 19:31 ` [PATCH v8 01/14] gpu: host1x: Add DMA fence implementation Thierry Reding
2021-07-15 15:26 ` Dmitry Osipenko
2021-07-09 19:31 ` [PATCH v8 02/14] gpu: host1x: Add no-recovery mode Thierry Reding
2021-07-09 19:31 ` [PATCH v8 03/14] gpu: host1x: Add job release callback Thierry Reding
2021-07-09 19:31 ` [PATCH v8 04/14] gpu: host1x: Add support for syncpoint waits in CDMA pushbuffer Thierry Reding
2021-07-09 19:31 ` [PATCH v8 05/14] drm/tegra: Extract tegra_gem_lookup Thierry Reding
2021-07-09 19:31 ` [PATCH v8 06/14] drm/tegra: Add new UAPI to header Thierry Reding
2021-07-09 19:31 ` [PATCH v8 07/14] drm/tegra: Boot VIC during runtime PM resume Thierry Reding
2021-07-09 19:31 ` [PATCH v8 08/14] drm/tegra: Allocate per-engine channel in core code Thierry Reding
2021-07-09 19:31 ` [PATCH v8 09/14] drm/tegra: Implement new UAPI Thierry Reding
2021-07-15 15:27 ` Dmitry Osipenko
2021-07-09 19:31 ` [PATCH v8 10/14] drm/tegra: Implement syncpoint management UAPI Thierry Reding
2021-07-09 19:31 ` [PATCH v8 11/14] drm/tegra: Implement syncpoint wait UAPI Thierry Reding
2021-07-09 19:31 ` [PATCH v8 12/14] drm/tegra: Implement job submission part of new UAPI Thierry Reding
2021-07-09 19:31 ` [PATCH v8 13/14] drm/tegra: Add job firewall Thierry Reding
2021-07-09 19:31 ` [PATCH v8 14/14] drm/tegra: Bump driver version Thierry Reding
2021-07-09 21:16 ` [PATCH v8 00/14] drm/tegra: Introduce a modern UABI Dmitry Osipenko
2021-07-14 8:30 ` Thierry Reding
2021-07-14 14:50 ` Dmitry Osipenko
2021-07-14 15:26 ` Mikko Perttunen
2021-07-15 13:53 ` Dmitry Osipenko
2021-07-30 15:26 ` Dmitry Osipenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210709193146.2859516-1-thierry.reding@gmail.com \
--to=thierry.reding@gmail.com \
--cc=digetx@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-tegra@vger.kernel.org \
--cc=mperttunen@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox