[igt-dev] [PATCH i-g-t 0/4] Add vkms configfs testing

Marius Vlad marius.vlad at collabora.com
Fri Sep 1 09:28:15 UTC 2023


With this series we add some basic tests for sanity checking the
ConfigFS functionality into the vkms driver. This would allow to create
and to customize dynamically the entire DRM pipeline.

This small series adds a new library (igt_vkms) for creating the entire
pipeline, as well as enabling the device and set the connectors as
connected or disconnected. Further more it adds some helpers
(igt_configfs) to create the proper ConfigFS mount point.

The sub-tests in this series added are:

- a basic device test, that creates an entire pipeline with a primary
  plane
- an empty test, that doesn't create a primary plane and which should
  fail
- a test that creates multiple overlay and cursor planes
- a test that creates multiple pipelines
- a test similar to basic device test but that also disables the vkms
  device at the end

These kernel changes were written initially by Jim Shargo, and then were
picked up by Brandon Pollack. As of today the latest version is at 
https://patchwork.kernel.org/project/dri-devel/list/?series=780110

The i-g-t changes were also developed by Jim Shargo, and I've massaged
them a bit doing some minor changes since their inception. These changes
are:

- replaced all string strcat/strcpy with snprintfs
- renamed all _permit_ functions to _attach_
- added documentation for all public functions
- vkms_crtc_no_primary_test was fixed such that should it now fails
  as expected
- split the changes one more time, and group one of the patches 
  with the introduction of igt_configfs
- fixed skipping the (sub)tests if vkms wasn't found loaded

I've kept the original author as Jim was the original person
working on them.

For history purposes I've picked these up from 
https://gitlab.freedesktop.org/jshargo/igt-gpu-tools/-/merge_requests/1.

Jim Shargo (4):
  lib/drmtest: Add VKMS as a known driver type
  lib/confifs: Add helpers for mounting/unmounting configfs
  tests/vkms: Add a small library for VKMS testing
  tests/vkms: Add more tests for VKMS

 lib/drmtest.c              |  26 ++
 lib/drmtest.h              |   9 +-
 lib/igt.h                  |   3 +-
 lib/igt_aux.c              |  25 ++
 lib/igt_aux.h              |   2 +
 lib/igt_configfs.c         | 106 ++++++++
 lib/igt_configfs.h         |  36 +++
 lib/igt_debugfs.c          |  29 +--
 lib/igt_vkms.c             | 514 +++++++++++++++++++++++++++++++++++++
 lib/igt_vkms.h             |  66 +++++
 lib/meson.build            |   2 +
 tests/meson.build          |  13 +
 tests/vkms/vkms_configfs.c | 194 ++++++++++++++
 13 files changed, 995 insertions(+), 30 deletions(-)
 create mode 100644 lib/igt_configfs.c
 create mode 100644 lib/igt_configfs.h
 create mode 100644 lib/igt_vkms.c
 create mode 100644 lib/igt_vkms.h
 create mode 100644 tests/vkms/vkms_configfs.c

-- 
2.40.1



More information about the igt-dev mailing list