All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t v5 0/8] test/kms_colorop_helper: don't request colorop updates indefinitely
@ 2026-09-02 17:58 Melissa Wen
  2026-09-02 17:58 ` [PATCH i-g-t v5 1/8] lib/igt_kms: clear colorop-changed flag after commit Melissa Wen
                   ` (10 more replies)
  0 siblings, 11 replies; 19+ messages in thread
From: Melissa Wen @ 2026-09-02 17:58 UTC (permalink / raw)
  To: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
	Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
	Karthik B S
  Cc: igt-dev, kernel-dev, Chaitanya Kumar Borah, Alex Hung,
	Swati Sharma, John Harrison, Rodrigo Siqueira, Simon Ser,
	Xaver Hugl, Harry Wentland, Uma Shankar

IGT currently lets colorop property changes be staged on color pipelines that
aren't active, which the uAPI will reject after some kernel fixes [1]:
colorop properties may only change on a currently active pipeline, or on one
activated or deactivated in the same atomic commit. This series fixes the
lib/igt_kms and colorop property tests to respect it.

- Patch 1 clears the colorop changed flag after a commit, so that later
  commits don't re-submit changes on an inactive color pipeline.

- Patch 2 prevents a colorop from being marked as changed just for checking
  whether a property enum value is supported. Together with patch 1, this
  matches the current expectation of allowing property changes on colorops
  that are part of a currently active color pipeline, or of a color pipeline
  that will be activated or deactivated in the same atomic commit, while
  rejecting attempts to change inactive colorops.

- Patch 3 restricts colorop property testing to planes that support the plane
  COLOR_PIPELINE property, i.e. planes that have a colorop pipeline, since not
  all planes have to support it.

- Patch 4 attaches a different framebuffer to non-primary planes so that the
  primary plane stays enabled and, with it, the CRTC under test: AMD requires
  an active primary plane to keep the CRTC active.

- Patch 5 extends igt_plane_set_color_pipeline() to accept NULL as the
  "Bypass" color pipeline and removes set_color_pipeline_bypass(), converting
  all its callers.

- Patch 6 fixes the kms_properties tests to match the colorop update
  requirement of only allowing changes to colorops that are part of an active
  plane color pipeline.

- Patch 7 move kms_color_pipeline to Intel's folder and make sure it only runs
  on Intel devices. As color validation works better with writeback than with
  CRC, other devices should run kms_colorop if they have writeback support.
  Currently, AMD and VKMS support colorop and writeback, and intel is the only
  one that still needs CRC-based test. If a new driver is in the same
  situation as intel, they can move kms_color_pipeline back to generic folder
  and work on adapting it to their specs. 

- Patch 8 adds macros for walking the colorops in a color pipeline, as
  well as all the color pipelines supported by a given plane.

[1] https://lore.kernel.org/dri-devel/20260811171011.184964-1-mwen@igalia.com/

Let me know your thoughts!

Melissa

[v1] https://lore.kernel.org/igt-dev/20260526140752.503380-1-mwen@igalia.com/
Changes:
- cover kms_properties (John H)
- add Alex H t-b tags

[v2] https://lore.kernel.org/igt-dev/20260602211259.898147-1-mwen@igalia.com/
Changes:
- split patch 3 into three: one that checks that the COLOR_PIPELINE property
  exists before testing colorops of a given plane; another to ensure an active
  primary plane for each CRTC to match AMD's requirement; and the last one to
  only check colorop properties if they're part of an active color pipeline
- extra space fix

[v3] https://lore.kernel.org/igt-dev/20260811143558.141813-1-mwen@igalia.com/
Changes:
- fix memory leak when enabling/disabling non-primary planes (Alex H/Chaitanya)
- fix type of variable to match igt_find_colorop (Alex H)
- fix typo and grammar in commit messages (Alex H)
- do the Intel device check earlier
- new patch extending igt_plane_set_color_pipeline() to accept NULL as
  "Bypass", replacing the open-coded setting in patch 6
- new patch adding macros for walking color pipelines and colorops (Jani)

