This series adds basic Panthor tests. In particular, these are being used to test both Panthor[0] and Tyr[1], i.e.: the new Rust GPU driver that implements Panthor's uAPI (i.e.: panthor_drm.h). Most of the initial tests were chosen in order to have something to test Tyr with, but this series lays the groundwork so that more interesting tests can be added to test more of Panthor itself.
This work is being tested on a RockPi 5, featuring an rk3588 SoC and Mali-G610 Valhall. Note that there's a few (less than five?) remaining checkpatch.pl comments about long lines. IMHO there's no way to format them better so I hope we can live with this. [0]: https://patchwork.freedesktop.org/patch/msgid/[email protected] [1]: https://lore.kernel.org/dri-devel/[email protected]/ Changes from v2: Thanks, Boris { - New helpers for command stream manipulation (see "struct cs_instr") - Reworked bad indentation and formatting - Removed BE support (UMD doesn't care about this either) } Thanks, Daniel Stone { - Introduced igt_panthor_get_first_core(), which correctly computes the first available core using ffs() - Stopped hardcoding the page size and switched to getpagesize() instead, - Switched to more specific versions of igt_assert as appropriate (like igt_assert_neq(), etc) - Simplified panthor_group.c considerably by relying on the helpers in igt_panthor.[ch] - Switched to the syncobj_create() and syncobj_destroy() helpers. } - Added group creation helpers with sensible defaults (see igt_panthor_group_create_simple(), for example) - Picked up tags - Link to v2: https://lore.kernel.org/dri-devel/[email protected]/ Changes from v1: - Rebased on top of the latest master - Squashed patch 3 from v1 into patch 2. - Switched to /* */ comments in headers - Initialized padding fields to 0 as applicable in group_destroy and vm_destroy - Removed wrong assert(gpu_rev != 0) - Changed indentation to use tabs - Rework igt_panthor_mmap_bo to take an offset (so we don't call the mmap_offset ioctl twice) - Added igt_describe and docs to the functions igt_panthor.c - Linked to the driver in the cover letter and patch 1. - Improved the commit message for patch 1. Link to v1: https://lore.kernel.org/dri-devel/[email protected]/ Daniel Almeida (3): lib: add support for opening Panthor devices panthor: add initial infrastructure tests/panthor: add panthor tests lib/drmtest.c | 1 + lib/drmtest.h | 1 + lib/igt_panthor.c | 372 ++++++++++++++++++++++++++++++++++ lib/igt_panthor.h | 221 ++++++++++++++++++++ lib/meson.build | 1 + meson.build | 8 + tests/meson.build | 2 + tests/panthor/meson.build | 15 ++ tests/panthor/panthor_gem.c | 72 +++++++ tests/panthor/panthor_group.c | 123 +++++++++++ tests/panthor/panthor_query.c | 29 +++ tests/panthor/panthor_vm.c | 84 ++++++++ 12 files changed, 929 insertions(+) create mode 100644 lib/igt_panthor.c create mode 100644 lib/igt_panthor.h create mode 100644 tests/panthor/meson.build create mode 100644 tests/panthor/panthor_gem.c create mode 100644 tests/panthor/panthor_group.c create mode 100644 tests/panthor/panthor_query.c create mode 100644 tests/panthor/panthor_vm.c -- 2.51.0
