Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t v4 00/41] VKMS configfs tests
@ 2025-08-07  7:45 José Expósito
  2025-08-07  7:45 ` [PATCH i-g-t v4 01/41] lib/drmtest: Add VKMS as a known driver type José Expósito
                   ` (45 more replies)
  0 siblings, 46 replies; 58+ messages in thread
From: José Expósito @ 2025-08-07  7:45 UTC (permalink / raw)
  To: igt-dev
  Cc: louis.chauvet, zbigniew.kempczynski, kamil.konieczny, karthik.b.s,
	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 v4:

  - Rebased on the latest master branch
  - Added reviewed-by tags (Louis)
  - Added missing "static" to some consts (Kamil)
  - Updated copyright year (Kamil)
  - Using #include <limits.h> instead of <linux/limits.h> (Kamil)
  - Sorted alphabetically includes (Kamil)
  - Dropped VKMS tests from the testplan (Kamil and Karthik)
  - Link to v3: https://lore.kernel.org/igt-dev/20250715102513.5636-1-jose.exposito89@gmail.com/

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

 lib/drmtest.c              |   21 +
 lib/drmtest.h              |    6 +-
 lib/igt_device_scan.c      |   22 +
 lib/igt_device_scan.h      |    2 +
 lib/igt_vkms.c             | 1003 ++++++++++++++++++
 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 | 1962 ++++++++++++++++++++++++++++++++++++
 11 files changed, 3171 insertions(+), 1 deletion(-)
 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


base-commit: dfce662f38d1e272363d37a9cfbcbfee379fa851
-- 
2.50.1


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

end of thread, other threads:[~2025-09-08 11:30 UTC | newest]

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

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