[v4] https://lore.kernel.org/igt-dev/20260817150749.66509-1-mwen@igalia.com/
Changes:
- overall improvements on commit messages
- don't change plane->assigned_color_pipeline if setting to bypass to ensure no functional change
- commit changes when restoring color pipeline to bypass
- move kms_color_pipeline to intel's folder (Alex H and Harry)
- store next on colorop struct when discovering colorop since this is immutable
  and remove now unused igt_find_colorop and proposed igt_colorop_next
- use igt_unique to guard the iterator in a macro

Melissa Wen (8):
  lib/igt_kms: clear colorop-changed flag after commit
  tests/kms_colorop_helper: only check if a given enum value exists
  tests/kms_properties: don't check colorop if no plane color pipeline
    prop
  tests/kms_properties: give non-primary planes their own fb
  lib/igt_kms: extend igt_plane_set_color_pipeline to accept Bypass
  tests/kms_properties: check colorop properties on active color
    pipelines
  tests/intel/kms_color_pipeline: move driver-specific test to intel's
    folder
  lib/igt_kms: add macros to iterate color pipelines and colorops

 lib/igt_kms.c                                 | 122 +++++++++++-------
 lib/igt_kms.h                                 |  36 +++++-
 .../chamelium/kms_chamelium_color_pipeline.c  |   2 +-
 tests/{ => intel}/kms_color_pipeline.c        |   4 +-
 tests/kms_colorop.c                           |  23 ++--
 tests/kms_colorop_helper.c                    |  49 +++----
 tests/kms_colorop_helper.h                    |   1 -
 tests/kms_properties.c                        |  43 ++++--
 tests/meson.build                             |   2 +-
 9 files changed, 166 insertions(+), 116 deletions(-)
 rename tests/{ => intel}/kms_color_pipeline.c (98%)

-- 
2.53.0


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

end of thread, other threads:[~2026-09-09  8:32 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-02 17:58 [PATCH i-g-t v5 0/8] test/kms_colorop_helper: don't request colorop updates indefinitely Melissa Wen
2026-09-02 17:58 ` [PATCH i-g-t v5 1/8] lib/igt_kms: clear colorop-changed flag after commit Melissa Wen
2026-09-02 17:58 ` [PATCH i-g-t v5 2/8] tests/kms_colorop_helper: only check if a given enum value exists Melissa Wen
2026-09-02 17:58 ` [PATCH i-g-t v5 3/8] tests/kms_properties: don't check colorop if no plane color pipeline prop Melissa Wen
2026-09-02 17:58 ` [PATCH i-g-t v5 4/8] tests/kms_properties: give non-primary planes their own fb Melissa Wen
2026-09-02 17:58 ` [PATCH i-g-t v5 5/8] lib/igt_kms: extend igt_plane_set_color_pipeline to accept Bypass Melissa Wen
2026-09-09  7:54   ` Borah, Chaitanya Kumar
2026-09-02 17:58 ` [PATCH i-g-t v5 6/8] tests/kms_properties: check colorop properties on active color pipelines Melissa Wen
2026-09-09  7:55   ` Borah, Chaitanya Kumar
2026-09-02 17:58 ` [PATCH i-g-t v5 7/8] tests/intel/kms_color_pipeline: move driver-specific test to intel's folder Melissa Wen
2026-09-08 19:17   ` Sharma, Swati2
2026-09-09  7:56   ` Borah, Chaitanya Kumar
2026-09-02 17:58 ` [PATCH i-g-t v5 8/8] lib/igt_kms: add macros to iterate color pipelines and colorops Melissa Wen
2026-09-03 10:44   ` Jani Nikula
2026-09-09  8:31     ` Jani Nikula
2026-09-09  7:56   ` Borah, Chaitanya Kumar
2026-09-02 23:19 ` ✓ Xe.CI.BAT: success for test/kms_colorop_helper: don't request colorop updates indefinitely (rev3) Patchwork
2026-09-02 23:22 ` ✗ i915.CI.BAT: failure " Patchwork
2026-09-03 15:30 ` ✗ Xe.CI.FULL: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.