Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t v3 00/41] VKMS configfs tests
@ 2025-07-15 10:24 José Expósito
  2025-07-15 10:24 ` [PATCH i-g-t v3 01/41] lib/drmtest: Add VKMS as a known driver type José Expósito
                   ` (44 more replies)
  0 siblings, 45 replies; 81+ messages in thread
From: José Expósito @ 2025-07-15 10:24 UTC (permalink / raw)
  To: igt-dev; +Cc: louis.chauvet, zbigniew.kempczynski, José Expósito

Hi everyone,

This series add tests for the VKMS + configfs work Louis Chauvet and I are doing
in the kernel.

This new functionality allows to configure one or more VKMS instances without
having to reload the driver using configfs.

For more details, have a look to the kernel patchset and the documentation in
"vkms.rst" (not merged yet). [1]

There was a previous attempt to implement this tests [2] and I kept copyright
were required.

Massive thank you to Louis Chauvet who is doing a fenomenal work reviewing this
(very long) series of patches.

Best wishes,
José Expósito

[1] https://lore.kernel.org/dri-devel/20250507135431.53907-1-jose.exposito89@gmail.com/
[2] https://lists.freedesktop.org/archives/igt-dev/2023-September/060717.html

Changes in v3:

  - Rebased on the latest master branch
  - Link to v2: https://lore.kernel.org/igt-dev/20250313173318.5818-1-jose.exposito89@gmail.com/

Changes in v2:
  - Applied review comments by Louis Chauvet:
    - Added missing references to DRIVER_VKMS in drmtest.c
    - Loading vkms with drm_load_module(DRIVER_VKMS) in igt_fixture 
    - Documented igt_is_mountpoint()
    - Checked the return value of snprintf() and fprintf()
    - Removed unnecessary empty items ({ {} }) in items in igt_vkms_config_t
    - Added new tests testing the valid values for planes, CRTCs and connectors
    - Remove code duplication generating configfs paths by adding helpers
  - Using udev instead of drmGetDevices() to find VKMS devices in a new patch
    "lib/igt_device_scan: Allow to find device by name". This change is required
    to support the faux bus. See:
    https://lists.freedesktop.org/archives/igt-dev/2025-February/086510.html
  - Rebased on the latest "master"
  - Link to v1: https://lists.freedesktop.org/archives/igt-dev/2025-February/086071.html

José Expósito (41):
  lib/drmtest: Add VKMS as a known driver type
  lib/vkms: Add minimal VKMS library and test device default files
  lib/vkms: Allow to enable/disable VKMS devices
  tests/vkms_configfs: Test device invalid values
  lib/vkms: Test plane default files
  lib/vkms: Test plane default values
  lib/vkms: Test plane invalid values
  tests/vkms_configfs: Test plane valid values
  lib/vkms: Test CRTC default files
  lib/vkms: Test CRTC default values
  lib/vkms: Test CRTC invalid values
  tests/vkms_configfs: Test CRTC valid values
  lib/vkms: Test encoder default files
  lib/vkms: Test connector default files
  lib/vkms: Test connector default values
  lib/vkms: Test connector invalid values
  tests/vkms_configfs: Test connector valid values
  lib/vkms: Test attaching planes to CRTCs
  lib/vkms: Test attaching encoders to CRTCs
  lib/vkms: Test attaching connectors to encoders
  lib/igt_device_scan: Allow to find device by sysname
  tests/vkms_configfs: Test enablement without pipeline items
  lib/vkms: Create VKMS device from static config
  tests/vkms_configfs: Test adding too many planes
  tests/vkms_configfs: Test not adding a primary plane
  tests/vkms_configfs: Test adding multiple primary planes
  tests/vkms_configfs: Test adding multiple cursor planes
  tests/vkms_configfs: Test adding a plane without possible CRTCs
  tests/vkms_configfs: Test enabling a device without CRTCs
  tests/vkms_configfs: Test enabling a device with too many CRTCs
  tests/vkms_configfs: Test enabling a device without encoders
  tests/vkms_configfs: Test enabling a device with too many encoders
  tests/vkms_configfs: Test adding an encoder without possible CRTCs
  tests/vkms_configfs: Test adding a CRTC without encoders
  tests/vkms_configfs: Test enabling a device without connectors
  tests/vkms_configfs: Test enabling a device with too many connectors
  lib/vkms: Test changing enabled device planes
  lib/vkms: Test changing enabled device CRTCs
  lib/vkms: Test changing enabled device encoders
  lib/vkms: Test changing enabled device connectors
  tests/vkms_configfs: Test connector hot-plug

 docs/testplan/meson.build        |    7 +-
 lib/drmtest.c                    |   21 +
 lib/drmtest.h                    |    6 +-
 lib/igt_device_scan.c            |   22 +
 lib/igt_device_scan.h            |    2 +
 lib/igt_vkms.c                   | 1004 +++++++++++++++
 lib/igt_vkms.h                   |  132 ++
 lib/meson.build                  |    1 +
 meson.build                      |    8 +
 tests/meson.build                |    2 +
 tests/vkms/meson.build           |   13 +
 tests/vkms/vkms_configfs.c       | 1963 ++++++++++++++++++++++++++++++
 tests/vkms/vkms_test_config.json |   72 ++
 13 files changed, 3250 insertions(+), 3 deletions(-)
 create mode 100644 lib/igt_vkms.c
 create mode 100644 lib/igt_vkms.h
 create mode 100644 tests/vkms/meson.build
 create mode 100644 tests/vkms/vkms_configfs.c
 create mode 100644 tests/vkms/vkms_test_config.json


