[PATCH libdrm v2 00/25] Update Tegra support

Dmitry Osipenko digetx at gmail.com
Fri Feb 18 19:49:25 UTC 2022


18.02.2022 17:16, Dmitry Osipenko пишет:
> 18.02.2022 00:37, Thierry Reding пишет:
>> On Thu, Feb 17, 2022 at 11:02:53PM +0300, Dmitry Osipenko wrote:
>>> 17.02.2022 22:16, Thierry Reding пишет:
>>>> From: Thierry Reding <treding at nvidia.com>
>>>>
>>>> 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(-)
>>>
>>>
>>> Why do we need these tests in libdrm? Why not IGT?
>>
>> Oops, sorry. I had meant to reply to your question in the previous
>> version. The idea was to have this minimal set of tests in libdrm as a
>> way to demonstrate how to use the various APIs. At the same time, this
>> is meant to serve as an easy way to validate that everything works from
>> the comparatively simple libdrm package.
> 
> Who will be validating libdrm on Tegra?
> 
>> But yes, adding more tests on top of this to IGT is something that I've
>> been pondering and I certainly wouldn't object if anyone else was going
>> to attempt to do so. I don't think IGT and libdrm need to be mutually
>> exclusive, though.
> 
> I know that IGT tests are regularly run by the KernelCI at least on TK1.

Finishing my thought.. It's good to have a demo within libdrm, but in my
opinion it's not very practical to put effort into libdrm from the
perspective of testing. Much more practical should be to put effort into
IGT, which already has a use on Tegra.


More information about the dri-devel mailing list