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

Reply via email to