base-commit: bdf12f964ada9bf06109285154345d12745c1c63
-- 
2.50.0


^ permalink raw reply	[flat|nested] 81+ messages in thread

end of thread, other threads:[~2025-08-07  8:25 UTC | newest]

Thread overview: 81+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-15 10:24 [PATCH i-g-t v3 00/41] VKMS configfs tests José Expósito
2025-07-15 10:24 ` [PATCH i-g-t v3 01/41] lib/drmtest: Add VKMS as a known driver type José Expósito
2025-07-16  9:22   ` Louis Chauvet
2025-07-15 10:24 ` [PATCH i-g-t v3 02/41] lib/vkms: Add minimal VKMS library and test device default files José Expósito
2025-07-16  9:22   ` Louis Chauvet
2025-08-05  9:20     ` José Expósito
2025-08-05 16:29       ` Kamil Konieczny
2025-08-06  8:38         ` José Expósito
2025-08-07  4:40         ` Karthik B S
2025-08-07  7:48           ` José Expósito
2025-08-07  8:25             ` Louis Chauvet
2025-07-21 16:33   ` Kamil Konieczny
2025-07-23  6:40     ` Karthik B S
2025-07-15 10:24 ` [PATCH i-g-t v3 03/41] lib/vkms: Allow to enable/disable VKMS devices José Expósito
2025-07-16  9:22   ` Louis Chauvet
2025-07-15 10:24 ` [PATCH i-g-t v3 04/41] tests/vkms_configfs: Test device invalid values José Expósito
2025-07-16  9:22   ` Louis Chauvet
2025-07-15 10:24 ` [PATCH i-g-t v3 05/41] lib/vkms: Test plane default files José Expósito
2025-07-16  9:22   ` Louis Chauvet
2025-07-15 10:24 ` [PATCH i-g-t v3 06/41] lib/vkms: Test plane default values José Expósito
2025-07-15 10:24 ` [PATCH i-g-t v3 07/41] lib/vkms: Test plane invalid values José Expósito
2025-07-15 10:24 ` [PATCH i-g-t v3 08/41] tests/vkms_configfs: Test plane valid values José Expósito
2025-07-16  9:24   ` Louis Chauvet
2025-07-15 10:24 ` [PATCH i-g-t v3 09/41] lib/vkms: Test CRTC default files José Expósito
2025-07-15 10:24 ` [PATCH i-g-t v3 10/41] lib/vkms: Test CRTC default values José Expósito
2025-07-15 10:24 ` [PATCH i-g-t v3 11/41] lib/vkms: Test CRTC invalid values José Expósito
2025-07-15 10:24 ` [PATCH i-g-t v3 12/41] tests/vkms_configfs: Test CRTC valid values José Expósito
2025-07-16  9:26   ` Louis Chauvet
2025-07-15 10:24 ` [PATCH i-g-t v3 13/41] lib/vkms: Test encoder default files José Expósito
2025-07-16  9:28   ` Louis Chauvet
2025-07-21 16:35   ` Kamil Konieczny
2025-07-15 10:24 ` [PATCH i-g-t v3 14/41] lib/vkms: Test connector " José Expósito
2025-07-16  9:34   ` Louis Chauvet
2025-07-15 10:24 ` [PATCH i-g-t v3 15/41] lib/vkms: Test connector default values José Expósito
2025-07-16  9:39   ` Louis Chauvet
2025-07-15 10:24 ` [PATCH i-g-t v3 16/41] lib/vkms: Test connector invalid values José Expósito
2025-07-16  9:41   ` Louis Chauvet
2025-08-05 12:42     ` José Expósito
2025-07-15 10:24 ` [PATCH i-g-t v3 17/41] tests/vkms_configfs: Test connector valid values José Expósito
2025-07-16  9:42   ` Louis Chauvet
2025-07-15 10:24 ` [PATCH i-g-t v3 18/41] lib/vkms: Test attaching planes to CRTCs José Expósito
2025-07-16  9:48   ` Louis Chauvet
2025-07-15 10:24 ` [PATCH i-g-t v3 19/41] lib/vkms: Test attaching encoders " José Expósito
2025-07-16  9:49   ` Louis Chauvet
2025-07-15 10:24 ` [PATCH i-g-t v3 20/41] lib/vkms: Test attaching connectors to encoders José Expósito
2025-07-16  9:49   ` Louis Chauvet
2025-07-15 10:24 ` [PATCH i-g-t v3 21/41] lib/igt_device_scan: Allow to find device by sysname José Expósito
2025-07-16  9:51   ` Louis Chauvet
2025-07-15 10:24 ` [PATCH i-g-t v3 22/41] tests/vkms_configfs: Test enablement without pipeline items José Expósito
2025-07-16  9:53   ` Louis Chauvet
2025-07-15 10:24 ` [PATCH i-g-t v3 23/41] lib/vkms: Create VKMS device from static config José Expósito
2025-07-15 10:24 ` [PATCH i-g-t v3 24/41] tests/vkms_configfs: Test adding too many planes José Expósito
2025-07-15 10:24 ` [PATCH i-g-t v3 25/41] tests/vkms_configfs: Test not adding a primary plane José Expósito
2025-07-15 10:24 ` [PATCH i-g-t v3 26/41] tests/vkms_configfs: Test adding multiple primary planes José Expósito
2025-07-15 10:24 ` [PATCH i-g-t v3 27/41] tests/vkms_configfs: Test adding multiple cursor planes José Expósito
2025-07-15 10:25 ` [PATCH i-g-t v3 28/41] tests/vkms_configfs: Test adding a plane without possible CRTCs José Expósito
2025-07-15 10:25 ` [PATCH i-g-t v3 29/41] tests/vkms_configfs: Test enabling a device without CRTCs José Expósito
2025-07-16  9:54   ` Louis Chauvet
2025-07-15 10:25 ` [PATCH i-g-t v3 30/41] tests/vkms_configfs: Test enabling a device with too many CRTCs José Expósito
2025-07-15 10:25 ` [PATCH i-g-t v3 31/41] tests/vkms_configfs: Test enabling a device without encoders José Expósito
2025-07-16  9:55   ` Louis Chauvet
2025-07-15 10:25 ` [PATCH i-g-t v3 32/41] tests/vkms_configfs: Test enabling a device with too many encoders José Expósito
2025-07-15 10:25 ` [PATCH i-g-t v3 33/41] tests/vkms_configfs: Test adding an encoder without possible CRTCs José Expósito
2025-07-15 10:25 ` [PATCH i-g-t v3 34/41] tests/vkms_configfs: Test adding a CRTC without encoders José Expósito
2025-07-15 10:25 ` [PATCH i-g-t v3 35/41] tests/vkms_configfs: Test enabling a device without connectors José Expósito
2025-07-15 10:25 ` [PATCH i-g-t v3 36/41] tests/vkms_configfs: Test enabling a device with too many connectors José Expósito
2025-07-15 10:25 ` [PATCH i-g-t v3 37/41] lib/vkms: Test changing enabled device planes José Expósito
2025-07-16 12:07   ` Louis Chauvet
2025-07-15 10:25 ` [PATCH i-g-t v3 38/41] lib/vkms: Test changing enabled device CRTCs José Expósito
2025-07-16 12:07   ` Louis Chauvet
2025-07-15 10:25 ` [PATCH i-g-t v3 39/41] lib/vkms: Test changing enabled device encoders José Expósito
2025-07-16 12:08   ` Louis Chauvet
2025-07-15 10:25 ` [PATCH i-g-t v3 40/41] lib/vkms: Test changing enabled device connectors José Expósito
2025-07-16 12:08   ` Louis Chauvet
2025-07-15 10:25 ` [PATCH i-g-t v3 41/41] tests/vkms_configfs: Test connector hot-plug José Expósito
2025-07-16 12:08   ` Louis Chauvet
2025-07-15 22:34 ` ✓ Xe.CI.BAT: success for VKMS configfs tests (rev6) Patchwork
2025-07-15 22:37 ` ✓ i915.CI.BAT: " Patchwork
2025-07-16  9:14 ` ✗ Xe.CI.Full: failure " Patchwork
2025-07-16 14:20 ` ✗ i915.CI.Full: " Patchwork
2025-07-21 16:16   ` Kamil Konieczny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox