From: Melissa Wen <mwen@igalia.com>
To: Petri Latvala <adrinael@adrinael.net>,
Arkadiusz Hiler <arek@hiler.eu>,
Kamil Konieczny <kamil.konieczny@linux.intel.com>,
Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>,
Bhanuprakash Modem <bhanuprakash.modem@gmail.com>,
Ashutosh Dixit <ashutosh.dixit@intel.com>,
Karthik B S <karthik.b.s@intel.com>
Cc: igt-dev@lists.freedesktop.org, kernel-dev@igalia.com,
Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>,
Alex Hung <alex.hung@amd.com>,
Swati Sharma <swati2.sharma@intel.com>,
John Harrison <John.Harrison@Igalia.com>,
Rodrigo Siqueira <siqueira@igalia.com>,
Simon Ser <contact@emersion.fr>, Xaver Hugl <xaver.hugl@kde.org>,
Harry Wentland <harry.wentland@amd.com>,
Uma Shankar <uma.shankar@intel.com>
Subject: [PATCH i-g-t v5 0/8] test/kms_colorop_helper: don't request colorop updates indefinitely
Date: Wed, 2 Sep 2026 19:58:00 +0200 [thread overview]
Message-ID: <20260902180016.303482-1-mwen@igalia.com> (raw)
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
next reply other threads:[~2026-09-02 18:06 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-02 17:58 Melissa Wen [this message]
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-30 16:06 ` Harry Wentland
2026-09-30 19:37 ` Melissa Wen
2026-09-30 21:02 ` Harry Wentland
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-30 15:43 ` Harry Wentland
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-30 15:44 ` Harry Wentland
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-30 15:45 ` Harry Wentland
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260902180016.303482-1-mwen@igalia.com \
--to=mwen@igalia.com \
--cc=John.Harrison@Igalia.com \
--cc=adrinael@adrinael.net \
--cc=alex.hung@amd.com \
--cc=arek@hiler.eu \
--cc=ashutosh.dixit@intel.com \
--cc=bhanuprakash.modem@gmail.com \
--cc=chaitanya.kumar.borah@intel.com \
--cc=contact@emersion.fr \
--cc=harry.wentland@amd.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=juhapekka.heikkila@gmail.com \
--cc=kamil.konieczny@linux.intel.com \
--cc=karthik.b.s@intel.com \
--cc=kernel-dev@igalia.com \
--cc=siqueira@igalia.com \
--cc=swati2.sharma@intel.com \
--cc=uma.shankar@intel.com \
--cc=xaver.hugl@kde.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.