* [PATCH i-g-t 1/3] lib/kms: Introduce for_each_plane_format()
@ 2026-04-16 14:13 Ville Syrjala
2026-04-16 14:13 ` [PATCH i-g-t 2/3] lib/kms: Use for_each_plane_format() for the msm scaler counting Ville Syrjala
` (5 more replies)
0 siblings, 6 replies; 10+ messages in thread
From: Ville Syrjala @ 2026-04-16 14:13 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
A few places want to iterate just the formats supported by a plane,
ignoring the modifier aspect entirely. Add a new iterator for this
(for_each_plane_format()) to avoid everyone just open coding it.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
lib/igt_kms.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index fcbb6a5ade3a..a58cb5cd3430 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -816,6 +816,18 @@ igt_output_crtc_t *__igt_output_crtc_populate(igt_display_t *display,
(mode) < &(output)->config.connector->modes[(output)->config.connector->count_modes]; \
(mode)++)
+/**
+ * for_each_plane_format:
+ * @plane: a pointer to an #igt_plane_t structure
+ * @format: format iterator
+ *
+ * This for loop iterates over all formats supported by @plane.
+ */
+#define for_each_plane_format(plane, format) \
+ for (int __i = 0; __i < (plane)->drm_plane->count_formats; __i++) \
+ for_each_if (((format) = (plane)->drm_plane->formats[__i], \
+ 1))
+
#define IGT_FIXED(i,f) ((i) << 16 | (f))
/**
--
2.52.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH i-g-t 2/3] lib/kms: Use for_each_plane_format() for the msm scaler counting
2026-04-16 14:13 [PATCH i-g-t 1/3] lib/kms: Introduce for_each_plane_format() Ville Syrjala
@ 2026-04-16 14:13 ` Ville Syrjala
2026-04-16 15:47 ` Jani Nikula
2026-04-16 14:13 ` [PATCH i-g-t 3/3] tests/kms: Use for_each_plane_format() Ville Syrjala
` (4 subsequent siblings)
5 siblings, 1 reply; 10+ messages in thread
From: Ville Syrjala @ 2026-04-16 14:13 UTC (permalink / raw)
To: igt-dev; +Cc: Rob Clark
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Currently the scaler counting loop iterates over the entire
format_mod blob format list. That list may contain a lot of duplicate
formats (one for each modifier supported with that format), so this
is a bit inefficient. Iterate the plane's format list instead which
has no duplicates.
Cc: Rob Clark <robdclark@chromium.org>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
lib/igt_kms.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 2d758b63c043..4cc7c06812c8 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -7504,10 +7504,11 @@ int igt_crtc_num_scalers(igt_crtc_t *crtc)
* as a rough approximation of the # of scalars.. it may
* undercount on some hw, but it will not overcount
*/
- for_each_plane_on_crtc(crtc,
- plane) {
- for (unsigned i = 0; i < plane->format_mod_count; i++) {
- if (igt_format_is_yuv(plane->formats[i])) {
+ for_each_plane_on_crtc(crtc, plane) {
+ uint32_t format;
+
+ for_each_plane_format(plane, format) {
+ if (igt_format_is_yuv(format)) {
num_scalers++;
break;
}
--
2.52.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH i-g-t 3/3] tests/kms: Use for_each_plane_format()
2026-04-16 14:13 [PATCH i-g-t 1/3] lib/kms: Introduce for_each_plane_format() Ville Syrjala
2026-04-16 14:13 ` [PATCH i-g-t 2/3] lib/kms: Use for_each_plane_format() for the msm scaler counting Ville Syrjala
@ 2026-04-16 14:13 ` Ville Syrjala
2026-04-16 15:44 ` Jani Nikula
2026-04-16 15:44 ` [PATCH i-g-t 1/3] lib/kms: Introduce for_each_plane_format() Jani Nikula
` (3 subsequent siblings)
5 siblings, 1 reply; 10+ messages in thread
From: Ville Syrjala @ 2026-04-16 14:13 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Replace the open coded copies of for_each_plane_format()
with the real thing.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/kms_plane_scaling.c | 8 ++++----
tests/kms_rotation_crc.c | 7 +++----
2 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index fde8b8370c9f..90dc5593579f 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -800,16 +800,16 @@ test_scaler_with_pixel_format_crtc(data_t *d, double sf_plane,
for_each_plane_on_crtc(crtc, plane) {
struct igt_vec tested_formats;
+ int iteration = 0;
+ uint32_t format;
if (plane->type == DRM_PLANE_TYPE_CURSOR)
continue;
igt_vec_init(&tested_formats, sizeof(uint32_t));
- for (int j = 0; j < plane->drm_plane->count_formats; j++) {
- uint32_t format = plane->drm_plane->formats[j];
-
- if (!test_crtc_iteration(d, crtc, j))
+ for_each_plane_format(plane, format) {
+ if (!test_crtc_iteration(d, crtc, iteration++))
continue;
if (test_format(d, &tested_formats, format) &&
diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
index 4420053f1c6d..4a249ed21801 100644
--- a/tests/kms_rotation_crc.c
+++ b/tests/kms_rotation_crc.c
@@ -606,7 +606,7 @@ static void test_plane_rotation(data_t *data, int plane_type, bool test_bad_form
for_each_crtc_with_valid_output(display, crtc, output) {
igt_plane_t *plane;
- int i, j, c;
+ int i, c;
igt_display_reset(display);
@@ -678,12 +678,11 @@ static void test_plane_rotation(data_t *data, int plane_type, bool test_bad_form
if (!data->override_fmt) {
struct igt_vec tested_formats;
+ uint32_t format;
igt_vec_init(&tested_formats, sizeof(uint32_t));
- for (j = 0; j < plane->drm_plane->count_formats; j++) {
- uint32_t format = plane->drm_plane->formats[j];
-
+ for_each_plane_format(plane, format) {
if (!test_format(data, &tested_formats, format))
continue;
--
2.52.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH i-g-t 1/3] lib/kms: Introduce for_each_plane_format()
2026-04-16 14:13 [PATCH i-g-t 1/3] lib/kms: Introduce for_each_plane_format() Ville Syrjala
2026-04-16 14:13 ` [PATCH i-g-t 2/3] lib/kms: Use for_each_plane_format() for the msm scaler counting Ville Syrjala
2026-04-16 14:13 ` [PATCH i-g-t 3/3] tests/kms: Use for_each_plane_format() Ville Syrjala
@ 2026-04-16 15:44 ` Jani Nikula
2026-04-16 16:07 ` Ville Syrjälä
2026-04-16 22:39 ` ✓ i915.CI.BAT: success for series starting with [i-g-t,1/3] " Patchwork
` (2 subsequent siblings)
5 siblings, 1 reply; 10+ messages in thread
From: Jani Nikula @ 2026-04-16 15:44 UTC (permalink / raw)
To: Ville Syrjala, igt-dev
On Thu, 16 Apr 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> A few places want to iterate just the formats supported by a plane,
> ignoring the modifier aspect entirely. Add a new iterator for this
> (for_each_plane_format()) to avoid everyone just open coding it.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> lib/igt_kms.h | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index fcbb6a5ade3a..a58cb5cd3430 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -816,6 +816,18 @@ igt_output_crtc_t *__igt_output_crtc_populate(igt_display_t *display,
> (mode) < &(output)->config.connector->modes[(output)->config.connector->count_modes]; \
> (mode)++)
>
> +/**
> + * for_each_plane_format:
> + * @plane: a pointer to an #igt_plane_t structure
> + * @format: format iterator
> + *
> + * This for loop iterates over all formats supported by @plane.
> + */
> +#define for_each_plane_format(plane, format) \
> + for (int __i = 0; __i < (plane)->drm_plane->count_formats; __i++) \
> + for_each_if (((format) = (plane)->drm_plane->formats[__i], \
> + 1))
Using kernel-style __UNIQUE_ID() for __i would be nice to have, but I
guess we don't have that facility in IGT.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> +
> #define IGT_FIXED(i,f) ((i) << 16 | (f))
>
> /**
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH i-g-t 3/3] tests/kms: Use for_each_plane_format()
2026-04-16 14:13 ` [PATCH i-g-t 3/3] tests/kms: Use for_each_plane_format() Ville Syrjala
@ 2026-04-16 15:44 ` Jani Nikula
0 siblings, 0 replies; 10+ messages in thread
From: Jani Nikula @ 2026-04-16 15:44 UTC (permalink / raw)
To: Ville Syrjala, igt-dev
On Thu, 16 Apr 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Replace the open coded copies of for_each_plane_format()
> with the real thing.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> tests/kms_plane_scaling.c | 8 ++++----
> tests/kms_rotation_crc.c | 7 +++----
> 2 files changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> index fde8b8370c9f..90dc5593579f 100644
> --- a/tests/kms_plane_scaling.c
> +++ b/tests/kms_plane_scaling.c
> @@ -800,16 +800,16 @@ test_scaler_with_pixel_format_crtc(data_t *d, double sf_plane,
>
> for_each_plane_on_crtc(crtc, plane) {
> struct igt_vec tested_formats;
> + int iteration = 0;
> + uint32_t format;
>
> if (plane->type == DRM_PLANE_TYPE_CURSOR)
> continue;
>
> igt_vec_init(&tested_formats, sizeof(uint32_t));
>
> - for (int j = 0; j < plane->drm_plane->count_formats; j++) {
> - uint32_t format = plane->drm_plane->formats[j];
> -
> - if (!test_crtc_iteration(d, crtc, j))
> + for_each_plane_format(plane, format) {
> + if (!test_crtc_iteration(d, crtc, iteration++))
> continue;
>
> if (test_format(d, &tested_formats, format) &&
> diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
> index 4420053f1c6d..4a249ed21801 100644
> --- a/tests/kms_rotation_crc.c
> +++ b/tests/kms_rotation_crc.c
> @@ -606,7 +606,7 @@ static void test_plane_rotation(data_t *data, int plane_type, bool test_bad_form
>
> for_each_crtc_with_valid_output(display, crtc, output) {
> igt_plane_t *plane;
> - int i, j, c;
> + int i, c;
>
> igt_display_reset(display);
>
> @@ -678,12 +678,11 @@ static void test_plane_rotation(data_t *data, int plane_type, bool test_bad_form
>
> if (!data->override_fmt) {
> struct igt_vec tested_formats;
> + uint32_t format;
>
> igt_vec_init(&tested_formats, sizeof(uint32_t));
>
> - for (j = 0; j < plane->drm_plane->count_formats; j++) {
> - uint32_t format = plane->drm_plane->formats[j];
> -
> + for_each_plane_format(plane, format) {
> if (!test_format(data, &tested_formats, format))
> continue;
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH i-g-t 2/3] lib/kms: Use for_each_plane_format() for the msm scaler counting
2026-04-16 14:13 ` [PATCH i-g-t 2/3] lib/kms: Use for_each_plane_format() for the msm scaler counting Ville Syrjala
@ 2026-04-16 15:47 ` Jani Nikula
0 siblings, 0 replies; 10+ messages in thread
From: Jani Nikula @ 2026-04-16 15:47 UTC (permalink / raw)
To: Ville Syrjala, igt-dev; +Cc: Rob Clark
On Thu, 16 Apr 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Currently the scaler counting loop iterates over the entire
> format_mod blob format list. That list may contain a lot of duplicate
> formats (one for each modifier supported with that format), so this
> is a bit inefficient. Iterate the plane's format list instead which
> has no duplicates.
>
> Cc: Rob Clark <robdclark@chromium.org>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
I think this is probably fine, but would be nice to get rb from Rob.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> lib/igt_kms.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 2d758b63c043..4cc7c06812c8 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -7504,10 +7504,11 @@ int igt_crtc_num_scalers(igt_crtc_t *crtc)
> * as a rough approximation of the # of scalars.. it may
> * undercount on some hw, but it will not overcount
> */
> - for_each_plane_on_crtc(crtc,
> - plane) {
> - for (unsigned i = 0; i < plane->format_mod_count; i++) {
> - if (igt_format_is_yuv(plane->formats[i])) {
> + for_each_plane_on_crtc(crtc, plane) {
> + uint32_t format;
> +
> + for_each_plane_format(plane, format) {
> + if (igt_format_is_yuv(format)) {
> num_scalers++;
> break;
> }
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH i-g-t 1/3] lib/kms: Introduce for_each_plane_format()
2026-04-16 15:44 ` [PATCH i-g-t 1/3] lib/kms: Introduce for_each_plane_format() Jani Nikula
@ 2026-04-16 16:07 ` Ville Syrjälä
0 siblings, 0 replies; 10+ messages in thread
From: Ville Syrjälä @ 2026-04-16 16:07 UTC (permalink / raw)
To: Jani Nikula; +Cc: igt-dev
On Thu, Apr 16, 2026 at 06:44:05PM +0300, Jani Nikula wrote:
> On Thu, 16 Apr 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > A few places want to iterate just the formats supported by a plane,
> > ignoring the modifier aspect entirely. Add a new iterator for this
> > (for_each_plane_format()) to avoid everyone just open coding it.
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> > lib/igt_kms.h | 12 ++++++++++++
> > 1 file changed, 12 insertions(+)
> >
> > diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> > index fcbb6a5ade3a..a58cb5cd3430 100644
> > --- a/lib/igt_kms.h
> > +++ b/lib/igt_kms.h
> > @@ -816,6 +816,18 @@ igt_output_crtc_t *__igt_output_crtc_populate(igt_display_t *display,
> > (mode) < &(output)->config.connector->modes[(output)->config.connector->count_modes]; \
> > (mode)++)
> >
> > +/**
> > + * for_each_plane_format:
> > + * @plane: a pointer to an #igt_plane_t structure
> > + * @format: format iterator
> > + *
> > + * This for loop iterates over all formats supported by @plane.
> > + */
> > +#define for_each_plane_format(plane, format) \
> > + for (int __i = 0; __i < (plane)->drm_plane->count_formats; __i++) \
> > + for_each_if (((format) = (plane)->drm_plane->formats[__i], \
> > + 1))
>
> Using kernel-style __UNIQUE_ID() for __i would be nice to have, but I
> guess we don't have that facility in IGT.
We do (igt_unique()), but I didn't actually need it here so
didn't bother with it. I do have some other iterators lined
up where I did need nested use, and so used it there. I suppose
using it here too might make sense, just in case someone does
come up with some nested use case.
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>
> > +
> > #define IGT_FIXED(i,f) ((i) << 16 | (f))
> >
> > /**
>
> --
> Jani Nikula, Intel
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 10+ messages in thread
* ✓ i915.CI.BAT: success for series starting with [i-g-t,1/3] lib/kms: Introduce for_each_plane_format()
2026-04-16 14:13 [PATCH i-g-t 1/3] lib/kms: Introduce for_each_plane_format() Ville Syrjala
` (2 preceding siblings ...)
2026-04-16 15:44 ` [PATCH i-g-t 1/3] lib/kms: Introduce for_each_plane_format() Jani Nikula
@ 2026-04-16 22:39 ` Patchwork
2026-04-16 22:58 ` ✓ Xe.CI.BAT: " Patchwork
2026-04-17 1:22 ` ✗ Xe.CI.FULL: failure " Patchwork
5 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2026-04-16 22:39 UTC (permalink / raw)
To: Ville Syrjala; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 2853 bytes --]
== Series Details ==
Series: series starting with [i-g-t,1/3] lib/kms: Introduce for_each_plane_format()
URL : https://patchwork.freedesktop.org/series/165004/
State : success
== Summary ==
CI Bug Log - changes from IGT_8863 -> IGTPW_15000
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15000/index.html
Participating hosts (42 -> 40)
------------------------------
Missing (2): bat-dg2-13 fi-snb-2520m
Known issues
------------
Here are the changes found in IGTPW_15000 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@dmabuf@all-tests:
- fi-skl-6600u: NOTRUN -> [SKIP][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15000/fi-skl-6600u/igt@dmabuf@all-tests.html
* igt@i915_selftest@live:
- bat-dg2-8: [PASS][2] -> [DMESG-FAIL][3] ([i915#12061]) +1 other test dmesg-fail
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8863/bat-dg2-8/igt@i915_selftest@live.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15000/bat-dg2-8/igt@i915_selftest@live.html
#### Possible fixes ####
* igt@i915_selftest@live:
- fi-skl-6600u: [INCOMPLETE][4] ([i915#15859]) -> [PASS][5]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8863/fi-skl-6600u/igt@i915_selftest@live.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15000/fi-skl-6600u/igt@i915_selftest@live.html
* igt@i915_selftest@live@gtt:
- fi-skl-6600u: [INCOMPLETE][6] -> [PASS][7]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8863/fi-skl-6600u/igt@i915_selftest@live@gtt.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15000/fi-skl-6600u/igt@i915_selftest@live@gtt.html
* igt@i915_selftest@live@workarounds:
- bat-arls-6: [DMESG-FAIL][8] ([i915#12061]) -> [PASS][9] +1 other test pass
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8863/bat-arls-6/igt@i915_selftest@live@workarounds.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15000/bat-arls-6/igt@i915_selftest@live@workarounds.html
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#15859]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15859
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8863 -> IGTPW_15000
CI-20190529: 20190529
CI_DRM_18347: 2a1c604bebed8cbbe6aea00f761777eed424dc55 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_15000: fb76a241e005de7f25e0e14b619eac3ec736008a @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8863: 5b279a8b71dc1672099205a1a9e8135c7c7fadb5 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15000/index.html
[-- Attachment #2: Type: text/html, Size: 3651 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* ✓ Xe.CI.BAT: success for series starting with [i-g-t,1/3] lib/kms: Introduce for_each_plane_format()
2026-04-16 14:13 [PATCH i-g-t 1/3] lib/kms: Introduce for_each_plane_format() Ville Syrjala
` (3 preceding siblings ...)
2026-04-16 22:39 ` ✓ i915.CI.BAT: success for series starting with [i-g-t,1/3] " Patchwork
@ 2026-04-16 22:58 ` Patchwork
2026-04-17 1:22 ` ✗ Xe.CI.FULL: failure " Patchwork
5 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2026-04-16 22:58 UTC (permalink / raw)
To: Ville Syrjala; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 1191 bytes --]
== Series Details ==
Series: series starting with [i-g-t,1/3] lib/kms: Introduce for_each_plane_format()
URL : https://patchwork.freedesktop.org/series/165004/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_8863_BAT -> XEIGTPW_15000_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (13 -> 13)
------------------------------
No changes in participating hosts
Changes
-------
No changes found
Build changes
-------------
* IGT: IGT_8863 -> IGTPW_15000
* Linux: xe-4917-ff84b38d86b994ebb03d940be1c73a63e231f454 -> xe-4918-2a1c604bebed8cbbe6aea00f761777eed424dc55
IGTPW_15000: fb76a241e005de7f25e0e14b619eac3ec736008a @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8863: 5b279a8b71dc1672099205a1a9e8135c7c7fadb5 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-4917-ff84b38d86b994ebb03d940be1c73a63e231f454: ff84b38d86b994ebb03d940be1c73a63e231f454
xe-4918-2a1c604bebed8cbbe6aea00f761777eed424dc55: 2a1c604bebed8cbbe6aea00f761777eed424dc55
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/index.html
[-- Attachment #2: Type: text/html, Size: 1750 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* ✗ Xe.CI.FULL: failure for series starting with [i-g-t,1/3] lib/kms: Introduce for_each_plane_format()
2026-04-16 14:13 [PATCH i-g-t 1/3] lib/kms: Introduce for_each_plane_format() Ville Syrjala
` (4 preceding siblings ...)
2026-04-16 22:58 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-04-17 1:22 ` Patchwork
5 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2026-04-17 1:22 UTC (permalink / raw)
To: Ville Syrjala; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 15455 bytes --]
== Series Details ==
Series: series starting with [i-g-t,1/3] lib/kms: Introduce for_each_plane_format()
URL : https://patchwork.freedesktop.org/series/165004/
State : failure
== Summary ==
CI Bug Log - changes from XEIGT_8863_FULL -> XEIGTPW_15000_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with XEIGTPW_15000_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in XEIGTPW_15000_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (2 -> 2)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in XEIGTPW_15000_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@xe_pm@d3hot-mmap-system:
- shard-bmg: [PASS][1] -> [FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-2/igt@xe_pm@d3hot-mmap-system.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-3/igt@xe_pm@d3hot-mmap-system.html
New tests
---------
New tests have been introduced between XEIGT_8863_FULL and XEIGTPW_15000_FULL:
### New IGT tests (2) ###
* igt@kms_hdr@static-swap@pipe-a-hdmi-a-3-xrgb16161616f:
- Statuses : 1 pass(s)
- Exec time: [1.08] s
* igt@kms_hdr@static-swap@pipe-a-hdmi-a-3-xrgb2101010:
- Statuses : 1 pass(s)
- Exec time: [1.41] s
Known issues
------------
Here are the changes found in XEIGTPW_15000_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_addfb_basic@too-high:
- shard-bmg: [PASS][3] -> [DMESG-WARN][4] ([Intel XE#1727] / [Intel XE#6819])
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-7/igt@kms_addfb_basic@too-high.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-2/igt@kms_addfb_basic@too-high.html
* igt@kms_big_fb@x-tiled-16bpp-rotate-90:
- shard-bmg: NOTRUN -> [SKIP][5] ([Intel XE#2327])
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-7/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html
* igt@kms_ccs@bad-aux-stride-yf-tiled-ccs:
- shard-bmg: NOTRUN -> [SKIP][6] ([Intel XE#2887])
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-9/igt@kms_ccs@bad-aux-stride-yf-tiled-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-bmg: [PASS][7] -> [INCOMPLETE][8] ([Intel XE#7084]) +1 other test incomplete
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-10/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-6/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_content_protection@dp-mst-lic-type-0-hdcp14:
- shard-bmg: NOTRUN -> [SKIP][9] ([Intel XE#6974])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-9/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html
* igt@kms_flip@blocking-absolute-wf_vblank@b-dp2:
- shard-bmg: [PASS][10] -> [FAIL][11] ([Intel XE#7705]) +1 other test fail
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-3/igt@kms_flip@blocking-absolute-wf_vblank@b-dp2.html
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-3/igt@kms_flip@blocking-absolute-wf_vblank@b-dp2.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling:
- shard-bmg: NOTRUN -> [SKIP][12] ([Intel XE#7178] / [Intel XE#7351])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-render:
- shard-bmg: NOTRUN -> [SKIP][13] ([Intel XE#2311]) +2 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-render.html
* igt@kms_pm_dc@dc5-psr:
- shard-lnl: [PASS][14] -> [FAIL][15] ([Intel XE#7340])
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-lnl-1/igt@kms_pm_dc@dc5-psr.html
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-lnl-2/igt@kms_pm_dc@dc5-psr.html
* igt@kms_psr@fbc-psr2-primary-blt:
- shard-bmg: NOTRUN -> [SKIP][16] ([Intel XE#2234] / [Intel XE#2850])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-2/igt@kms_psr@fbc-psr2-primary-blt.html
* igt@kms_vrr@flip-dpms:
- shard-bmg: NOTRUN -> [SKIP][17] ([Intel XE#1499])
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-2/igt@kms_vrr@flip-dpms.html
* igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-7:
- shard-bmg: [PASS][18] -> [FAIL][19] ([Intel XE#5937]) +51 other tests fail
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-2/igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-7.html
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-4/igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-7.html
* igt@xe_exec_multi_queue@two-queues-preempt-mode-dyn-priority:
- shard-bmg: NOTRUN -> [SKIP][20] ([Intel XE#6874])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-7/igt@xe_exec_multi_queue@two-queues-preempt-mode-dyn-priority.html
* igt@xe_exec_system_allocator@many-64k-mmap-remap-ro-dontunmap-eocheck:
- shard-bmg: [PASS][21] -> [DMESG-WARN][22] ([Intel XE#7725])
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-5/igt@xe_exec_system_allocator@many-64k-mmap-remap-ro-dontunmap-eocheck.html
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-3/igt@xe_exec_system_allocator@many-64k-mmap-remap-ro-dontunmap-eocheck.html
* igt@xe_fault_injection@inject-fault-probe-function-xe_wopcm_init:
- shard-bmg: [PASS][23] -> [ABORT][24] ([Intel XE#7578])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-8/igt@xe_fault_injection@inject-fault-probe-function-xe_wopcm_init.html
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-9/igt@xe_fault_injection@inject-fault-probe-function-xe_wopcm_init.html
* igt@xe_sriov_flr@flr-vf1-clear:
- shard-bmg: [PASS][25] -> [FAIL][26] ([Intel XE#6569])
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-8/igt@xe_sriov_flr@flr-vf1-clear.html
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-2/igt@xe_sriov_flr@flr-vf1-clear.html
#### Possible fixes ####
* igt@intel_hwmon@hwmon-write:
- shard-bmg: [FAIL][27] ([Intel XE#7445]) -> [PASS][28]
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-10/igt@intel_hwmon@hwmon-write.html
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-4/igt@intel_hwmon@hwmon-write.html
* igt@kms_flip@2x-flip-vs-expired-vblank@ac-dp2-hdmi-a3:
- shard-bmg: [FAIL][29] ([Intel XE#3321]) -> [PASS][30] +1 other test pass
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-10/igt@kms_flip@2x-flip-vs-expired-vblank@ac-dp2-hdmi-a3.html
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank@ac-dp2-hdmi-a3.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-lnl: [FAIL][31] ([Intel XE#301]) -> [PASS][32] +3 other tests pass
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
* igt@kms_universal_plane@disable-primary-vs-flip:
- shard-bmg: [DMESG-WARN][33] ([Intel XE#7725]) -> [PASS][34] +1 other test pass
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-3/igt@kms_universal_plane@disable-primary-vs-flip.html
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-10/igt@kms_universal_plane@disable-primary-vs-flip.html
* igt@kms_vrr@flipline:
- shard-lnl: [FAIL][35] ([Intel XE#4227] / [Intel XE#7397]) -> [PASS][36] +1 other test pass
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-lnl-2/igt@kms_vrr@flipline.html
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-lnl-4/igt@kms_vrr@flipline.html
* igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1:
- shard-lnl: [FAIL][37] ([Intel XE#2142]) -> [PASS][38] +1 other test pass
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-lnl-5/igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1.html
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-lnl-6/igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1.html
* igt@xe_evict@evict-mixed-many-threads-small:
- shard-bmg: [INCOMPLETE][39] ([Intel XE#6321]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-4/igt@xe_evict@evict-mixed-many-threads-small.html
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-10/igt@xe_evict@evict-mixed-many-threads-small.html
* igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-multi-vma:
- shard-lnl: [FAIL][41] ([Intel XE#5625]) -> [PASS][42] +1 other test pass
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-lnl-1/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-multi-vma.html
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-lnl-7/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-multi-vma.html
* igt@xe_sriov_flr@flr-each-isolation:
- shard-bmg: [FAIL][43] ([Intel XE#6569]) -> [PASS][44]
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-7/igt@xe_sriov_flr@flr-each-isolation.html
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-1/igt@xe_sriov_flr@flr-each-isolation.html
#### Warnings ####
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-blt:
- shard-bmg: [SKIP][45] ([Intel XE#2312]) -> [SKIP][46] ([Intel XE#2311])
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-blt.html
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-onoff:
- shard-bmg: [SKIP][47] ([Intel XE#2313]) -> [SKIP][48] ([Intel XE#2312])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-7/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-onoff.html
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-3/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-onoff.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-bmg: [FAIL][49] ([Intel XE#1729] / [Intel XE#7424]) -> [SKIP][50] ([Intel XE#2426] / [Intel XE#5848])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-4/igt@kms_tiled_display@basic-test-pattern.html
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-3/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-bmg: [SKIP][51] ([Intel XE#2509] / [Intel XE#7437]) -> [SKIP][52] ([Intel XE#2426] / [Intel XE#5848])
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8863/shard-bmg-2/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/shard-bmg-7/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
[Intel XE#2142]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2142
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321
[Intel XE#4227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4227
[Intel XE#5625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5625
[Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
[Intel XE#5937]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5937
[Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
[Intel XE#6569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6569
[Intel XE#6819]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6819
[Intel XE#6874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6874
[Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
[Intel XE#7084]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7084
[Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
[Intel XE#7340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7340
[Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
[Intel XE#7397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7397
[Intel XE#7424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7424
[Intel XE#7437]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7437
[Intel XE#7445]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7445
[Intel XE#7578]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7578
[Intel XE#7705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7705
[Intel XE#7725]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7725
Build changes
-------------
* IGT: IGT_8863 -> IGTPW_15000
* Linux: xe-4917-ff84b38d86b994ebb03d940be1c73a63e231f454 -> xe-4918-2a1c604bebed8cbbe6aea00f761777eed424dc55
IGTPW_15000: fb76a241e005de7f25e0e14b619eac3ec736008a @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8863: 5b279a8b71dc1672099205a1a9e8135c7c7fadb5 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-4917-ff84b38d86b994ebb03d940be1c73a63e231f454: ff84b38d86b994ebb03d940be1c73a63e231f454
xe-4918-2a1c604bebed8cbbe6aea00f761777eed424dc55: 2a1c604bebed8cbbe6aea00f761777eed424dc55
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15000/index.html
[-- Attachment #2: Type: text/html, Size: 17141 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-04-17 1:22 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-16 14:13 [PATCH i-g-t 1/3] lib/kms: Introduce for_each_plane_format() Ville Syrjala
2026-04-16 14:13 ` [PATCH i-g-t 2/3] lib/kms: Use for_each_plane_format() for the msm scaler counting Ville Syrjala
2026-04-16 15:47 ` Jani Nikula
2026-04-16 14:13 ` [PATCH i-g-t 3/3] tests/kms: Use for_each_plane_format() Ville Syrjala
2026-04-16 15:44 ` Jani Nikula
2026-04-16 15:44 ` [PATCH i-g-t 1/3] lib/kms: Introduce for_each_plane_format() Jani Nikula
2026-04-16 16:07 ` Ville Syrjälä
2026-04-16 22:39 ` ✓ i915.CI.BAT: success for series starting with [i-g-t,1/3] " Patchwork
2026-04-16 22:58 ` ✓ Xe.CI.BAT: " Patchwork
2026-04-17 1:22 ` ✗ Xe.CI.FULL: failure " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox