From: Thierry Reding <treding@xxxxxxxxxx> Hi all, this is the userspace part of the kernel patches that were recently merged into drm-next: https://patchwork.freedesktop.org/series/92378/ The goal is to provide a userspace implementation of the UAPI exposed by the kernel and show its usage in some test programs that can also be used for basic sanity testing. More complete userspace implementations are available here: * https://github.com/cyndis/vaapi-tegra-driver * https://github.com/grate-driver/xf86-video-opentegra * https://github.com/grate-driver/grate Changes in v2: - implement vic_clear() as a helper using ->fill() (Michał Mirosław) - rebase and fix a couple of Meson errors/warnings Thierry Thierry Reding (25): tegra: Indent according to .editorconfig tegra: Remove unused IOCTL implementations tegra: Extract common buffer object allocation code tegra: Fix mmap() of GEM buffer objects tegra: Add flink helpers tegra: Add PRIME support helpers tegra: Make API more consistent tegra: Install tegra-openclose test tegra: Update for new UABI tegra: Include private.h in list of source files tegra: Add channel APIs tegra: Add job and push buffer APIs tegra: Add syncpoint APIs tests: tegra: Add helper library for tests tests: tegra: Add gr2d-fill test tests: tegra: Add syncpt-wait test tests: tegra: Add syncpoint timeout test tests: tegra: Add VIC support tests: tegra: Add VIC 3.0 support tests: tegra: Add VIC 4.0 support tests: tegra: Add VIC 4.1 support tests: tegra: Add VIC 4.2 support tests: tegra: Add VIC clear test tests: tegra: Add VIC blit test tests: tegra: Add VIC flip test include/drm/tegra_drm.h | 429 +++++++++++++++++++++++-- tegra/channel.c | 195 ++++++++++++ tegra/job.c | 187 +++++++++++ tegra/meson.build | 7 +- tegra/private.h | 85 ++++- tegra/pushbuf.c | 184 +++++++++++ tegra/syncpt.c | 101 ++++++ tegra/tegra-symbols.txt | 27 +- tegra/tegra.c | 386 +++++++++++----------- tegra/tegra.h | 95 +++++- tests/tegra/.gitignore | 3 +- tests/tegra/drm-test-tegra.c | 147 +++++++++ tests/tegra/drm-test-tegra.h | 55 ++++ tests/tegra/drm-test.c | 248 +++++++++++++++ tests/tegra/drm-test.h | 72 +++++ tests/tegra/gr2d-fill.c | 146 +++++++++ tests/tegra/host1x.h | 34 ++ tests/tegra/meson.build | 88 +++++- tests/tegra/openclose.c | 52 +-- tests/tegra/syncpt-timeout.c | 163 ++++++++++ tests/tegra/syncpt-wait.c | 151 +++++++++ tests/tegra/vic-blit.c | 333 +++++++++++++++++++ tests/tegra/vic-clear.c | 173 ++++++++++ tests/tegra/vic-flip.c | 333 +++++++++++++++++++ tests/tegra/vic.c | 184 +++++++++++ tests/tegra/vic.h | 181 +++++++++++ tests/tegra/vic30.c | 458 +++++++++++++++++++++++++++ tests/tegra/vic30.h | 439 ++++++++++++++++++++++++++ tests/tegra/vic40.c | 370 ++++++++++++++++++++++ tests/tegra/vic40.h | 285 +++++++++++++++++ tests/tegra/vic41.c | 374 ++++++++++++++++++++++ tests/tegra/vic41.h | 372 ++++++++++++++++++++++ tests/tegra/vic42.c | 374 ++++++++++++++++++++++ tests/tegra/vic42.h | 597 +++++++++++++++++++++++++++++++++++ 34 files changed, 7068 insertions(+), 260 deletions(-) create mode 100644 tegra/channel.c create mode 100644 tegra/job.c create mode 100644 tegra/pushbuf.c create mode 100644 tegra/syncpt.c create mode 100644 tests/tegra/drm-test-tegra.c create mode 100644 tests/tegra/drm-test-tegra.h create mode 100644 tests/tegra/drm-test.c create mode 100644 tests/tegra/drm-test.h create mode 100644 tests/tegra/gr2d-fill.c create mode 100644 tests/tegra/host1x.h create mode 100644 tests/tegra/syncpt-timeout.c create mode 100644 tests/tegra/syncpt-wait.c create mode 100644 tests/tegra/vic-blit.c create mode 100644 tests/tegra/vic-clear.c create mode 100644 tests/tegra/vic-flip.c create mode 100644 tests/tegra/vic.c create mode 100644 tests/tegra/vic.h create mode 100644 tests/tegra/vic30.c create mode 100644 tests/tegra/vic30.h create mode 100644 tests/tegra/vic40.c create mode 100644 tests/tegra/vic40.h create mode 100644 tests/tegra/vic41.c create mode 100644 tests/tegra/vic41.h create mode 100644 tests/tegra/vic42.c create mode 100644 tests/tegra/vic42.h -- 2.35.1