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: 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>,
Jani Nikula <jani.nikula@intel.com>,
igt-dev@lists.freedesktop.org, kernel-dev@igalia.com
Subject: [PATCH i-g-t v4 1/8] lib/igt_kms: clear colorop-changed flag after commit
Date: Mon, 17 Aug 2026 17:07:42 +0200 [thread overview]
Message-ID: <20260817150749.66509-2-mwen@igalia.com> (raw)
In-Reply-To: <20260817150749.66509-1-mwen@igalia.com>
The userspace can update only currently active colorops or colorops that
will be activated or deactivated in the same commit. Active colorop
means a colorop that is in the chain of an active color pipeline, i.e.
the pipeline in plane COLOR_PIPELINE property.
Don't request colorop updates if there is no change in the atomic
commit. This fixes atomic commit rejections after test skips, caused by
incorrect attempts to change properties of inactive colorops.
Assisted-by: Claude:claude-opus-4-7
Tested-by: Alex Hung <alex.hung@amd.com>
Reviewed-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
Signed-off-by: Melissa Wen <mwen@igalia.com>
---
v3:
- use uint32_t variable for igt_find_colorop (Alex H).
---
lib/igt_kms.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 42cc7c3bd..4b8f1c2a0 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -4862,6 +4862,7 @@ display_commit_changed(igt_display_t *display, enum igt_commit_style s)
{
int i;
igt_crtc_t *crtc;
+ igt_colorop_t *colorop;
for_each_crtc(display, crtc) {
igt_plane_t *plane;
@@ -4891,6 +4892,20 @@ display_commit_changed(igt_display_t *display, enum igt_commit_style s)
int fd;
plane->changed = 0;
+ /* clear changed flags on every colorop in the assigned chain
+ * so already-committed property values aren't re-emitted on
+ * the next commit.
+ */
+ colorop = plane->assigned_color_pipeline;
+ while (colorop) {
+ uint32_t next_val;
+
+ colorop->changed = 0;
+ next_val = igt_colorop_get_prop(display, colorop,
+ IGT_COLOROP_NEXT);
+ colorop = igt_find_colorop(display, next_val);
+ }
+
fd = plane->values[IGT_PLANE_IN_FENCE_FD];
if (fd != -1)
close(fd);
--
2.53.0
next prev parent reply other threads:[~2026-08-17 15:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-17 15:07 [PATCH i-g-t v4 0/8] tests/kms_colorop: don't request colorop updates indefinitely and other improvements Melissa Wen
2026-08-17 15:07 ` Melissa Wen [this message]
2026-08-17 15:07 ` [PATCH i-g-t v4 2/8] tests/kms_colorop_helper: only check if a given enum value exists Melissa Wen
2026-08-17 15:07 ` [PATCH i-g-t v4 3/8] tests/kms_properties: don't check colorop if no plane color pipeline prop Melissa Wen
2026-08-17 15:07 ` [PATCH i-g-t v4 4/8] tests/kms_properties: give non-primary planes their own fb Melissa Wen
2026-08-17 15:07 ` [PATCH i-g-t v4 5/8] lib/igt_kms: extend igt_plane_set_color_pipeline to accept Bypass Melissa Wen
2026-08-17 15:07 ` [PATCH i-g-t v4 6/8] tests/kms_properties: check colorop properties on active color pipelines Melissa Wen
2026-08-17 15:07 ` [PATCH i-g-t v4 7/8] tests/kms_color_pipeline: skip if not an Intel device Melissa Wen
2026-08-17 15:07 ` [PATCH i-g-t v4 8/8] lib/igt_kms: add macros to iterate color pipelines and colorops Melissa Wen
2026-08-17 15:57 ` Jani Nikula
2026-08-18 17:05 ` Melissa Wen
2026-08-17 21:28 ` ✓ Xe.CI.BAT: success for tests/kms_colorop: don't request colorop updates indefinitely and other improvements Patchwork
2026-08-17 21:28 ` ✓ i915.CI.BAT: " Patchwork
2026-08-18 0:11 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-08-18 10:32 ` ✗ i915.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=20260817150749.66509-2-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=jani.nikula@intel.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox