* [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest
@ 2025-02-19 6:12 Karthik B S
2025-02-19 7:03 ` ✓ Xe.CI.BAT: success for tests/kms_plane_multiple: Add dual display subtest (rev2) Patchwork
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Karthik B S @ 2025-02-19 6:12 UTC (permalink / raw)
To: igt-dev; +Cc: Karthik B S
Add 2x subtest to verify MPO use case simulataneously on two
display configurations.
Signed-off-by: Karthik B S <karthik.b.s@intel.com>
---
tests/kms_plane_multiple.c | 216 ++++++++++++++++++++++++++++---------
1 file changed, 167 insertions(+), 49 deletions(-)
diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
index b7922c357..993162640 100644
--- a/tests/kms_plane_multiple.c
+++ b/tests/kms_plane_multiple.c
@@ -58,6 +58,10 @@
* @x: x-tiling
* @y: y-tiling
* @yf: yf-tiling
+ *
+ * SUBTEST: 2x
+ * Description: Check that the kernel handles atomic updates of multiple planes
+ * simultaneously committed on 2 displays.
*/
IGT_TEST_DESCRIPTION("Test atomic mode setting with multiple planes.");
@@ -76,10 +80,10 @@ typedef struct {
typedef struct {
int drm_fd;
igt_display_t display;
- igt_crc_t ref_crc;
- igt_pipe_crc_t *pipe_crc;
- igt_plane_t **plane;
- struct igt_fb *fb;
+ igt_crc_t ref_crc1, ref_crc2;
+ igt_pipe_crc_t *pipe_crc1, *pipe_crc2;
+ igt_plane_t **plane1, **plane2;
+ struct igt_fb *fb1, *fb2;
} data_t;
/* Command line parameters. */
@@ -98,14 +102,14 @@ struct {
*/
static void test_init(data_t *data, enum pipe pipe, int n_planes)
{
- data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
+ data->pipe_crc1 = igt_pipe_crc_new(data->drm_fd, pipe,
IGT_PIPE_CRC_SOURCE_AUTO);
- data->plane = calloc(n_planes, sizeof(*data->plane));
- igt_assert_f(data->plane != NULL, "Failed to allocate memory for planes\n");
+ data->plane1 = calloc(n_planes, sizeof(*data->plane1));
+ igt_assert_f(data->plane1 != NULL, "Failed to allocate memory for planes\n");
- data->fb = calloc(n_planes, sizeof(struct igt_fb));
- igt_assert_f(data->fb != NULL, "Failed to allocate memory for FBs\n");
+ data->fb1 = calloc(n_planes, sizeof(struct igt_fb));
+ igt_assert_f(data->fb1 != NULL, "Failed to allocate memory for FBs\n");
}
static void test_fini(data_t *data, igt_output_t *output, int n_planes)
@@ -113,21 +117,21 @@ static void test_fini(data_t *data, igt_output_t *output, int n_planes)
/* reset the constraint on the pipe */
igt_output_set_pipe(output, PIPE_ANY);
- igt_pipe_crc_free(data->pipe_crc);
- data->pipe_crc = NULL;
+ igt_pipe_crc_free(data->pipe_crc1);
+ data->pipe_crc1 = NULL;
- free(data->plane);
- data->plane = NULL;
+ free(data->plane1);
+ data->plane1 = NULL;
- free(data->fb);
- data->fb = NULL;
+ free(data->fb1);
+ data->fb1 = NULL;
igt_display_reset(&data->display);
}
static void
-get_reference_crc(data_t *data, igt_output_t *output, enum pipe pipe,
- color_t *color, uint64_t modifier)
+get_reference_crc(data_t *data, igt_output_t *output, enum pipe pipe, igt_pipe_crc_t *pipe_crc,
+ color_t *color, igt_plane_t **plane, uint64_t modifier, igt_crc_t *ref_crc)
{
drmModeModeInfo *mode;
igt_plane_t *primary;
@@ -137,7 +141,7 @@ get_reference_crc(data_t *data, igt_output_t *output, enum pipe pipe,
igt_output_set_pipe(output, pipe);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
- data->plane[primary->index] = primary;
+ plane[primary->index] = primary;
mode = igt_output_get_mode(output);
@@ -145,21 +149,21 @@ get_reference_crc(data_t *data, igt_output_t *output, enum pipe pipe,
DRM_FORMAT_XRGB8888,
modifier,
color->red, color->green, color->blue,
- &data->fb[primary->index]);
+ &data->fb1[primary->index]);
- igt_plane_set_fb(data->plane[primary->index], &data->fb[primary->index]);
+ igt_plane_set_fb(plane[primary->index], &data->fb1[primary->index]);
ret = igt_display_try_commit2(&data->display, COMMIT_ATOMIC);
igt_skip_on(ret != 0);
- igt_pipe_crc_collect_crc(data->pipe_crc, &data->ref_crc);
+ igt_pipe_crc_collect_crc(pipe_crc, ref_crc);
}
static void
create_fb_for_mode_position(data_t *data, igt_output_t *output, drmModeModeInfo *mode,
color_t *color, int *rect_x, int *rect_y,
int *rect_w, int *rect_h, uint64_t modifier,
- int max_planes)
+ int max_planes, igt_fb_t *fb)
{
unsigned int fb_id;
cairo_t *cr;
@@ -171,16 +175,16 @@ create_fb_for_mode_position(data_t *data, igt_output_t *output, drmModeModeInfo
mode->hdisplay, mode->vdisplay,
DRM_FORMAT_XRGB8888,
modifier,
- &data->fb[primary->index]);
+ &fb[primary->index]);
igt_assert(fb_id);
- cr = igt_get_cairo_ctx(data->drm_fd, &data->fb[primary->index]);
+ cr = igt_get_cairo_ctx(data->drm_fd, &fb[primary->index]);
igt_paint_color(cr, rect_x[0], rect_y[0],
mode->hdisplay, mode->vdisplay,
color->red, color->green, color->blue);
for (int i = 0; i < max_planes; i++) {
- if (data->plane[i]->type == DRM_PLANE_TYPE_PRIMARY)
+ if (data->plane1[i]->type == DRM_PLANE_TYPE_PRIMARY)
continue;
igt_paint_color(cr, rect_x[i], rect_y[i],
rect_w[i], rect_h[i], 0.0, 0.0, 0.0);
@@ -191,8 +195,8 @@ create_fb_for_mode_position(data_t *data, igt_output_t *output, drmModeModeInfo
static void
-prepare_planes(data_t *data, enum pipe pipe_id, color_t *color,
- uint64_t modifier, int max_planes, igt_output_t *output)
+prepare_planes(data_t *data, enum pipe pipe_id, color_t *color, igt_plane_t **plane,
+ uint64_t modifier, int max_planes, igt_output_t *output, igt_fb_t *fb)
{
drmModeModeInfo *mode;
igt_pipe_t *pipe;
@@ -252,15 +256,14 @@ prepare_planes(data_t *data, enum pipe pipe_id, color_t *color,
* Here is made assumption primary plane will have
* index zero.
*/
- igt_plane_t *plane = igt_output_get_plane(output, suffle[i]);
uint32_t plane_format;
uint64_t plane_modifier;
- data->plane[i] = plane;
+ plane[i] = igt_output_get_plane(output, suffle[i]);
- if (plane->type == DRM_PLANE_TYPE_PRIMARY)
+ if (plane[i]->type == DRM_PLANE_TYPE_PRIMARY)
continue;
- else if (plane->type == DRM_PLANE_TYPE_CURSOR)
+ else if (plane[i]->type == DRM_PLANE_TYPE_CURSOR)
size[i] = SIZE_CURSOR;
else
size[i] = SIZE_PLANE;
@@ -268,10 +271,10 @@ prepare_planes(data_t *data, enum pipe pipe_id, color_t *color,
x[i] = rand() % (mode->hdisplay - size[i]);
y[i] = rand() % (mode->vdisplay - size[i]);
- plane_format = data->plane[i]->type == DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888;
- plane_modifier = data->plane[i]->type == DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_MOD_LINEAR : modifier;
+ plane_format = plane[i]->type == DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888;
+ plane_modifier = plane[i]->type == DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_MOD_LINEAR : modifier;
- igt_skip_on(!igt_plane_has_format_mod(plane, plane_format,
+ igt_skip_on(!igt_plane_has_format_mod(plane[i], plane_format,
plane_modifier));
igt_create_color_fb(data->drm_fd,
@@ -279,17 +282,17 @@ prepare_planes(data_t *data, enum pipe pipe_id, color_t *color,
plane_format,
plane_modifier,
color->red, color->green, color->blue,
- &data->fb[i]);
+ &fb[i]);
- igt_plane_set_position(data->plane[i], x[i], y[i]);
- igt_plane_set_fb(data->plane[i], &data->fb[i]);
+ igt_plane_set_position(plane[i], x[i], y[i]);
+ igt_plane_set_fb(plane[i], &fb[i]);
}
/* primary plane */
- data->plane[primary->index] = primary;
+ plane[primary->index] = primary;
create_fb_for_mode_position(data, output, mode, color, x, y,
- size, size, modifier, max_planes);
- igt_plane_set_fb(data->plane[primary->index], &data->fb[primary->index]);
+ size, size, modifier, max_planes, &fb[primary->index]);
+ igt_plane_set_fb(plane[primary->index], &fb[primary->index]);
free((void*)x);
free((void*)y);
free((void*)size);
@@ -335,12 +338,13 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
test_init(data, pipe, n_planes);
- get_reference_crc(data, output, pipe, &blue, modifier);
+ get_reference_crc(data, output, pipe, data->pipe_crc1, &blue,
+ data->plane1, modifier, &data->ref_crc1);
/* Find out how many planes are allowed simultaneously */
do {
c++;
- prepare_planes(data, pipe, &blue, modifier, c, output);
+ prepare_planes(data, pipe, &blue, data->plane1, modifier, c, output, data->fb1);
err = igt_display_try_commit2(&data->display, COMMIT_ATOMIC);
for_each_plane_on_pipe(&data->display, pipe, plane)
@@ -350,7 +354,7 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
igt_display_commit2(&data->display, COMMIT_ATOMIC);
for (int x = 0; x < c; x++)
- igt_remove_fb(data->drm_fd, &data->fb[x]);
+ igt_remove_fb(data->drm_fd, &data->fb1[x]);
} while (!err && c < n_planes);
if (err)
@@ -364,14 +368,14 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
while (i < iterations || loop_forever) {
/* randomize planes and set up the holes */
- prepare_planes(data, pipe, &blue, modifier, c, output);
+ prepare_planes(data, pipe, &blue, data->plane1, modifier, c, output, data->fb1);
igt_display_commit2(&data->display, COMMIT_ATOMIC);
- igt_pipe_crc_start(data->pipe_crc);
+ igt_pipe_crc_start(data->pipe_crc1);
- igt_pipe_crc_get_current(data->display.drm_fd, data->pipe_crc, &crc);
- igt_assert_crc_equal(&data->ref_crc, &crc);
- igt_pipe_crc_stop(data->pipe_crc);
+ igt_pipe_crc_get_current(data->display.drm_fd, data->pipe_crc1, &crc);
+ igt_assert_crc_equal(&data->ref_crc1, &crc);
+ igt_pipe_crc_stop(data->pipe_crc1);
for_each_plane_on_pipe(&data->display, pipe, plane)
igt_plane_set_fb(plane, NULL);
@@ -380,7 +384,7 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
igt_display_commit2(&data->display, COMMIT_ATOMIC);
for (int x = 0; x < c; x++)
- igt_remove_fb(data->drm_fd, &data->fb[x]);
+ igt_remove_fb(data->drm_fd, &data->fb1[x]);
i++;
}
@@ -403,6 +407,108 @@ test_plane_position(data_t *data, enum pipe pipe, igt_output_t *output, uint64_t
n_planes, modifier);
}
+static void test_init_2_display(data_t *data, enum pipe pipe1, enum pipe pipe2)
+{
+ data->pipe_crc1 = igt_pipe_crc_new(data->drm_fd, pipe1,
+ IGT_PIPE_CRC_SOURCE_AUTO);
+ data->pipe_crc2 = igt_pipe_crc_new(data->drm_fd, pipe2,
+ IGT_PIPE_CRC_SOURCE_AUTO);
+
+ data->plane1 = calloc(2, sizeof(*data->plane1));
+ igt_assert_f(data->plane1 != NULL, "Failed to allocate memory for planes\n");
+
+ data->plane2 = calloc(2, sizeof(*data->plane2));
+ igt_assert_f(data->plane2 != NULL, "Failed to allocate memory for planes\n");
+
+ data->fb1 = calloc(2, sizeof(struct igt_fb));
+ igt_assert_f(data->fb1 != NULL, "Failed to allocate memory for FBs\n");
+
+ data->fb2 = calloc(2, sizeof(struct igt_fb));
+ igt_assert_f(data->fb2 != NULL, "Failed to allocate memory for FBs\n");
+}
+
+static void test_fini_2_display(data_t *data)
+{
+ igt_pipe_crc_stop(data->pipe_crc1);
+ igt_pipe_crc_stop(data->pipe_crc2);
+
+ igt_display_reset(&data->display);
+}
+
+static void test_plane_position_2_display(data_t *data, enum pipe pipe1, enum pipe pipe2,
+ igt_output_t *output1, igt_output_t *output2)
+{
+ color_t blue = { 0.0f, 0.0f, 1.0f };
+ igt_crc_t crc1, crc2;
+
+ test_init_2_display(data, pipe1, pipe2);
+ get_reference_crc(data, output1, pipe1, data->pipe_crc1, &blue,
+ data->plane1, DRM_FORMAT_MOD_LINEAR, &data->ref_crc1);
+ get_reference_crc(data, output2, pipe2, data->pipe_crc2, &blue,
+ data->plane2, DRM_FORMAT_MOD_LINEAR, &data->ref_crc2);
+
+ prepare_planes(data, pipe1, &blue, data->plane1, DRM_FORMAT_MOD_LINEAR, 2, output1, data->fb1);
+ prepare_planes(data, pipe2, &blue, data->plane2, DRM_FORMAT_MOD_LINEAR, 2, output2, data->fb2);
+
+ igt_display_commit2(&data->display, COMMIT_ATOMIC);
+ igt_pipe_crc_start(data->pipe_crc1);
+ igt_pipe_crc_start(data->pipe_crc2);
+
+ igt_pipe_crc_get_current(data->display.drm_fd, data->pipe_crc1, &crc1);
+ igt_pipe_crc_get_current(data->display.drm_fd, data->pipe_crc2, &crc2);
+
+ igt_assert_crc_equal(&data->ref_crc1, &crc1);
+ igt_assert_crc_equal(&data->ref_crc2, &crc2);
+}
+
+#define for_each_connected_output_local(display, output) \
+ for (int j__ = 0; assert(igt_can_fail()), j__ < (display)->n_outputs; j__++) \
+ for_each_if((((output) = &(display)->outputs[j__]), \
+ igt_output_is_connected((output))))
+
+#define for_each_valid_output_on_pipe_local(display, pipe, output) \
+ for_each_connected_output_local((display), (output)) \
+ for_each_if(igt_pipe_connector_valid((pipe), (output)))
+
+static void run_2_display_test(data_t *data)
+{
+ enum pipe pipe1, pipe2;
+ igt_output_t *output1, *output2;
+ igt_display_t *display = &data->display;
+
+ igt_display_reset(display);
+
+ for_each_pipe(display, pipe1) {
+ for_each_valid_output_on_pipe(display, pipe1, output1) {
+ for_each_pipe(display, pipe2) {
+ if (pipe1 == pipe2)
+ continue;
+
+ for_each_valid_output_on_pipe_local(display, pipe2, output2) {
+ if (output1 == output2)
+ continue;
+
+ igt_display_reset(display);
+
+ igt_output_set_pipe(output1, pipe1);
+ igt_output_set_pipe(output2, pipe2);
+
+ if (!intel_pipe_output_combo_valid(display))
+ continue;
+
+ igt_dynamic_f("pipe-%s-%s-pipe-%s-%s",
+ kmstest_pipe_name(pipe1), output1->name,
+ kmstest_pipe_name(pipe2), output2->name)
+ test_plane_position_2_display(data, pipe1, pipe2,
+ output1, output2);
+
+ test_fini_2_display(data);
+ }
+ }
+ }
+ }
+}
+
static void run_test(data_t *data, uint64_t modifier)
{
enum pipe pipe;
@@ -506,6 +612,18 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
run_test(&data, subtests[i].modifier);
}
+ igt_subtest_with_dynamic("2x") {
+ int valid_outputs = 0;
+ igt_output_t *output;
+
+ for_each_connected_output(&data.display, output)
+ valid_outputs++;
+
+ igt_require(valid_outputs > 1);
+
+ run_2_display_test(&data);
+ }
+
igt_fixture {
igt_display_fini(&data.display);
drm_close_driver(data.drm_fd);
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* ✓ Xe.CI.BAT: success for tests/kms_plane_multiple: Add dual display subtest (rev2)
2025-02-19 6:12 [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest Karthik B S
@ 2025-02-19 7:03 ` Patchwork
2025-02-20 2:53 ` ✗ Xe.CI.Full: failure " Patchwork
2025-02-24 6:24 ` [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest B, Jeevan
2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2025-02-19 7:03 UTC (permalink / raw)
To: Karthik B S; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 1620 bytes --]
== Series Details ==
Series: tests/kms_plane_multiple: Add dual display subtest (rev2)
URL : https://patchwork.freedesktop.org/series/115855/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_8236_BAT -> XEIGTPW_12631_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (8 -> 8)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in XEIGTPW_12631_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@xe_exec_threads@threads-mixed-shared-vm-userptr-invalidate-race:
- bat-adlp-vf: [PASS][1] -> [DMESG-WARN][2] ([Intel XE#3970])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/bat-adlp-vf/igt@xe_exec_threads@threads-mixed-shared-vm-userptr-invalidate-race.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/bat-adlp-vf/igt@xe_exec_threads@threads-mixed-shared-vm-userptr-invalidate-race.html
[Intel XE#3970]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3970
Build changes
-------------
* IGT: IGT_8236 -> IGTPW_12631
* Linux: xe-2679-4cc4e3d6ea1543688d62432dbe0fa750780fb262 -> xe-2684-5496d2c9c90ad0d79dd25337bc2a43704a1e295e
IGTPW_12631: 12631
IGT_8236: 8236
xe-2679-4cc4e3d6ea1543688d62432dbe0fa750780fb262: 4cc4e3d6ea1543688d62432dbe0fa750780fb262
xe-2684-5496d2c9c90ad0d79dd25337bc2a43704a1e295e: 5496d2c9c90ad0d79dd25337bc2a43704a1e295e
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/index.html
[-- Attachment #2: Type: text/html, Size: 2196 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* ✗ Xe.CI.Full: failure for tests/kms_plane_multiple: Add dual display subtest (rev2)
2025-02-19 6:12 [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest Karthik B S
2025-02-19 7:03 ` ✓ Xe.CI.BAT: success for tests/kms_plane_multiple: Add dual display subtest (rev2) Patchwork
@ 2025-02-20 2:53 ` Patchwork
2025-02-24 6:24 ` [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest B, Jeevan
2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2025-02-20 2:53 UTC (permalink / raw)
To: Karthik B S; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 94958 bytes --]
== Series Details ==
Series: tests/kms_plane_multiple: Add dual display subtest (rev2)
URL : https://patchwork.freedesktop.org/series/115855/
State : failure
== Summary ==
CI Bug Log - changes from XEIGT_8236_full -> XEIGTPW_12631_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with XEIGTPW_12631_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in XEIGTPW_12631_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 (4 -> 4)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in XEIGTPW_12631_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_flip@2x-wf_vblank-ts-check@ab-hdmi-a6-dp4:
- shard-dg2-set2: [PASS][1] -> [FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-434/igt@kms_flip@2x-wf_vblank-ts-check@ab-hdmi-a6-dp4.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_flip@2x-wf_vblank-ts-check@ab-hdmi-a6-dp4.html
* {igt@kms_plane_multiple@2x} (NEW):
- shard-dg2-set2: NOTRUN -> [DMESG-WARN][3]
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_plane_multiple@2x.html
- shard-lnl: NOTRUN -> [SKIP][4]
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@kms_plane_multiple@2x.html
- shard-bmg: NOTRUN -> [DMESG-WARN][5]
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@kms_plane_multiple@2x.html
* igt@xe_live_ktest@xe_dma_buf:
- shard-bmg: [PASS][6] -> [SKIP][7]
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-8/igt@xe_live_ktest@xe_dma_buf.html
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@xe_live_ktest@xe_dma_buf.html
* igt@xe_pm@s4-vm-bind-userptr:
- shard-dg2-set2: NOTRUN -> [ABORT][8]
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@xe_pm@s4-vm-bind-userptr.html
#### Warnings ####
* igt@kms_flip@2x-wf_vblank-ts-check:
- shard-dg2-set2: [DMESG-WARN][9] ([Intel XE#4330]) -> [FAIL][10]
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-434/igt@kms_flip@2x-wf_vblank-ts-check.html
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_flip@2x-wf_vblank-ts-check.html
New tests
---------
New tests have been introduced between XEIGT_8236_full and XEIGTPW_12631_full:
### New IGT tests (53) ###
* igt@kms_flip@flip-vs-rmfb@d-hdmi-a3:
- Statuses : 1 pass(s)
- Exec time: [3.95] s
* igt@kms_flip@nonexisting-fb@d-hdmi-a3:
- Statuses : 1 pass(s)
- Exec time: [0.23] s
* igt@kms_plane_multiple@2x:
- Statuses : 2 dmesg-warn(s) 1 skip(s)
- Exec time: [0.0, 17.84] s
* igt@kms_plane_multiple@2x@pipe-a-dp-2-pipe-b-hdmi-a-3:
- Statuses : 1 pass(s)
- Exec time: [0.68] s
* igt@kms_plane_multiple@2x@pipe-a-dp-2-pipe-c-hdmi-a-3:
- Statuses : 1 pass(s)
- Exec time: [0.68] s
* igt@kms_plane_multiple@2x@pipe-a-dp-2-pipe-d-hdmi-a-3:
- Statuses : 1 pass(s)
- Exec time: [0.69] s
* igt@kms_plane_multiple@2x@pipe-a-dp-4-pipe-b-hdmi-a-6:
- Statuses : 1 pass(s)
- Exec time: [0.77] s
* igt@kms_plane_multiple@2x@pipe-a-dp-4-pipe-c-hdmi-a-6:
- Statuses : 1 pass(s)
- Exec time: [0.64] s
* igt@kms_plane_multiple@2x@pipe-a-dp-4-pipe-d-hdmi-a-6:
- Statuses : 1 pass(s)
- Exec time: [0.65] s
* igt@kms_plane_multiple@2x@pipe-a-hdmi-a-3-pipe-b-dp-2:
- Statuses : 1 pass(s)
- Exec time: [0.76] s
* igt@kms_plane_multiple@2x@pipe-a-hdmi-a-3-pipe-c-dp-2:
- Statuses : 1 pass(s)
- Exec time: [0.69] s
* igt@kms_plane_multiple@2x@pipe-a-hdmi-a-3-pipe-d-dp-2:
- Statuses : 1 pass(s)
- Exec time: [0.69] s
* igt@kms_plane_multiple@2x@pipe-a-hdmi-a-6-pipe-b-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.69] s
* igt@kms_plane_multiple@2x@pipe-a-hdmi-a-6-pipe-c-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.66] s
* igt@kms_plane_multiple@2x@pipe-a-hdmi-a-6-pipe-d-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.66] s
* igt@kms_plane_multiple@2x@pipe-b-dp-2-pipe-a-hdmi-a-3:
- Statuses : 1 pass(s)
- Exec time: [0.81] s
* igt@kms_plane_multiple@2x@pipe-b-dp-2-pipe-c-hdmi-a-3:
- Statuses : 1 pass(s)
- Exec time: [0.68] s
* igt@kms_plane_multiple@2x@pipe-b-dp-2-pipe-d-hdmi-a-3:
- Statuses : 1 pass(s)
- Exec time: [0.67] s
* igt@kms_plane_multiple@2x@pipe-b-dp-4-pipe-a-hdmi-a-6:
- Statuses : 1 pass(s)
- Exec time: [0.75] s
* igt@kms_plane_multiple@2x@pipe-b-dp-4-pipe-c-hdmi-a-6:
- Statuses : 1 pass(s)
- Exec time: [0.64] s
* igt@kms_plane_multiple@2x@pipe-b-dp-4-pipe-d-hdmi-a-6:
- Statuses : 1 pass(s)
- Exec time: [0.65] s
* igt@kms_plane_multiple@2x@pipe-b-hdmi-a-3-pipe-a-dp-2:
- Statuses : 1 pass(s)
- Exec time: [0.78] s
* igt@kms_plane_multiple@2x@pipe-b-hdmi-a-3-pipe-c-dp-2:
- Statuses : 1 pass(s)
- Exec time: [0.69] s
* igt@kms_plane_multiple@2x@pipe-b-hdmi-a-3-pipe-d-dp-2:
- Statuses : 1 pass(s)
- Exec time: [0.69] s
* igt@kms_plane_multiple@2x@pipe-b-hdmi-a-6-pipe-a-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.75] s
* igt@kms_plane_multiple@2x@pipe-b-hdmi-a-6-pipe-c-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.65] s
* igt@kms_plane_multiple@2x@pipe-b-hdmi-a-6-pipe-d-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.66] s
* igt@kms_plane_multiple@2x@pipe-c-dp-2-pipe-a-hdmi-a-3:
- Statuses : 1 pass(s)
- Exec time: [0.81] s
* igt@kms_plane_multiple@2x@pipe-c-dp-2-pipe-b-hdmi-a-3:
- Statuses : 1 pass(s)
- Exec time: [0.69] s
* igt@kms_plane_multiple@2x@pipe-c-dp-2-pipe-d-hdmi-a-3:
- Statuses : 1 pass(s)
- Exec time: [0.70] s
* igt@kms_plane_multiple@2x@pipe-c-dp-4-pipe-a-hdmi-a-6:
- Statuses : 1 pass(s)
- Exec time: [0.76] s
* igt@kms_plane_multiple@2x@pipe-c-dp-4-pipe-b-hdmi-a-6:
- Statuses : 1 pass(s)
- Exec time: [0.65] s
* igt@kms_plane_multiple@2x@pipe-c-dp-4-pipe-d-hdmi-a-6:
- Statuses : 1 pass(s)
- Exec time: [0.66] s
* igt@kms_plane_multiple@2x@pipe-c-hdmi-a-3-pipe-a-dp-2:
- Statuses : 1 pass(s)
- Exec time: [0.80] s
* igt@kms_plane_multiple@2x@pipe-c-hdmi-a-3-pipe-b-dp-2:
- Statuses : 1 pass(s)
- Exec time: [0.70] s
* igt@kms_plane_multiple@2x@pipe-c-hdmi-a-3-pipe-d-dp-2:
- Statuses : 1 pass(s)
- Exec time: [0.67] s
* igt@kms_plane_multiple@2x@pipe-c-hdmi-a-6-pipe-a-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.70] s
* igt@kms_plane_multiple@2x@pipe-c-hdmi-a-6-pipe-b-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.66] s
* igt@kms_plane_multiple@2x@pipe-c-hdmi-a-6-pipe-d-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.66] s
* igt@kms_plane_multiple@2x@pipe-d-dp-2-pipe-a-hdmi-a-3:
- Statuses : 1 pass(s)
- Exec time: [0.70] s
* igt@kms_plane_multiple@2x@pipe-d-dp-2-pipe-b-hdmi-a-3:
- Statuses : 1 pass(s)
- Exec time: [0.70] s
* igt@kms_plane_multiple@2x@pipe-d-dp-2-pipe-c-hdmi-a-3:
- Statuses : 1 pass(s)
- Exec time: [0.67] s
* igt@kms_plane_multiple@2x@pipe-d-dp-4-pipe-a-hdmi-a-6:
- Statuses : 1 pass(s)
- Exec time: [0.77] s
* igt@kms_plane_multiple@2x@pipe-d-dp-4-pipe-b-hdmi-a-6:
- Statuses : 1 pass(s)
- Exec time: [0.65] s
* igt@kms_plane_multiple@2x@pipe-d-dp-4-pipe-c-hdmi-a-6:
- Statuses : 1 dmesg-warn(s)
- Exec time: [0.64] s
* igt@kms_plane_multiple@2x@pipe-d-hdmi-a-3-pipe-a-dp-2:
- Statuses : 1 pass(s)
- Exec time: [0.78] s
* igt@kms_plane_multiple@2x@pipe-d-hdmi-a-3-pipe-b-dp-2:
- Statuses : 1 pass(s)
- Exec time: [0.70] s
* igt@kms_plane_multiple@2x@pipe-d-hdmi-a-3-pipe-c-dp-2:
- Statuses : 1 dmesg-warn(s)
- Exec time: [0.67] s
* igt@kms_plane_multiple@2x@pipe-d-hdmi-a-6-pipe-a-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.63] s
* igt@kms_plane_multiple@2x@pipe-d-hdmi-a-6-pipe-b-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.63] s
* igt@kms_plane_multiple@2x@pipe-d-hdmi-a-6-pipe-c-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.66] s
* igt@kms_setmode@basic@pipe-a-hdmi-a-3:
- Statuses : 1 fail(s)
- Exec time: [2.13] s
* igt@kms_setmode@basic@pipe-b-hdmi-a-3:
- Statuses : 1 fail(s)
- Exec time: [2.13] s
Known issues
------------
Here are the changes found in XEIGTPW_12631_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@intel_hwmon@hwmon-read:
- shard-lnl: NOTRUN -> [SKIP][11] ([Intel XE#1125])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-2/igt@intel_hwmon@hwmon-read.html
* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- shard-bmg: NOTRUN -> [SKIP][12] ([Intel XE#2233])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- shard-dg2-set2: NOTRUN -> [SKIP][13] ([Intel XE#623])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- shard-lnl: NOTRUN -> [SKIP][14] ([Intel XE#1466])
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-4/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
* igt@kms_async_flips@alternate-sync-async-flip-atomic:
- shard-bmg: NOTRUN -> [FAIL][15] ([Intel XE#3701] / [Intel XE#3718] / [Intel XE#827])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-8/igt@kms_async_flips@alternate-sync-async-flip-atomic.html
* igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-c-dp-2:
- shard-bmg: NOTRUN -> [FAIL][16] ([Intel XE#3701] / [Intel XE#827])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-8/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-c-dp-2.html
* igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-b-hdmi-a-6-4-mc-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][17] ([Intel XE#3767]) +15 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-b-hdmi-a-6-4-mc-ccs.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
- shard-lnl: NOTRUN -> [SKIP][18] ([Intel XE#3279]) +1 other test skip
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-6/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
* igt@kms_big_fb@4-tiled-8bpp-rotate-270:
- shard-dg2-set2: NOTRUN -> [SKIP][19] ([Intel XE#316]) +4 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html
- shard-lnl: NOTRUN -> [SKIP][20] ([Intel XE#1407]) +3 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-5/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
- shard-lnl: NOTRUN -> [SKIP][21] ([Intel XE#3658])
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
* igt@kms_big_fb@x-tiled-32bpp-rotate-270:
- shard-bmg: NOTRUN -> [SKIP][22] ([Intel XE#2327]) +3 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-8/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- shard-bmg: [PASS][23] -> [INCOMPLETE][24] ([Intel XE#3225])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-7/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-5/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@y-tiled-64bpp-rotate-0:
- shard-bmg: NOTRUN -> [SKIP][25] ([Intel XE#1124]) +11 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-1/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html
* igt@kms_big_fb@y-tiled-addfb-size-overflow:
- shard-bmg: NOTRUN -> [SKIP][26] ([Intel XE#610])
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
- shard-dg2-set2: NOTRUN -> [SKIP][27] ([Intel XE#610])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
- shard-lnl: NOTRUN -> [SKIP][28] ([Intel XE#1428])
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-8/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
* igt@kms_big_fb@yf-tiled-64bpp-rotate-180:
- shard-dg2-set2: NOTRUN -> [SKIP][29] ([Intel XE#1124]) +17 other tests skip
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html
* igt@kms_big_fb@yf-tiled-8bpp-rotate-0:
- shard-lnl: NOTRUN -> [SKIP][30] ([Intel XE#1124]) +11 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@kms_big_fb@yf-tiled-8bpp-rotate-0.html
* igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p:
- shard-bmg: [PASS][31] -> [SKIP][32] ([Intel XE#2314] / [Intel XE#2894])
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-3/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
* igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p:
- shard-bmg: NOTRUN -> [SKIP][33] ([Intel XE#2314] / [Intel XE#2894])
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-1/igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p.html
* igt@kms_bw@linear-tiling-1-displays-1920x1080p:
- shard-dg2-set2: NOTRUN -> [SKIP][34] ([Intel XE#367]) +2 other tests skip
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@kms_bw@linear-tiling-1-displays-1920x1080p.html
* igt@kms_bw@linear-tiling-3-displays-3840x2160p:
- shard-lnl: NOTRUN -> [SKIP][35] ([Intel XE#367]) +2 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@kms_bw@linear-tiling-3-displays-3840x2160p.html
- shard-bmg: NOTRUN -> [SKIP][36] ([Intel XE#367]) +1 other test skip
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@kms_bw@linear-tiling-3-displays-3840x2160p.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [SKIP][37] ([Intel XE#787]) +135 other tests skip
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-6.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-bmg: [PASS][38] -> [INCOMPLETE][39] ([Intel XE#3862]) +1 other test incomplete
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-4/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-1/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
- shard-dg2-set2: [PASS][40] -> [DMESG-WARN][41] ([Intel XE#4199])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-466/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs:
- shard-bmg: NOTRUN -> [SKIP][42] ([Intel XE#3432])
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs.html
- shard-lnl: NOTRUN -> [SKIP][43] ([Intel XE#3432])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-8/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs.html
* igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][44] ([Intel XE#455] / [Intel XE#787]) +40 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-d-dp-4.html
* igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs:
- shard-bmg: NOTRUN -> [SKIP][45] ([Intel XE#2887]) +8 other tests skip
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs.html
- shard-lnl: NOTRUN -> [SKIP][46] ([Intel XE#2887]) +6 other tests skip
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][47] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4:
- shard-dg2-set2: NOTRUN -> [DMESG-WARN][48] ([Intel XE#1727] / [Intel XE#3113])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][49] ([Intel XE#3124])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][50] ([Intel XE#2907]) +2 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-c-dp-2:
- shard-bmg: NOTRUN -> [SKIP][51] ([Intel XE#2652] / [Intel XE#787]) +30 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-5/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-c-dp-2.html
* igt@kms_cdclk@plane-scaling@pipe-b-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][52] ([Intel XE#1152]) +3 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@kms_cdclk@plane-scaling@pipe-b-dp-4.html
* igt@kms_chamelium_color@ctm-blue-to-red:
- shard-bmg: NOTRUN -> [SKIP][53] ([Intel XE#2325]) +1 other test skip
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@kms_chamelium_color@ctm-blue-to-red.html
* igt@kms_chamelium_color@ctm-negative:
- shard-lnl: NOTRUN -> [SKIP][54] ([Intel XE#306]) +1 other test skip
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@kms_chamelium_color@ctm-negative.html
* igt@kms_chamelium_color@ctm-red-to-blue:
- shard-dg2-set2: NOTRUN -> [SKIP][55] ([Intel XE#306]) +3 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_chamelium_color@ctm-red-to-blue.html
* igt@kms_chamelium_frames@hdmi-aspect-ratio:
- shard-bmg: NOTRUN -> [SKIP][56] ([Intel XE#2252]) +3 other tests skip
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-3/igt@kms_chamelium_frames@hdmi-aspect-ratio.html
* igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats:
- shard-dg2-set2: NOTRUN -> [SKIP][57] ([Intel XE#373]) +5 other tests skip
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html
* igt@kms_chamelium_hpd@hdmi-hpd-storm:
- shard-lnl: NOTRUN -> [SKIP][58] ([Intel XE#373]) +3 other tests skip
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-7/igt@kms_chamelium_hpd@hdmi-hpd-storm.html
* igt@kms_cursor_crc@cursor-offscreen-512x512:
- shard-dg2-set2: NOTRUN -> [SKIP][59] ([Intel XE#308]) +2 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@kms_cursor_crc@cursor-offscreen-512x512.html
- shard-lnl: NOTRUN -> [SKIP][60] ([Intel XE#2321])
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-2/igt@kms_cursor_crc@cursor-offscreen-512x512.html
- shard-bmg: NOTRUN -> [SKIP][61] ([Intel XE#2321])
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-1/igt@kms_cursor_crc@cursor-offscreen-512x512.html
* igt@kms_cursor_crc@cursor-sliding-128x42:
- shard-lnl: NOTRUN -> [SKIP][62] ([Intel XE#1424]) +3 other tests skip
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-4/igt@kms_cursor_crc@cursor-sliding-128x42.html
- shard-bmg: NOTRUN -> [SKIP][63] ([Intel XE#2320]) +3 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-7/igt@kms_cursor_crc@cursor-sliding-128x42.html
* igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
- shard-bmg: [PASS][64] -> [SKIP][65] ([Intel XE#2291]) +5 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-7/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
- shard-bmg: NOTRUN -> [SKIP][66] ([Intel XE#2291])
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
- shard-lnl: NOTRUN -> [SKIP][67] ([Intel XE#309]) +2 other tests skip
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-7/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
- shard-bmg: NOTRUN -> [DMESG-WARN][68] ([Intel XE#877])
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-3/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
* igt@kms_dirtyfb@fbc-dirtyfb-ioctl:
- shard-bmg: NOTRUN -> [SKIP][69] ([Intel XE#4210])
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@kms_dirtyfb@fbc-dirtyfb-ioctl.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-bmg: [PASS][70] -> [SKIP][71] ([Intel XE#1340])
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-2/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dp_linktrain_fallback@dsc-fallback:
- shard-dg2-set2: NOTRUN -> [SKIP][72] ([Intel XE#4331])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_dp_linktrain_fallback@dsc-fallback.html
* igt@kms_dsc@dsc-with-bpc-formats:
- shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#2244]) +2 other tests skip
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-4/igt@kms_dsc@dsc-with-bpc-formats.html
* igt@kms_dsc@dsc-with-output-formats:
- shard-bmg: NOTRUN -> [SKIP][74] ([Intel XE#2244]) +2 other tests skip
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@kms_dsc@dsc-with-output-formats.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-bmg: NOTRUN -> [SKIP][75] ([Intel XE#4156])
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@kms_fbcon_fbt@fbc-suspend.html
- shard-lnl: NOTRUN -> [FAIL][76] ([Intel XE#4164] / [i915#4767])
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-8/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_fbcon_fbt@psr-suspend:
- shard-bmg: NOTRUN -> [SKIP][77] ([Intel XE#776])
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@kms_fbcon_fbt@psr-suspend.html
- shard-dg2-set2: NOTRUN -> [SKIP][78] ([Intel XE#776])
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@kms_fbcon_fbt@psr-suspend.html
* igt@kms_feature_discovery@psr2:
- shard-dg2-set2: NOTRUN -> [SKIP][79] ([Intel XE#1135])
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_feature_discovery@psr2.html
* igt@kms_flip@2x-blocking-absolute-wf_vblank-interruptible:
- shard-lnl: NOTRUN -> [SKIP][80] ([Intel XE#1421]) +6 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-5/igt@kms_flip@2x-blocking-absolute-wf_vblank-interruptible.html
* igt@kms_flip@2x-flip-vs-dpms:
- shard-bmg: NOTRUN -> [SKIP][81] ([Intel XE#2316]) +1 other test skip
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_flip@2x-flip-vs-dpms.html
* igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible:
- shard-bmg: [PASS][82] -> [SKIP][83] ([Intel XE#2316]) +6 other tests skip
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-3/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
* igt@kms_flip@2x-plain-flip@cd-dp2-hdmi-a3:
- shard-bmg: [PASS][84] -> [DMESG-WARN][85] ([Intel XE#4330]) +30 other tests dmesg-warn
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-8/igt@kms_flip@2x-plain-flip@cd-dp2-hdmi-a3.html
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-3/igt@kms_flip@2x-plain-flip@cd-dp2-hdmi-a3.html
* igt@kms_flip@2x-wf_vblank-ts-check@ab-dp2-hdmi-a3:
- shard-bmg: NOTRUN -> [FAIL][86] ([Intel XE#2882])
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-7/igt@kms_flip@2x-wf_vblank-ts-check@ab-dp2-hdmi-a3.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp4:
- shard-dg2-set2: NOTRUN -> [FAIL][87] ([Intel XE#301]) +1 other test fail
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp4.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:
- shard-lnl: [PASS][88] -> [FAIL][89] ([Intel XE#301]) +3 other tests fail
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
* igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a3:
- shard-bmg: [PASS][90] -> [FAIL][91] ([Intel XE#3321]) +1 other test fail
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-6/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a3.html
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a3.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-bmg: [PASS][92] -> [DMESG-WARN][93] ([Intel XE#2955])
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-4/igt@kms_flip@flip-vs-suspend-interruptible.html
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-3/igt@kms_flip@flip-vs-suspend-interruptible.html
- shard-dg2-set2: [PASS][94] -> [INCOMPLETE][95] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-433/igt@kms_flip@flip-vs-suspend-interruptible.html
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling:
- shard-lnl: NOTRUN -> [SKIP][96] ([Intel XE#1397] / [Intel XE#1745])
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][97] ([Intel XE#1397])
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
- shard-dg2-set2: NOTRUN -> [SKIP][98] ([Intel XE#455]) +20 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling:
- shard-lnl: NOTRUN -> [SKIP][99] ([Intel XE#1401] / [Intel XE#1745])
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html
- shard-bmg: NOTRUN -> [SKIP][100] ([Intel XE#2293] / [Intel XE#2380])
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][101] ([Intel XE#1401])
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-valid-mode:
- shard-bmg: NOTRUN -> [SKIP][102] ([Intel XE#2293])
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][103] ([Intel XE#2312]) +8 other tests skip
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render:
- shard-bmg: NOTRUN -> [SKIP][104] ([Intel XE#4141]) +7 other tests skip
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][105] ([Intel XE#2311]) +18 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render:
- shard-dg2-set2: NOTRUN -> [SKIP][106] ([Intel XE#651]) +35 other tests skip
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render.html
- shard-lnl: NOTRUN -> [SKIP][107] ([Intel XE#651]) +6 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][108] ([Intel XE#656]) +30 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-5/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt:
- shard-bmg: NOTRUN -> [SKIP][109] ([Intel XE#2313]) +18 other tests skip
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-linear:
- shard-dg2-set2: NOTRUN -> [SKIP][110] ([Intel XE#653]) +38 other tests skip
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcpsr-tiling-linear.html
* igt@kms_hdr@static-toggle:
- shard-lnl: NOTRUN -> [SKIP][111] ([Intel XE#1503])
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-8/igt@kms_hdr@static-toggle.html
* igt@kms_joiner@invalid-modeset-big-joiner:
- shard-dg2-set2: NOTRUN -> [SKIP][112] ([Intel XE#346])
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@kms_joiner@invalid-modeset-big-joiner.html
* igt@kms_joiner@invalid-modeset-ultra-joiner:
- shard-dg2-set2: NOTRUN -> [SKIP][113] ([Intel XE#2927])
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_joiner@invalid-modeset-ultra-joiner.html
* igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
- shard-dg2-set2: NOTRUN -> [SKIP][114] ([Intel XE#2925])
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
- shard-lnl: NOTRUN -> [SKIP][115] ([Intel XE#4090])
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-4/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
* igt@kms_panel_fitting@legacy:
- shard-bmg: NOTRUN -> [SKIP][116] ([Intel XE#2486])
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_panel_fitting@legacy.html
* igt@kms_pipe_stress@stress-xrgb8888-ytiled:
- shard-dg2-set2: NOTRUN -> [SKIP][117] ([Intel XE#4359])
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_pipe_stress@stress-xrgb8888-ytiled.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-bmg: [PASS][118] -> [SKIP][119] ([Intel XE#2685] / [Intel XE#3307])
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-4/igt@kms_plane_scaling@intel-max-src-size.html
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_plane_scaling@plane-upscale-factor-0-25-with-modifiers:
- shard-dg2-set2: [PASS][120] -> [DMESG-WARN][121] ([Intel XE#4330]) +19 other tests dmesg-warn
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-modifiers.html
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-modifiers.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-b:
- shard-dg2-set2: NOTRUN -> [SKIP][122] ([Intel XE#2763]) +5 other tests skip
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-b.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-d:
- shard-bmg: NOTRUN -> [SKIP][123] ([Intel XE#2763]) +4 other tests skip
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-8/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-d.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a:
- shard-lnl: NOTRUN -> [SKIP][124] ([Intel XE#2763]) +7 other tests skip
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d:
- shard-dg2-set2: NOTRUN -> [SKIP][125] ([Intel XE#2763] / [Intel XE#455]) +3 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d.html
* igt@kms_pm_backlight@fade:
- shard-dg2-set2: NOTRUN -> [SKIP][126] ([Intel XE#870])
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_pm_backlight@fade.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-bmg: NOTRUN -> [SKIP][127] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836])
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-lnl: NOTRUN -> [SKIP][128] ([Intel XE#1439] / [Intel XE#3141])
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-5/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area:
- shard-dg2-set2: NOTRUN -> [SKIP][129] ([Intel XE#1489]) +9 other tests skip
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
- shard-lnl: NOTRUN -> [SKIP][130] ([Intel XE#2893]) +3 other tests skip
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
- shard-bmg: NOTRUN -> [SKIP][131] ([Intel XE#1489]) +6 other tests skip
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-3/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html
* igt@kms_psr@fbc-pr-sprite-plane-onoff:
- shard-lnl: NOTRUN -> [SKIP][132] ([Intel XE#1406])
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-5/igt@kms_psr@fbc-pr-sprite-plane-onoff.html
* igt@kms_psr@fbc-psr2-primary-render:
- shard-dg2-set2: NOTRUN -> [SKIP][133] ([Intel XE#2850] / [Intel XE#929]) +13 other tests skip
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@kms_psr@fbc-psr2-primary-render.html
* igt@kms_psr@psr2-sprite-blt:
- shard-bmg: NOTRUN -> [SKIP][134] ([Intel XE#2234] / [Intel XE#2850]) +5 other tests skip
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@kms_psr@psr2-sprite-blt.html
* igt@kms_rotation_crc@bad-pixel-format:
- shard-bmg: NOTRUN -> [SKIP][135] ([Intel XE#3414] / [Intel XE#3904]) +1 other test skip
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-1/igt@kms_rotation_crc@bad-pixel-format.html
- shard-dg2-set2: NOTRUN -> [SKIP][136] ([Intel XE#3414]) +2 other tests skip
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_rotation_crc@bad-pixel-format.html
- shard-lnl: NOTRUN -> [SKIP][137] ([Intel XE#3414] / [Intel XE#3904]) +2 other tests skip
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-5/igt@kms_rotation_crc@bad-pixel-format.html
* igt@kms_setmode@basic:
- shard-bmg: [PASS][138] -> [FAIL][139] ([Intel XE#2883]) +2 other tests fail
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-6/igt@kms_setmode@basic.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@kms_setmode@basic.html
* igt@kms_setmode@basic@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][140] ([Intel XE#2883]) +2 other tests fail
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@kms_setmode@basic@pipe-a-dp-2.html
* igt@kms_setmode@clone-exclusive-crtc:
- shard-bmg: NOTRUN -> [SKIP][141] ([Intel XE#1435])
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_setmode@clone-exclusive-crtc.html
- shard-lnl: NOTRUN -> [SKIP][142] ([Intel XE#1435])
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-4/igt@kms_setmode@clone-exclusive-crtc.html
* igt@kms_setmode@invalid-clone-single-crtc:
- shard-bmg: [PASS][143] -> [SKIP][144] ([Intel XE#1435])
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-5/igt@kms_setmode@invalid-clone-single-crtc.html
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@kms_setmode@invalid-clone-single-crtc.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-bmg: NOTRUN -> [SKIP][145] ([Intel XE#2509])
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-1/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
- shard-dg2-set2: NOTRUN -> [SKIP][146] ([Intel XE#1500])
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_vblank@ts-continuation-suspend@pipe-d-hdmi-a-3:
- shard-bmg: NOTRUN -> [DMESG-WARN][147] ([Intel XE#4330]) +6 other tests dmesg-warn
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@kms_vblank@ts-continuation-suspend@pipe-d-hdmi-a-3.html
* igt@kms_vrr@negative-basic:
- shard-lnl: NOTRUN -> [SKIP][148] ([Intel XE#1499]) +1 other test skip
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-7/igt@kms_vrr@negative-basic.html
* igt@kms_vrr@seamless-rr-switch-vrr:
- shard-bmg: NOTRUN -> [SKIP][149] ([Intel XE#1499]) +1 other test skip
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_vrr@seamless-rr-switch-vrr.html
* igt@xe_compute_preempt@compute-preempt-many:
- shard-dg2-set2: NOTRUN -> [SKIP][150] ([Intel XE#1280] / [Intel XE#455]) +3 other tests skip
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@xe_compute_preempt@compute-preempt-many.html
* igt@xe_drm_fdinfo@utilization-others-idle:
- shard-dg2-set2: NOTRUN -> [DMESG-WARN][151] ([Intel XE#4330]) +10 other tests dmesg-warn
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@xe_drm_fdinfo@utilization-others-idle.html
* igt@xe_eudebug@basic-read-event:
- shard-bmg: NOTRUN -> [SKIP][152] ([Intel XE#2905]) +5 other tests skip
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@xe_eudebug@basic-read-event.html
* igt@xe_evict@evict-beng-small:
- shard-lnl: NOTRUN -> [SKIP][153] ([Intel XE#688]) +3 other tests skip
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-4/igt@xe_evict@evict-beng-small.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr:
- shard-bmg: NOTRUN -> [SKIP][154] ([Intel XE#2322]) +5 other tests skip
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
* igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap:
- shard-lnl: NOTRUN -> [SKIP][155] ([Intel XE#1392]) +5 other tests skip
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-6/igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap.html
* igt@xe_exec_fault_mode@twice-userptr-rebind-imm:
- shard-dg2-set2: NOTRUN -> [SKIP][156] ([Intel XE#288]) +26 other tests skip
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@xe_exec_fault_mode@twice-userptr-rebind-imm.html
* igt@xe_exec_sip_eudebug@breakpoint-writesip:
- shard-dg2-set2: NOTRUN -> [SKIP][157] ([Intel XE#2905]) +16 other tests skip
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@xe_exec_sip_eudebug@breakpoint-writesip.html
- shard-lnl: NOTRUN -> [SKIP][158] ([Intel XE#2905]) +7 other tests skip
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@xe_exec_sip_eudebug@breakpoint-writesip.html
* igt@xe_mmap@small-bar:
- shard-bmg: NOTRUN -> [SKIP][159] ([Intel XE#586])
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@xe_mmap@small-bar.html
- shard-dg2-set2: NOTRUN -> [SKIP][160] ([Intel XE#512])
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@xe_mmap@small-bar.html
- shard-lnl: NOTRUN -> [SKIP][161] ([Intel XE#512])
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-8/igt@xe_mmap@small-bar.html
* igt@xe_module_load@load:
- shard-lnl: ([PASS][162], [PASS][163], [PASS][164], [PASS][165], [PASS][166], [PASS][167], [PASS][168], [PASS][169], [PASS][170], [PASS][171], [PASS][172], [PASS][173], [PASS][174], [PASS][175], [PASS][176], [PASS][177], [PASS][178], [PASS][179], [PASS][180], [PASS][181], [PASS][182], [PASS][183], [PASS][184], [PASS][185], [PASS][186]) -> ([PASS][187], [PASS][188], [PASS][189], [PASS][190], [PASS][191], [PASS][192], [PASS][193], [PASS][194], [PASS][195], [SKIP][196], [PASS][197], [PASS][198], [PASS][199], [PASS][200], [PASS][201], [PASS][202], [PASS][203], [PASS][204], [PASS][205], [PASS][206], [PASS][207], [PASS][208], [PASS][209], [PASS][210], [PASS][211], [PASS][212]) ([Intel XE#378])
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-4/igt@xe_module_load@load.html
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-4/igt@xe_module_load@load.html
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-3/igt@xe_module_load@load.html
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-3/igt@xe_module_load@load.html
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-3/igt@xe_module_load@load.html
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-8/igt@xe_module_load@load.html
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-8/igt@xe_module_load@load.html
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-8/igt@xe_module_load@load.html
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-5/igt@xe_module_load@load.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-5/igt@xe_module_load@load.html
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-7/igt@xe_module_load@load.html
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-6/igt@xe_module_load@load.html
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-6/igt@xe_module_load@load.html
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-2/igt@xe_module_load@load.html
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-8/igt@xe_module_load@load.html
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-5/igt@xe_module_load@load.html
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-5/igt@xe_module_load@load.html
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-4/igt@xe_module_load@load.html
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-2/igt@xe_module_load@load.html
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-2/igt@xe_module_load@load.html
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-7/igt@xe_module_load@load.html
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-7/igt@xe_module_load@load.html
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-4/igt@xe_module_load@load.html
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-3/igt@xe_module_load@load.html
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-6/igt@xe_module_load@load.html
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-5/igt@xe_module_load@load.html
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-5/igt@xe_module_load@load.html
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-4/igt@xe_module_load@load.html
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-7/igt@xe_module_load@load.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-8/igt@xe_module_load@load.html
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@xe_module_load@load.html
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-8/igt@xe_module_load@load.html
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-8/igt@xe_module_load@load.html
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-8/igt@xe_module_load@load.html
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-6/igt@xe_module_load@load.html
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-6/igt@xe_module_load@load.html
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-6/igt@xe_module_load@load.html
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-4/igt@xe_module_load@load.html
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-4/igt@xe_module_load@load.html
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-4/igt@xe_module_load@load.html
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@xe_module_load@load.html
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-5/igt@xe_module_load@load.html
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-7/igt@xe_module_load@load.html
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-7/igt@xe_module_load@load.html
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-6/igt@xe_module_load@load.html
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-2/igt@xe_module_load@load.html
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@xe_module_load@load.html
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@xe_module_load@load.html
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-2/igt@xe_module_load@load.html
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-3/igt@xe_module_load@load.html
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-4/igt@xe_module_load@load.html
- shard-bmg: ([PASS][213], [PASS][214], [PASS][215], [PASS][216], [PASS][217], [PASS][218], [PASS][219], [PASS][220], [PASS][221], [PASS][222], [PASS][223], [PASS][224], [PASS][225], [PASS][226], [PASS][227], [PASS][228], [PASS][229], [PASS][230], [PASS][231], [PASS][232], [PASS][233], [PASS][234], [PASS][235], [PASS][236], [PASS][237]) -> ([PASS][238], [PASS][239], [SKIP][240], [PASS][241], [PASS][242], [PASS][243], [PASS][244], [PASS][245], [PASS][246], [PASS][247], [PASS][248], [PASS][249], [PASS][250], [PASS][251], [PASS][252], [PASS][253], [PASS][254], [PASS][255], [PASS][256], [PASS][257], [PASS][258], [PASS][259], [PASS][260], [PASS][261], [PASS][262]) ([Intel XE#2457])
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-3/igt@xe_module_load@load.html
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-3/igt@xe_module_load@load.html
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-3/igt@xe_module_load@load.html
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-8/igt@xe_module_load@load.html
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-3/igt@xe_module_load@load.html
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-7/igt@xe_module_load@load.html
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-7/igt@xe_module_load@load.html
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-6/igt@xe_module_load@load.html
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-2/igt@xe_module_load@load.html
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-8/igt@xe_module_load@load.html
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-6/igt@xe_module_load@load.html
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-6/igt@xe_module_load@load.html
[225]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-1/igt@xe_module_load@load.html
[226]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-4/igt@xe_module_load@load.html
[227]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-4/igt@xe_module_load@load.html
[228]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-8/igt@xe_module_load@load.html
[229]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-8/igt@xe_module_load@load.html
[230]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-5/igt@xe_module_load@load.html
[231]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-2/igt@xe_module_load@load.html
[232]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-4/igt@xe_module_load@load.html
[233]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-5/igt@xe_module_load@load.html
[234]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-5/igt@xe_module_load@load.html
[235]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-2/igt@xe_module_load@load.html
[236]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-1/igt@xe_module_load@load.html
[237]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-1/igt@xe_module_load@load.html
[238]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-1/igt@xe_module_load@load.html
[239]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@xe_module_load@load.html
[240]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-7/igt@xe_module_load@load.html
[241]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@xe_module_load@load.html
[242]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@xe_module_load@load.html
[243]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-3/igt@xe_module_load@load.html
[244]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-7/igt@xe_module_load@load.html
[245]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-1/igt@xe_module_load@load.html
[246]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@xe_module_load@load.html
[247]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@xe_module_load@load.html
[248]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-8/igt@xe_module_load@load.html
[249]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-8/igt@xe_module_load@load.html
[250]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-8/igt@xe_module_load@load.html
[251]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@xe_module_load@load.html
[252]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-1/igt@xe_module_load@load.html
[253]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-8/igt@xe_module_load@load.html
[254]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@xe_module_load@load.html
[255]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-7/igt@xe_module_load@load.html
[256]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-7/igt@xe_module_load@load.html
[257]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-7/igt@xe_module_load@load.html
[258]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-5/igt@xe_module_load@load.html
[259]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-5/igt@xe_module_load@load.html
[260]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@xe_module_load@load.html
[261]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@xe_module_load@load.html
[262]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@xe_module_load@load.html
- shard-dg2-set2: ([PASS][263], [PASS][264], [PASS][265], [PASS][266], [PASS][267], [PASS][268], [PASS][269], [PASS][270], [PASS][271], [PASS][272], [PASS][273], [PASS][274], [PASS][275], [PASS][276], [PASS][277], [PASS][278], [PASS][279], [PASS][280], [PASS][281], [PASS][282], [PASS][283], [PASS][284], [PASS][285], [PASS][286]) -> ([PASS][287], [PASS][288], [PASS][289], [PASS][290], [PASS][291], [PASS][292], [PASS][293], [PASS][294], [PASS][295], [PASS][296], [PASS][297], [PASS][298], [PASS][299], [SKIP][300], [PASS][301], [PASS][302], [PASS][303], [PASS][304], [PASS][305], [PASS][306], [PASS][307], [PASS][308], [PASS][309], [PASS][310], [PASS][311], [PASS][312]) ([Intel XE#378])
[263]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@xe_module_load@load.html
[264]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@xe_module_load@load.html
[265]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@xe_module_load@load.html
[266]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@xe_module_load@load.html
[267]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@xe_module_load@load.html
[268]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@xe_module_load@load.html
[269]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-434/igt@xe_module_load@load.html
[270]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-434/igt@xe_module_load@load.html
[271]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-466/igt@xe_module_load@load.html
[272]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-466/igt@xe_module_load@load.html
[273]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@xe_module_load@load.html
[274]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-433/igt@xe_module_load@load.html
[275]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-466/igt@xe_module_load@load.html
[276]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-466/igt@xe_module_load@load.html
[277]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-434/igt@xe_module_load@load.html
[278]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-434/igt@xe_module_load@load.html
[279]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-466/igt@xe_module_load@load.html
[280]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-463/igt@xe_module_load@load.html
[281]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-433/igt@xe_module_load@load.html
[282]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-433/igt@xe_module_load@load.html
[283]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-433/igt@xe_module_load@load.html
[284]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-433/igt@xe_module_load@load.html
[285]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-463/igt@xe_module_load@load.html
[286]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-463/igt@xe_module_load@load.html
[287]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@xe_module_load@load.html
[288]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@xe_module_load@load.html
[289]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@xe_module_load@load.html
[290]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@xe_module_load@load.html
[291]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@xe_module_load@load.html
[292]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@xe_module_load@load.html
[293]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@xe_module_load@load.html
[294]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@xe_module_load@load.html
[295]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@xe_module_load@load.html
[296]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@xe_module_load@load.html
[297]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@xe_module_load@load.html
[298]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@xe_module_load@load.html
[299]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@xe_module_load@load.html
[300]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@xe_module_load@load.html
[301]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@xe_module_load@load.html
[302]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@xe_module_load@load.html
[303]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@xe_module_load@load.html
[304]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@xe_module_load@load.html
[305]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@xe_module_load@load.html
[306]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@xe_module_load@load.html
[307]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@xe_module_load@load.html
[308]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@xe_module_load@load.html
[309]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@xe_module_load@load.html
[310]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@xe_module_load@load.html
[311]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@xe_module_load@load.html
[312]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@xe_module_load@load.html
* igt@xe_oa@oa-tlb-invalidate:
- shard-dg2-set2: NOTRUN -> [SKIP][313] ([Intel XE#2541] / [Intel XE#3573]) +7 other tests skip
[313]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@xe_oa@oa-tlb-invalidate.html
- shard-lnl: NOTRUN -> [SKIP][314] ([Intel XE#2248])
[314]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-6/igt@xe_oa@oa-tlb-invalidate.html
- shard-bmg: NOTRUN -> [SKIP][315] ([Intel XE#2248])
[315]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-5/igt@xe_oa@oa-tlb-invalidate.html
* igt@xe_pat@pat-index-xehpc:
- shard-dg2-set2: NOTRUN -> [SKIP][316] ([Intel XE#2838] / [Intel XE#979])
[316]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@xe_pat@pat-index-xehpc.html
* igt@xe_peer2peer@write:
- shard-bmg: NOTRUN -> [SKIP][317] ([Intel XE#2427])
[317]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-8/igt@xe_peer2peer@write.html
- shard-lnl: NOTRUN -> [SKIP][318] ([Intel XE#1061])
[318]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-8/igt@xe_peer2peer@write.html
* igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p:
- shard-dg2-set2: NOTRUN -> [FAIL][319] ([Intel XE#1173]) +1 other test fail
[319]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p.html
* igt@xe_pm@d3cold-basic-exec:
- shard-dg2-set2: NOTRUN -> [SKIP][320] ([Intel XE#2284] / [Intel XE#366])
[320]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@xe_pm@d3cold-basic-exec.html
- shard-bmg: NOTRUN -> [SKIP][321] ([Intel XE#2284])
[321]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-5/igt@xe_pm@d3cold-basic-exec.html
* igt@xe_pm@s3-multiple-execs:
- shard-bmg: [PASS][322] -> [DMESG-WARN][323] ([Intel XE#4330] / [Intel XE#569]) +1 other test dmesg-warn
[322]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-2/igt@xe_pm@s3-multiple-execs.html
[323]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@xe_pm@s3-multiple-execs.html
- shard-dg2-set2: NOTRUN -> [DMESG-WARN][324] ([Intel XE#4330] / [Intel XE#569])
[324]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@xe_pm@s3-multiple-execs.html
* igt@xe_pm@s4-basic:
- shard-dg2-set2: NOTRUN -> [ABORT][325] ([Intel XE#4268])
[325]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@xe_pm@s4-basic.html
- shard-bmg: NOTRUN -> [ABORT][326] ([Intel XE#4268]) +1 other test abort
[326]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-5/igt@xe_pm@s4-basic.html
* igt@xe_pm@vram-d3cold-threshold:
- shard-lnl: NOTRUN -> [SKIP][327] ([Intel XE#579])
[327]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-8/igt@xe_pm@vram-d3cold-threshold.html
* igt@xe_query@multigpu-query-invalid-cs-cycles:
- shard-dg2-set2: NOTRUN -> [SKIP][328] ([Intel XE#944])
[328]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@xe_query@multigpu-query-invalid-cs-cycles.html
* igt@xe_sriov_auto_provisioning@exclusive-ranges:
- shard-bmg: NOTRUN -> [SKIP][329] ([Intel XE#4130]) +1 other test skip
[329]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-7/igt@xe_sriov_auto_provisioning@exclusive-ranges.html
- shard-dg2-set2: NOTRUN -> [SKIP][330] ([Intel XE#4130]) +1 other test skip
[330]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@xe_sriov_auto_provisioning@exclusive-ranges.html
* igt@xe_sriov_auto_provisioning@fair-allocation:
- shard-lnl: NOTRUN -> [SKIP][331] ([Intel XE#4130]) +1 other test skip
[331]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-7/igt@xe_sriov_auto_provisioning@fair-allocation.html
#### Possible fixes ####
* igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
- shard-dg2-set2: [SKIP][332] ([Intel XE#2191]) -> [PASS][333]
[332]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
[333]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs@pipe-d-dp-4:
- shard-dg2-set2: [DMESG-WARN][334] ([Intel XE#4330]) -> [PASS][335] +48 other tests pass
[334]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-434/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs@pipe-d-dp-4.html
[335]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs@pipe-d-dp-4.html
* igt@kms_cursor_crc@cursor-suspend:
- shard-bmg: [DMESG-WARN][336] ([Intel XE#4330]) -> [PASS][337] +41 other tests pass
[336]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-1/igt@kms_cursor_crc@cursor-suspend.html
[337]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-7/igt@kms_cursor_crc@cursor-suspend.html
* igt@kms_cursor_edge_walk@128x128-left-edge:
- shard-dg2-set2: [INCOMPLETE][338] -> [PASS][339] +2 other tests pass
[338]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-434/igt@kms_cursor_edge_walk@128x128-left-edge.html
[339]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_cursor_edge_walk@128x128-left-edge.html
* igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy:
- shard-dg2-set2: [SKIP][340] ([Intel XE#309]) -> [PASS][341] +4 other tests pass
[340]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
[341]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
- shard-bmg: [SKIP][342] ([Intel XE#2291]) -> [PASS][343]
[342]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-4/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
[343]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-7/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
* igt@kms_cursor_legacy@torture-move:
- shard-bmg: [INCOMPLETE][344] ([Intel XE#3226]) -> [PASS][345] +1 other test pass
[344]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-7/igt@kms_cursor_legacy@torture-move.html
[345]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-7/igt@kms_cursor_legacy@torture-move.html
* igt@kms_dp_aux_dev:
- shard-dg2-set2: [SKIP][346] ([Intel XE#3009]) -> [PASS][347]
[346]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@kms_dp_aux_dev.html
[347]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@kms_dp_aux_dev.html
* igt@kms_flip@2x-flip-vs-modeset:
- shard-dg2-set2: [SKIP][348] ([Intel XE#310]) -> [PASS][349] +4 other tests pass
[348]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@kms_flip@2x-flip-vs-modeset.html
[349]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@kms_flip@2x-flip-vs-modeset.html
* igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
- shard-bmg: [SKIP][350] ([Intel XE#2316]) -> [PASS][351] +4 other tests pass
[350]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-4/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
[351]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-7/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
* igt@kms_flip@flip-vs-dpms-off-vs-modeset:
- shard-dg2-set2: [DMESG-WARN][352] ([Intel XE#2955]) -> [PASS][353] +2 other tests pass
[352]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-463/igt@kms_flip@flip-vs-dpms-off-vs-modeset.html
[353]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_flip@flip-vs-dpms-off-vs-modeset.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a6:
- shard-dg2-set2: [FAIL][354] ([Intel XE#301]) -> [PASS][355] +3 other tests pass
[354]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a6.html
[355]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a6.html
* igt@kms_flip@plain-flip-ts-check-interruptible@a-dp2:
- shard-bmg: [FAIL][356] ([Intel XE#2882]) -> [PASS][357] +1 other test pass
[356]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-4/igt@kms_flip@plain-flip-ts-check-interruptible@a-dp2.html
[357]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_flip@plain-flip-ts-check-interruptible@a-dp2.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-blt:
- shard-dg2-set2: [SKIP][358] ([Intel XE#656]) -> [PASS][359] +7 other tests pass
[358]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-blt.html
[359]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-blt.html
* igt@kms_hdr@invalid-hdr:
- shard-dg2-set2: [SKIP][360] ([Intel XE#455]) -> [PASS][361]
[360]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-466/igt@kms_hdr@invalid-hdr.html
[361]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_hdr@invalid-hdr.html
* igt@kms_plane_scaling@plane-scaler-unity-scaling-with-pixel-format:
- shard-bmg: [DMESG-WARN][362] ([Intel XE#2566]) -> [PASS][363]
[362]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-4/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-pixel-format.html
[363]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-8/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-pixel-format.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5:
- shard-dg2-set2: [DMESG-WARN][364] ([Intel XE#2566]) -> [PASS][365] +2 other tests pass
[364]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-463/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html
[365]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html
* igt@kms_pm_rpm@system-suspend-modeset:
- shard-dg2-set2: [DMESG-WARN][366] ([Intel XE#2042]) -> [PASS][367]
[366]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-433/igt@kms_pm_rpm@system-suspend-modeset.html
[367]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_pm_rpm@system-suspend-modeset.html
* igt@xe_exec_reset@parallel-gt-reset:
- shard-bmg: [DMESG-WARN][368] -> [PASS][369]
[368]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-3/igt@xe_exec_reset@parallel-gt-reset.html
[369]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-7/igt@xe_exec_reset@parallel-gt-reset.html
* igt@xe_pm@s3-basic-exec:
- shard-dg2-set2: [DMESG-WARN][370] ([Intel XE#569]) -> [PASS][371] +3 other tests pass
[370]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@xe_pm@s3-basic-exec.html
[371]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@xe_pm@s3-basic-exec.html
* igt@xe_pm@s3-vm-bind-prefetch:
- shard-bmg: [DMESG-WARN][372] ([Intel XE#569]) -> [PASS][373] +2 other tests pass
[372]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-3/igt@xe_pm@s3-vm-bind-prefetch.html
[373]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@xe_pm@s3-vm-bind-prefetch.html
#### Warnings ####
* igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-6:
- shard-dg2-set2: [SKIP][374] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][375] ([Intel XE#787]) +14 other tests skip
[374]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-6.html
[375]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-6.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1:
- shard-lnl: [SKIP][376] ([Intel XE#3433]) -> [SKIP][377] ([Intel XE#2669] / [Intel XE#3433]) +3 other tests skip
[376]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-lnl-2/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1.html
[377]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-lnl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1.html
* igt@kms_color@ctm-signed:
- shard-dg2-set2: [INCOMPLETE][378] -> [DMESG-WARN][379] ([Intel XE#4330])
[378]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-463/igt@kms_color@ctm-signed.html
[379]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@kms_color@ctm-signed.html
* igt@kms_content_protection@atomic-dpms:
- shard-bmg: [FAIL][380] ([Intel XE#1178]) -> [SKIP][381] ([Intel XE#2341])
[380]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-2/igt@kms_content_protection@atomic-dpms.html
[381]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@lic-type-0@pipe-a-dp-2:
- shard-bmg: [FAIL][382] ([Intel XE#1178]) -> [DMESG-FAIL][383] ([Intel XE#4330]) +1 other test dmesg-fail
[382]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-2/igt@kms_content_protection@lic-type-0@pipe-a-dp-2.html
[383]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-3/igt@kms_content_protection@lic-type-0@pipe-a-dp-2.html
* igt@kms_flip@2x-flip-vs-expired-vblank:
- shard-bmg: [DMESG-FAIL][384] ([Intel XE#4330]) -> [SKIP][385] ([Intel XE#2316])
[384]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-1/igt@kms_flip@2x-flip-vs-expired-vblank.html
[385]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_flip@2x-flip-vs-expired-vblank.html
* igt@kms_flip@2x-wf_vblank-ts-check:
- shard-bmg: [SKIP][386] ([Intel XE#2316]) -> [FAIL][387] ([Intel XE#2882])
[386]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-6/igt@kms_flip@2x-wf_vblank-ts-check.html
[387]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-7/igt@kms_flip@2x-wf_vblank-ts-check.html
* igt@kms_flip@flip-vs-expired-vblank:
- shard-bmg: [DMESG-WARN][388] ([Intel XE#4330]) -> [FAIL][389] ([Intel XE#3321])
[388]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-6/igt@kms_flip@flip-vs-expired-vblank.html
[389]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@kms_flip@flip-vs-expired-vblank.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt:
- shard-bmg: [SKIP][390] ([Intel XE#2311]) -> [SKIP][391] ([Intel XE#2312]) +16 other tests skip
[390]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-8/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
[391]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff:
- shard-dg2-set2: [SKIP][392] ([Intel XE#656]) -> [SKIP][393] ([Intel XE#651]) +17 other tests skip
[392]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff.html
[393]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-move:
- shard-bmg: [SKIP][394] ([Intel XE#2312]) -> [SKIP][395] ([Intel XE#2311]) +10 other tests skip
[394]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-move.html
[395]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-8/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-move.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render:
- shard-bmg: [SKIP][396] ([Intel XE#4141]) -> [SKIP][397] ([Intel XE#2312]) +4 other tests skip
[396]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render.html
[397]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt:
- shard-bmg: [SKIP][398] ([Intel XE#2312]) -> [SKIP][399] ([Intel XE#4141]) +4 other tests skip
[398]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html
[399]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
- shard-bmg: [SKIP][400] ([Intel XE#2313]) -> [SKIP][401] ([Intel XE#2312]) +12 other tests skip
[400]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
[401]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-msflip-blt:
- shard-bmg: [SKIP][402] ([Intel XE#2312]) -> [SKIP][403] ([Intel XE#2313]) +10 other tests skip
[402]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-msflip-blt.html
[403]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-plflip-blt:
- shard-dg2-set2: [SKIP][404] ([Intel XE#656]) -> [SKIP][405] ([Intel XE#653]) +16 other tests skip
[404]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-plflip-blt.html
[405]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-434/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-plflip-blt.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-dg2-set2: [DMESG-WARN][406] ([Intel XE#4212]) -> [SKIP][407] ([Intel XE#455])
[406]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-466/igt@kms_plane_scaling@intel-max-src-size.html
[407]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-433/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-dg2-set2: [FAIL][408] ([Intel XE#1729]) -> [SKIP][409] ([Intel XE#362])
[408]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-434/igt@kms_tiled_display@basic-test-pattern.html
[409]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern.html
* igt@xe_pm@s3-d3hot-basic-exec:
- shard-bmg: [DMESG-WARN][410] ([Intel XE#569]) -> [DMESG-WARN][411] ([Intel XE#4330] / [Intel XE#569]) +1 other test dmesg-warn
[410]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-bmg-8/igt@xe_pm@s3-d3hot-basic-exec.html
[411]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-bmg-2/igt@xe_pm@s3-d3hot-basic-exec.html
- shard-dg2-set2: [DMESG-WARN][412] ([Intel XE#569]) -> [DMESG-WARN][413] ([Intel XE#4330] / [Intel XE#569]) +1 other test dmesg-warn
[412]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8236/shard-dg2-466/igt@xe_pm@s3-d3hot-basic-exec.html
[413]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/shard-dg2-466/igt@xe_pm@s3-d3hot-basic-exec.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1125]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1125
[Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
[Intel XE#1152]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1152
[Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1280
[Intel XE#1340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1340
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
[Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
[Intel XE#1428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1428
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
[Intel XE#1466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1466
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
[Intel XE#1500]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1500
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[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#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#2042]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2042
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2233]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2233
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
[Intel XE#2248]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2248
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
[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#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
[Intel XE#2427]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2427
[Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
[Intel XE#2486]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2486
[Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
[Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
[Intel XE#2566]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2566
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669
[Intel XE#2685]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2685
[Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
[Intel XE#2838]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2838
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2882
[Intel XE#2883]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2883
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#2905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2905
[Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
[Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
[Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
[Intel XE#2955]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2955
[Intel XE#3009]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3009
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
[Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
[Intel XE#3124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3124
[Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#3225]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3225
[Intel XE#3226]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3226
[Intel XE#3279]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3279
[Intel XE#3307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3307
[Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#3433]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3433
[Intel XE#346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/346
[Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
[Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
[Intel XE#3658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3658
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#3701]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3701
[Intel XE#3718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3718
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#3767]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3767
[Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
[Intel XE#3862]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3862
[Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
[Intel XE#4090]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4090
[Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4156]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4156
[Intel XE#4164]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4164
[Intel XE#4199]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4199
[Intel XE#4210]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4210
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#4268]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4268
[Intel XE#4330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4330
[Intel XE#4331]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4331
[Intel XE#4359]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4359
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/512
[Intel XE#569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/569
[Intel XE#579]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/579
[Intel XE#586]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/586
[Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
[Intel XE#623]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/623
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/776
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#827]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/827
[Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
[Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
[Intel XE#877]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/877
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
[Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979
[i915#4767]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4767
Build changes
-------------
* IGT: IGT_8236 -> IGTPW_12631
* Linux: xe-2679-4cc4e3d6ea1543688d62432dbe0fa750780fb262 -> xe-2684-5496d2c9c90ad0d79dd25337bc2a43704a1e295e
IGTPW_12631: 12631
IGT_8236: 8236
xe-2679-4cc4e3d6ea1543688d62432dbe0fa750780fb262: 4cc4e3d6ea1543688d62432dbe0fa750780fb262
xe-2684-5496d2c9c90ad0d79dd25337bc2a43704a1e295e: 5496d2c9c90ad0d79dd25337bc2a43704a1e295e
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12631/index.html
[-- Attachment #2: Type: text/html, Size: 109482 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest
2025-02-19 6:12 [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest Karthik B S
2025-02-19 7:03 ` ✓ Xe.CI.BAT: success for tests/kms_plane_multiple: Add dual display subtest (rev2) Patchwork
2025-02-20 2:53 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2025-02-24 6:24 ` B, Jeevan
2025-03-05 9:29 ` Karthik B S
2 siblings, 1 reply; 6+ messages in thread
From: B, Jeevan @ 2025-02-24 6:24 UTC (permalink / raw)
To: B S, Karthik, igt-dev@lists.freedesktop.org; +Cc: B S, Karthik
> -----Original Message-----
> From: igt-dev <igt-dev-bounces@lists.freedesktop.org> On Behalf Of Karthik B S
> Sent: Wednesday, February 19, 2025 11:42 AM
> To: igt-dev@lists.freedesktop.org
> Cc: B S, Karthik <karthik.b.s@intel.com>
> Subject: [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest
>
> Add 2x subtest to verify MPO use case simulataneously on two display
> configurations.
>
> Signed-off-by: Karthik B S <karthik.b.s@intel.com>
> ---
> tests/kms_plane_multiple.c | 216 ++++++++++++++++++++++++++++---------
> 1 file changed, 167 insertions(+), 49 deletions(-)
>
> diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c index
> b7922c357..993162640 100644
> --- a/tests/kms_plane_multiple.c
> +++ b/tests/kms_plane_multiple.c
> @@ -58,6 +58,10 @@
> * @x: x-tiling
> * @y: y-tiling
> * @yf: yf-tiling
> + *
> + * SUBTEST: 2x
> + * Description: Check that the kernel handles atomic updates of multiple planes
> + * simultaneously committed on 2 displays.
> */
>
> IGT_TEST_DESCRIPTION("Test atomic mode setting with multiple planes."); @@
> -76,10 +80,10 @@ typedef struct { typedef struct {
> int drm_fd;
> igt_display_t display;
> - igt_crc_t ref_crc;
> - igt_pipe_crc_t *pipe_crc;
> - igt_plane_t **plane;
> - struct igt_fb *fb;
> + igt_crc_t ref_crc1, ref_crc2;
> + igt_pipe_crc_t *pipe_crc1, *pipe_crc2;
> + igt_plane_t **plane1, **plane2;
> + struct igt_fb *fb1, *fb2;
> } data_t;
>
> /* Command line parameters. */
> @@ -98,14 +102,14 @@ struct {
> */
> static void test_init(data_t *data, enum pipe pipe, int n_planes) {
> - data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
> + data->pipe_crc1 = igt_pipe_crc_new(data->drm_fd, pipe,
> IGT_PIPE_CRC_SOURCE_AUTO);
>
> - data->plane = calloc(n_planes, sizeof(*data->plane));
> - igt_assert_f(data->plane != NULL, "Failed to allocate memory for
> planes\n");
> + data->plane1 = calloc(n_planes, sizeof(*data->plane1));
> + igt_assert_f(data->plane1 != NULL, "Failed to allocate memory for
> +planes\n");
>
> - data->fb = calloc(n_planes, sizeof(struct igt_fb));
> - igt_assert_f(data->fb != NULL, "Failed to allocate memory for FBs\n");
> + data->fb1 = calloc(n_planes, sizeof(struct igt_fb));
> + igt_assert_f(data->fb1 != NULL, "Failed to allocate memory for
> +FBs\n");
> }
>
> static void test_fini(data_t *data, igt_output_t *output, int n_planes) @@ -
> 113,21 +117,21 @@ static void test_fini(data_t *data, igt_output_t *output, int
> n_planes)
> /* reset the constraint on the pipe */
> igt_output_set_pipe(output, PIPE_ANY);
>
> - igt_pipe_crc_free(data->pipe_crc);
> - data->pipe_crc = NULL;
> + igt_pipe_crc_free(data->pipe_crc1);
> + data->pipe_crc1 = NULL;
>
> - free(data->plane);
> - data->plane = NULL;
> + free(data->plane1);
> + data->plane1 = NULL;
>
> - free(data->fb);
> - data->fb = NULL;
> + free(data->fb1);
> + data->fb1 = NULL;
>
> igt_display_reset(&data->display);
> }
>
> static void
> -get_reference_crc(data_t *data, igt_output_t *output, enum pipe pipe,
> - color_t *color, uint64_t modifier)
> +get_reference_crc(data_t *data, igt_output_t *output, enum pipe pipe,
> igt_pipe_crc_t *pipe_crc,
> + color_t *color, igt_plane_t **plane, uint64_t modifier,
> +igt_crc_t *ref_crc)
> {
> drmModeModeInfo *mode;
> igt_plane_t *primary;
> @@ -137,7 +141,7 @@ get_reference_crc(data_t *data, igt_output_t *output,
> enum pipe pipe,
> igt_output_set_pipe(output, pipe);
>
> primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
> - data->plane[primary->index] = primary;
> + plane[primary->index] = primary;
>
> mode = igt_output_get_mode(output);
>
> @@ -145,21 +149,21 @@ get_reference_crc(data_t *data, igt_output_t *output,
> enum pipe pipe,
> DRM_FORMAT_XRGB8888,
> modifier,
> color->red, color->green, color->blue,
> - &data->fb[primary->index]);
> + &data->fb1[primary->index]);
>
> - igt_plane_set_fb(data->plane[primary->index], &data->fb[primary-
> >index]);
> + igt_plane_set_fb(plane[primary->index], &data->fb1[primary->index]);
>
> ret = igt_display_try_commit2(&data->display, COMMIT_ATOMIC);
> igt_skip_on(ret != 0);
>
> - igt_pipe_crc_collect_crc(data->pipe_crc, &data->ref_crc);
> + igt_pipe_crc_collect_crc(pipe_crc, ref_crc);
> }
>
> static void
> create_fb_for_mode_position(data_t *data, igt_output_t *output,
> drmModeModeInfo *mode,
> color_t *color, int *rect_x, int *rect_y,
> int *rect_w, int *rect_h, uint64_t modifier,
> - int max_planes)
> + int max_planes, igt_fb_t *fb)
> {
> unsigned int fb_id;
> cairo_t *cr;
> @@ -171,16 +175,16 @@ create_fb_for_mode_position(data_t *data,
> igt_output_t *output, drmModeModeInfo
> mode->hdisplay, mode->vdisplay,
> DRM_FORMAT_XRGB8888,
> modifier,
> - &data->fb[primary->index]);
> + &fb[primary->index]);
> igt_assert(fb_id);
>
> - cr = igt_get_cairo_ctx(data->drm_fd, &data->fb[primary->index]);
> + cr = igt_get_cairo_ctx(data->drm_fd, &fb[primary->index]);
> igt_paint_color(cr, rect_x[0], rect_y[0],
> mode->hdisplay, mode->vdisplay,
> color->red, color->green, color->blue);
>
> for (int i = 0; i < max_planes; i++) {
> - if (data->plane[i]->type == DRM_PLANE_TYPE_PRIMARY)
> + if (data->plane1[i]->type == DRM_PLANE_TYPE_PRIMARY)
> continue;
> igt_paint_color(cr, rect_x[i], rect_y[i],
> rect_w[i], rect_h[i], 0.0, 0.0, 0.0); @@ -191,8
> +195,8 @@ create_fb_for_mode_position(data_t *data, igt_output_t *output,
> drmModeModeInfo
>
>
> static void
> -prepare_planes(data_t *data, enum pipe pipe_id, color_t *color,
> - uint64_t modifier, int max_planes, igt_output_t *output)
> +prepare_planes(data_t *data, enum pipe pipe_id, color_t *color, igt_plane_t
> **plane,
> + uint64_t modifier, int max_planes, igt_output_t *output,
> +igt_fb_t *fb)
> {
> drmModeModeInfo *mode;
> igt_pipe_t *pipe;
> @@ -252,15 +256,14 @@ prepare_planes(data_t *data, enum pipe pipe_id,
> color_t *color,
> * Here is made assumption primary plane will have
> * index zero.
> */
> - igt_plane_t *plane = igt_output_get_plane(output, suffle[i]);
> uint32_t plane_format;
> uint64_t plane_modifier;
>
> - data->plane[i] = plane;
> + plane[i] = igt_output_get_plane(output, suffle[i]);
>
> - if (plane->type == DRM_PLANE_TYPE_PRIMARY)
> + if (plane[i]->type == DRM_PLANE_TYPE_PRIMARY)
> continue;
> - else if (plane->type == DRM_PLANE_TYPE_CURSOR)
> + else if (plane[i]->type == DRM_PLANE_TYPE_CURSOR)
> size[i] = SIZE_CURSOR;
> else
> size[i] = SIZE_PLANE;
> @@ -268,10 +271,10 @@ prepare_planes(data_t *data, enum pipe pipe_id,
> color_t *color,
> x[i] = rand() % (mode->hdisplay - size[i]);
> y[i] = rand() % (mode->vdisplay - size[i]);
>
> - plane_format = data->plane[i]->type ==
> DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_ARGB8888 :
> DRM_FORMAT_XRGB8888;
> - plane_modifier = data->plane[i]->type ==
> DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_MOD_LINEAR : modifier;
> + plane_format = plane[i]->type == DRM_PLANE_TYPE_CURSOR ?
> DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888;
> + plane_modifier = plane[i]->type == DRM_PLANE_TYPE_CURSOR
> ?
> +DRM_FORMAT_MOD_LINEAR : modifier;
>
line length exceeds 100 for the above 2 please fix if possible.
> - igt_skip_on(!igt_plane_has_format_mod(plane, plane_format,
> + igt_skip_on(!igt_plane_has_format_mod(plane[i], plane_format,
> plane_modifier));
>
> igt_create_color_fb(data->drm_fd,
> @@ -279,17 +282,17 @@ prepare_planes(data_t *data, enum pipe pipe_id,
> color_t *color,
> plane_format,
> plane_modifier,
> color->red, color->green, color->blue,
> - &data->fb[i]);
> + &fb[i]);
>
> - igt_plane_set_position(data->plane[i], x[i], y[i]);
> - igt_plane_set_fb(data->plane[i], &data->fb[i]);
> + igt_plane_set_position(plane[i], x[i], y[i]);
> + igt_plane_set_fb(plane[i], &fb[i]);
> }
>
> /* primary plane */
> - data->plane[primary->index] = primary;
> + plane[primary->index] = primary;
> create_fb_for_mode_position(data, output, mode, color, x, y,
> - size, size, modifier, max_planes);
> - igt_plane_set_fb(data->plane[primary->index], &data->fb[primary-
> >index]);
> + size, size, modifier, max_planes, &fb[primary-
> >index]);
> + igt_plane_set_fb(plane[primary->index], &fb[primary->index]);
> free((void*)x);
> free((void*)y);
> free((void*)size);
> @@ -335,12 +338,13 @@ test_plane_position_with_output(data_t *data, enum
> pipe pipe,
>
> test_init(data, pipe, n_planes);
>
> - get_reference_crc(data, output, pipe, &blue, modifier);
> + get_reference_crc(data, output, pipe, data->pipe_crc1, &blue,
> + data->plane1, modifier, &data->ref_crc1);
>
> /* Find out how many planes are allowed simultaneously */
> do {
> c++;
> - prepare_planes(data, pipe, &blue, modifier, c, output);
> + prepare_planes(data, pipe, &blue, data->plane1, modifier, c,
> output,
> +data->fb1);
> err = igt_display_try_commit2(&data->display,
> COMMIT_ATOMIC);
>
> for_each_plane_on_pipe(&data->display, pipe, plane) @@ -
> 350,7 +354,7 @@ test_plane_position_with_output(data_t *data, enum pipe
> pipe,
> igt_display_commit2(&data->display, COMMIT_ATOMIC);
>
> for (int x = 0; x < c; x++)
> - igt_remove_fb(data->drm_fd, &data->fb[x]);
> + igt_remove_fb(data->drm_fd, &data->fb1[x]);
> } while (!err && c < n_planes);
>
> if (err)
> @@ -364,14 +368,14 @@ test_plane_position_with_output(data_t *data, enum
> pipe pipe,
> while (i < iterations || loop_forever) {
>
> /* randomize planes and set up the holes */
> - prepare_planes(data, pipe, &blue, modifier, c, output);
> + prepare_planes(data, pipe, &blue, data->plane1, modifier, c,
> output,
> +data->fb1);
>
> igt_display_commit2(&data->display, COMMIT_ATOMIC);
> - igt_pipe_crc_start(data->pipe_crc);
> + igt_pipe_crc_start(data->pipe_crc1);
>
> - igt_pipe_crc_get_current(data->display.drm_fd, data->pipe_crc,
> &crc);
> - igt_assert_crc_equal(&data->ref_crc, &crc);
> - igt_pipe_crc_stop(data->pipe_crc);
> + igt_pipe_crc_get_current(data->display.drm_fd, data-
> >pipe_crc1, &crc);
> + igt_assert_crc_equal(&data->ref_crc1, &crc);
> + igt_pipe_crc_stop(data->pipe_crc1);
>
> for_each_plane_on_pipe(&data->display, pipe, plane)
> igt_plane_set_fb(plane, NULL);
> @@ -380,7 +384,7 @@ test_plane_position_with_output(data_t *data, enum
> pipe pipe,
> igt_display_commit2(&data->display, COMMIT_ATOMIC);
>
> for (int x = 0; x < c; x++)
> - igt_remove_fb(data->drm_fd, &data->fb[x]);
> + igt_remove_fb(data->drm_fd, &data->fb1[x]);
>
> i++;
> }
> @@ -403,6 +407,108 @@ test_plane_position(data_t *data, enum pipe pipe,
> igt_output_t *output, uint64_t
> n_planes, modifier);
> }
>
> +static void test_init_2_display(data_t *data, enum pipe pipe1, enum
> +pipe pipe2) {
> + data->pipe_crc1 = igt_pipe_crc_new(data->drm_fd, pipe1,
> + IGT_PIPE_CRC_SOURCE_AUTO);
> + data->pipe_crc2 = igt_pipe_crc_new(data->drm_fd, pipe2,
> + IGT_PIPE_CRC_SOURCE_AUTO);
> +
> + data->plane1 = calloc(2, sizeof(*data->plane1));
> + igt_assert_f(data->plane1 != NULL, "Failed to allocate memory for
> +planes\n");
> +
> + data->plane2 = calloc(2, sizeof(*data->plane2));
> + igt_assert_f(data->plane2 != NULL, "Failed to allocate memory for
> +planes\n");
> +
> + data->fb1 = calloc(2, sizeof(struct igt_fb));
> + igt_assert_f(data->fb1 != NULL, "Failed to allocate memory for
> +FBs\n");
> +
> + data->fb2 = calloc(2, sizeof(struct igt_fb));
> + igt_assert_f(data->fb2 != NULL, "Failed to allocate memory for
> +FBs\n"); }
> +
> +static void test_fini_2_display(data_t *data) {
> + igt_pipe_crc_stop(data->pipe_crc1);
> + igt_pipe_crc_stop(data->pipe_crc2);
> +
> + igt_display_reset(&data->display);
> +}
> +
> +static void test_plane_position_2_display(data_t *data, enum pipe pipe1, enum
> pipe pipe2,
> + igt_output_t *output1, igt_output_t
> *output2) {
> + color_t blue = { 0.0f, 0.0f, 1.0f };
> + igt_crc_t crc1, crc2;
> +
> + test_init_2_display(data, pipe1, pipe2);
> + get_reference_crc(data, output1, pipe1, data->pipe_crc1, &blue,
> + data->plane1, DRM_FORMAT_MOD_LINEAR, &data-
> >ref_crc1);
> + get_reference_crc(data, output2, pipe2, data->pipe_crc2, &blue,
> + data->plane2, DRM_FORMAT_MOD_LINEAR, &data-
> >ref_crc2);
> +
> + prepare_planes(data, pipe1, &blue, data->plane1,
> DRM_FORMAT_MOD_LINEAR, 2, output1, data->fb1);
> + prepare_planes(data, pipe2, &blue, data->plane2,
> +DRM_FORMAT_MOD_LINEAR, 2, output2, data->fb2);
Line exceeds here also.
Can we target for all formats/modifiers like single display ??
> +
> + igt_display_commit2(&data->display, COMMIT_ATOMIC);
> + igt_pipe_crc_start(data->pipe_crc1);
> + igt_pipe_crc_start(data->pipe_crc2);
> +
> + igt_pipe_crc_get_current(data->display.drm_fd, data->pipe_crc1, &crc1);
> + igt_pipe_crc_get_current(data->display.drm_fd, data->pipe_crc2,
> +&crc2);
> +
> + igt_assert_crc_equal(&data->ref_crc1, &crc1);
> + igt_assert_crc_equal(&data->ref_crc2, &crc2); }
> +
> +#define for_each_connected_output_local(display, output) \
> + for (int j__ = 0; assert(igt_can_fail()), j__ < (display)->n_outputs; j__++)
> \
> + for_each_if((((output) = &(display)->outputs[j__]), \
> + igt_output_is_connected((output))))
> +
> +#define for_each_valid_output_on_pipe_local(display, pipe, output) \
> + for_each_connected_output_local((display), (output)) \
> + for_each_if(igt_pipe_connector_valid((pipe), (output)))
> +
> +static void run_2_display_test(data_t *data) {
> + enum pipe pipe1, pipe2;
> + igt_output_t *output1, *output2;
> + igt_display_t *display = &data->display;
> +
> + igt_display_reset(display);
> +
> + for_each_pipe(display, pipe1) {
> + for_each_valid_output_on_pipe(display, pipe1, output1) {
> + for_each_pipe(display, pipe2) {
> + if (pipe1 == pipe2)
> + continue;
> +
> + for_each_valid_output_on_pipe_local(display,
> pipe2, output2) {
> + if (output1 == output2)
> + continue;
> +
> + igt_display_reset(display);
> +
> + igt_output_set_pipe(output1, pipe1);
> + igt_output_set_pipe(output2, pipe2);
> +
> + if
> (!intel_pipe_output_combo_valid(display))
> + continue;
> +
> + igt_dynamic_f("pipe-%s-%s-pipe-%s-
> %s",
> +
> kmstest_pipe_name(pipe1), output1->name,
> +
> kmstest_pipe_name(pipe2), output2->name)
> +
> test_plane_position_2_display(data, pipe1, pipe2,
> +
> output1, output2);
> +
> + test_fini_2_display(data);
> + }
> + }
> + }
> + }
> +}
> +
> static void run_test(data_t *data, uint64_t modifier) {
> enum pipe pipe;
> @@ -506,6 +612,18 @@ igt_main_args("", long_options, help_str, opt_handler,
> NULL)
> run_test(&data, subtests[i].modifier);
> }
>
> + igt_subtest_with_dynamic("2x") {
> + int valid_outputs = 0;
> + igt_output_t *output;
> +
> + for_each_connected_output(&data.display, output)
> + valid_outputs++;
> +
> + igt_require(valid_outputs > 1);
> +
> + run_2_display_test(&data);
> + }
> +
> igt_fixture {
> igt_display_fini(&data.display);
> drm_close_driver(data.drm_fd);
> --
> 2.43.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest
2025-02-24 6:24 ` [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest B, Jeevan
@ 2025-03-05 9:29 ` Karthik B S
2025-03-05 9:31 ` B, Jeevan
0 siblings, 1 reply; 6+ messages in thread
From: Karthik B S @ 2025-03-05 9:29 UTC (permalink / raw)
To: B, Jeevan, igt-dev@lists.freedesktop.org
Hi,
On 2/24/2025 11:54 AM, B, Jeevan wrote:
>> -----Original Message-----
>> From: igt-dev <igt-dev-bounces@lists.freedesktop.org> On Behalf Of Karthik B S
>> Sent: Wednesday, February 19, 2025 11:42 AM
>> To: igt-dev@lists.freedesktop.org
>> Cc: B S, Karthik <karthik.b.s@intel.com>
>> Subject: [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest
>>
>> Add 2x subtest to verify MPO use case simulataneously on two display
>> configurations.
>>
>> Signed-off-by: Karthik B S <karthik.b.s@intel.com>
>> ---
>> tests/kms_plane_multiple.c | 216 ++++++++++++++++++++++++++++---------
>> 1 file changed, 167 insertions(+), 49 deletions(-)
>>
>> diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c index
>> b7922c357..993162640 100644
>> --- a/tests/kms_plane_multiple.c
>> +++ b/tests/kms_plane_multiple.c
>> @@ -58,6 +58,10 @@
>> * @x: x-tiling
>> * @y: y-tiling
>> * @yf: yf-tiling
>> + *
>> + * SUBTEST: 2x
>> + * Description: Check that the kernel handles atomic updates of multiple planes
>> + * simultaneously committed on 2 displays.
>> */
>>
>> IGT_TEST_DESCRIPTION("Test atomic mode setting with multiple planes."); @@
>> -76,10 +80,10 @@ typedef struct { typedef struct {
>> int drm_fd;
>> igt_display_t display;
>> - igt_crc_t ref_crc;
>> - igt_pipe_crc_t *pipe_crc;
>> - igt_plane_t **plane;
>> - struct igt_fb *fb;
>> + igt_crc_t ref_crc1, ref_crc2;
>> + igt_pipe_crc_t *pipe_crc1, *pipe_crc2;
>> + igt_plane_t **plane1, **plane2;
>> + struct igt_fb *fb1, *fb2;
>> } data_t;
>>
>> /* Command line parameters. */
>> @@ -98,14 +102,14 @@ struct {
>> */
>> static void test_init(data_t *data, enum pipe pipe, int n_planes) {
>> - data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
>> + data->pipe_crc1 = igt_pipe_crc_new(data->drm_fd, pipe,
>> IGT_PIPE_CRC_SOURCE_AUTO);
>>
>> - data->plane = calloc(n_planes, sizeof(*data->plane));
>> - igt_assert_f(data->plane != NULL, "Failed to allocate memory for
>> planes\n");
>> + data->plane1 = calloc(n_planes, sizeof(*data->plane1));
>> + igt_assert_f(data->plane1 != NULL, "Failed to allocate memory for
>> +planes\n");
>>
>> - data->fb = calloc(n_planes, sizeof(struct igt_fb));
>> - igt_assert_f(data->fb != NULL, "Failed to allocate memory for FBs\n");
>> + data->fb1 = calloc(n_planes, sizeof(struct igt_fb));
>> + igt_assert_f(data->fb1 != NULL, "Failed to allocate memory for
>> +FBs\n");
>> }
>>
>> static void test_fini(data_t *data, igt_output_t *output, int n_planes) @@ -
>> 113,21 +117,21 @@ static void test_fini(data_t *data, igt_output_t *output, int
>> n_planes)
>> /* reset the constraint on the pipe */
>> igt_output_set_pipe(output, PIPE_ANY);
>>
>> - igt_pipe_crc_free(data->pipe_crc);
>> - data->pipe_crc = NULL;
>> + igt_pipe_crc_free(data->pipe_crc1);
>> + data->pipe_crc1 = NULL;
>>
>> - free(data->plane);
>> - data->plane = NULL;
>> + free(data->plane1);
>> + data->plane1 = NULL;
>>
>> - free(data->fb);
>> - data->fb = NULL;
>> + free(data->fb1);
>> + data->fb1 = NULL;
>>
>> igt_display_reset(&data->display);
>> }
>>
>> static void
>> -get_reference_crc(data_t *data, igt_output_t *output, enum pipe pipe,
>> - color_t *color, uint64_t modifier)
>> +get_reference_crc(data_t *data, igt_output_t *output, enum pipe pipe,
>> igt_pipe_crc_t *pipe_crc,
>> + color_t *color, igt_plane_t **plane, uint64_t modifier,
>> +igt_crc_t *ref_crc)
>> {
>> drmModeModeInfo *mode;
>> igt_plane_t *primary;
>> @@ -137,7 +141,7 @@ get_reference_crc(data_t *data, igt_output_t *output,
>> enum pipe pipe,
>> igt_output_set_pipe(output, pipe);
>>
>> primary = igt_output_get_plane_type(output,
>> DRM_PLANE_TYPE_PRIMARY);
>> - data->plane[primary->index] = primary;
>> + plane[primary->index] = primary;
>>
>> mode = igt_output_get_mode(output);
>>
>> @@ -145,21 +149,21 @@ get_reference_crc(data_t *data, igt_output_t *output,
>> enum pipe pipe,
>> DRM_FORMAT_XRGB8888,
>> modifier,
>> color->red, color->green, color->blue,
>> - &data->fb[primary->index]);
>> + &data->fb1[primary->index]);
>>
>> - igt_plane_set_fb(data->plane[primary->index], &data->fb[primary-
>>> index]);
>> + igt_plane_set_fb(plane[primary->index], &data->fb1[primary->index]);
>>
>> ret = igt_display_try_commit2(&data->display, COMMIT_ATOMIC);
>> igt_skip_on(ret != 0);
>>
>> - igt_pipe_crc_collect_crc(data->pipe_crc, &data->ref_crc);
>> + igt_pipe_crc_collect_crc(pipe_crc, ref_crc);
>> }
>>
>> static void
>> create_fb_for_mode_position(data_t *data, igt_output_t *output,
>> drmModeModeInfo *mode,
>> color_t *color, int *rect_x, int *rect_y,
>> int *rect_w, int *rect_h, uint64_t modifier,
>> - int max_planes)
>> + int max_planes, igt_fb_t *fb)
>> {
>> unsigned int fb_id;
>> cairo_t *cr;
>> @@ -171,16 +175,16 @@ create_fb_for_mode_position(data_t *data,
>> igt_output_t *output, drmModeModeInfo
>> mode->hdisplay, mode->vdisplay,
>> DRM_FORMAT_XRGB8888,
>> modifier,
>> - &data->fb[primary->index]);
>> + &fb[primary->index]);
>> igt_assert(fb_id);
>>
>> - cr = igt_get_cairo_ctx(data->drm_fd, &data->fb[primary->index]);
>> + cr = igt_get_cairo_ctx(data->drm_fd, &fb[primary->index]);
>> igt_paint_color(cr, rect_x[0], rect_y[0],
>> mode->hdisplay, mode->vdisplay,
>> color->red, color->green, color->blue);
>>
>> for (int i = 0; i < max_planes; i++) {
>> - if (data->plane[i]->type == DRM_PLANE_TYPE_PRIMARY)
>> + if (data->plane1[i]->type == DRM_PLANE_TYPE_PRIMARY)
>> continue;
>> igt_paint_color(cr, rect_x[i], rect_y[i],
>> rect_w[i], rect_h[i], 0.0, 0.0, 0.0); @@ -191,8
>> +195,8 @@ create_fb_for_mode_position(data_t *data, igt_output_t *output,
>> drmModeModeInfo
>>
>>
>> static void
>> -prepare_planes(data_t *data, enum pipe pipe_id, color_t *color,
>> - uint64_t modifier, int max_planes, igt_output_t *output)
>> +prepare_planes(data_t *data, enum pipe pipe_id, color_t *color, igt_plane_t
>> **plane,
>> + uint64_t modifier, int max_planes, igt_output_t *output,
>> +igt_fb_t *fb)
>> {
>> drmModeModeInfo *mode;
>> igt_pipe_t *pipe;
>> @@ -252,15 +256,14 @@ prepare_planes(data_t *data, enum pipe pipe_id,
>> color_t *color,
>> * Here is made assumption primary plane will have
>> * index zero.
>> */
>> - igt_plane_t *plane = igt_output_get_plane(output, suffle[i]);
>> uint32_t plane_format;
>> uint64_t plane_modifier;
>>
>> - data->plane[i] = plane;
>> + plane[i] = igt_output_get_plane(output, suffle[i]);
>>
>> - if (plane->type == DRM_PLANE_TYPE_PRIMARY)
>> + if (plane[i]->type == DRM_PLANE_TYPE_PRIMARY)
>> continue;
>> - else if (plane->type == DRM_PLANE_TYPE_CURSOR)
>> + else if (plane[i]->type == DRM_PLANE_TYPE_CURSOR)
>> size[i] = SIZE_CURSOR;
>> else
>> size[i] = SIZE_PLANE;
>> @@ -268,10 +271,10 @@ prepare_planes(data_t *data, enum pipe pipe_id,
>> color_t *color,
>> x[i] = rand() % (mode->hdisplay - size[i]);
>> y[i] = rand() % (mode->vdisplay - size[i]);
>>
>> - plane_format = data->plane[i]->type ==
>> DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_ARGB8888 :
>> DRM_FORMAT_XRGB8888;
>> - plane_modifier = data->plane[i]->type ==
>> DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_MOD_LINEAR : modifier;
>> + plane_format = plane[i]->type == DRM_PLANE_TYPE_CURSOR ?
>> DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888;
>> + plane_modifier = plane[i]->type == DRM_PLANE_TYPE_CURSOR
>> ?
>> +DRM_FORMAT_MOD_LINEAR : modifier;
>>
> line length exceeds 100 for the above 2 please fix if possible.
Thank you for the review.
This is a change I just made in the existing line of code and even by
fixing this I see a lot of other lines still being too long. IMHO, all
those changes can be made in a separate patch. Would that be fine?
>
>> - igt_skip_on(!igt_plane_has_format_mod(plane, plane_format,
>> + igt_skip_on(!igt_plane_has_format_mod(plane[i], plane_format,
>> plane_modifier));
>>
>> igt_create_color_fb(data->drm_fd,
>> @@ -279,17 +282,17 @@ prepare_planes(data_t *data, enum pipe pipe_id,
>> color_t *color,
>> plane_format,
>> plane_modifier,
>> color->red, color->green, color->blue,
>> - &data->fb[i]);
>> + &fb[i]);
>>
>> - igt_plane_set_position(data->plane[i], x[i], y[i]);
>> - igt_plane_set_fb(data->plane[i], &data->fb[i]);
>> + igt_plane_set_position(plane[i], x[i], y[i]);
>> + igt_plane_set_fb(plane[i], &fb[i]);
>> }
>>
>> /* primary plane */
>> - data->plane[primary->index] = primary;
>> + plane[primary->index] = primary;
>> create_fb_for_mode_position(data, output, mode, color, x, y,
>> - size, size, modifier, max_planes);
>> - igt_plane_set_fb(data->plane[primary->index], &data->fb[primary-
>>> index]);
>> + size, size, modifier, max_planes, &fb[primary-
>>> index]);
>> + igt_plane_set_fb(plane[primary->index], &fb[primary->index]);
>> free((void*)x);
>> free((void*)y);
>> free((void*)size);
>> @@ -335,12 +338,13 @@ test_plane_position_with_output(data_t *data, enum
>> pipe pipe,
>>
>> test_init(data, pipe, n_planes);
>>
>> - get_reference_crc(data, output, pipe, &blue, modifier);
>> + get_reference_crc(data, output, pipe, data->pipe_crc1, &blue,
>> + data->plane1, modifier, &data->ref_crc1);
>>
>> /* Find out how many planes are allowed simultaneously */
>> do {
>> c++;
>> - prepare_planes(data, pipe, &blue, modifier, c, output);
>> + prepare_planes(data, pipe, &blue, data->plane1, modifier, c,
>> output,
>> +data->fb1);
>> err = igt_display_try_commit2(&data->display,
>> COMMIT_ATOMIC);
>>
>> for_each_plane_on_pipe(&data->display, pipe, plane) @@ -
>> 350,7 +354,7 @@ test_plane_position_with_output(data_t *data, enum pipe
>> pipe,
>> igt_display_commit2(&data->display, COMMIT_ATOMIC);
>>
>> for (int x = 0; x < c; x++)
>> - igt_remove_fb(data->drm_fd, &data->fb[x]);
>> + igt_remove_fb(data->drm_fd, &data->fb1[x]);
>> } while (!err && c < n_planes);
>>
>> if (err)
>> @@ -364,14 +368,14 @@ test_plane_position_with_output(data_t *data, enum
>> pipe pipe,
>> while (i < iterations || loop_forever) {
>>
>> /* randomize planes and set up the holes */
>> - prepare_planes(data, pipe, &blue, modifier, c, output);
>> + prepare_planes(data, pipe, &blue, data->plane1, modifier, c,
>> output,
>> +data->fb1);
>>
>> igt_display_commit2(&data->display, COMMIT_ATOMIC);
>> - igt_pipe_crc_start(data->pipe_crc);
>> + igt_pipe_crc_start(data->pipe_crc1);
>>
>> - igt_pipe_crc_get_current(data->display.drm_fd, data->pipe_crc,
>> &crc);
>> - igt_assert_crc_equal(&data->ref_crc, &crc);
>> - igt_pipe_crc_stop(data->pipe_crc);
>> + igt_pipe_crc_get_current(data->display.drm_fd, data-
>>> pipe_crc1, &crc);
>> + igt_assert_crc_equal(&data->ref_crc1, &crc);
>> + igt_pipe_crc_stop(data->pipe_crc1);
>>
>> for_each_plane_on_pipe(&data->display, pipe, plane)
>> igt_plane_set_fb(plane, NULL);
>> @@ -380,7 +384,7 @@ test_plane_position_with_output(data_t *data, enum
>> pipe pipe,
>> igt_display_commit2(&data->display, COMMIT_ATOMIC);
>>
>> for (int x = 0; x < c; x++)
>> - igt_remove_fb(data->drm_fd, &data->fb[x]);
>> + igt_remove_fb(data->drm_fd, &data->fb1[x]);
>>
>> i++;
>> }
>> @@ -403,6 +407,108 @@ test_plane_position(data_t *data, enum pipe pipe,
>> igt_output_t *output, uint64_t
>> n_planes, modifier);
>> }
>>
>> +static void test_init_2_display(data_t *data, enum pipe pipe1, enum
>> +pipe pipe2) {
>> + data->pipe_crc1 = igt_pipe_crc_new(data->drm_fd, pipe1,
>> + IGT_PIPE_CRC_SOURCE_AUTO);
>> + data->pipe_crc2 = igt_pipe_crc_new(data->drm_fd, pipe2,
>> + IGT_PIPE_CRC_SOURCE_AUTO);
>> +
>> + data->plane1 = calloc(2, sizeof(*data->plane1));
>> + igt_assert_f(data->plane1 != NULL, "Failed to allocate memory for
>> +planes\n");
>> +
>> + data->plane2 = calloc(2, sizeof(*data->plane2));
>> + igt_assert_f(data->plane2 != NULL, "Failed to allocate memory for
>> +planes\n");
>> +
>> + data->fb1 = calloc(2, sizeof(struct igt_fb));
>> + igt_assert_f(data->fb1 != NULL, "Failed to allocate memory for
>> +FBs\n");
>> +
>> + data->fb2 = calloc(2, sizeof(struct igt_fb));
>> + igt_assert_f(data->fb2 != NULL, "Failed to allocate memory for
>> +FBs\n"); }
>> +
>> +static void test_fini_2_display(data_t *data) {
>> + igt_pipe_crc_stop(data->pipe_crc1);
>> + igt_pipe_crc_stop(data->pipe_crc2);
>> +
>> + igt_display_reset(&data->display);
>> +}
>> +
>> +static void test_plane_position_2_display(data_t *data, enum pipe pipe1, enum
>> pipe pipe2,
>> + igt_output_t *output1, igt_output_t
>> *output2) {
>> + color_t blue = { 0.0f, 0.0f, 1.0f };
>> + igt_crc_t crc1, crc2;
>> +
>> + test_init_2_display(data, pipe1, pipe2);
>> + get_reference_crc(data, output1, pipe1, data->pipe_crc1, &blue,
>> + data->plane1, DRM_FORMAT_MOD_LINEAR, &data-
>>> ref_crc1);
>> + get_reference_crc(data, output2, pipe2, data->pipe_crc2, &blue,
>> + data->plane2, DRM_FORMAT_MOD_LINEAR, &data-
>>> ref_crc2);
>> +
>> + prepare_planes(data, pipe1, &blue, data->plane1,
>> DRM_FORMAT_MOD_LINEAR, 2, output1, data->fb1);
>> + prepare_planes(data, pipe2, &blue, data->plane2,
>> +DRM_FORMAT_MOD_LINEAR, 2, output2, data->fb2);
> Line exceeds here also.
Will update this.
> Can we target for all formats/modifiers like single display ??
Sure, will update this.
Thanks,
Karthik.B.S
>
>> +
>> + igt_display_commit2(&data->display, COMMIT_ATOMIC);
>> + igt_pipe_crc_start(data->pipe_crc1);
>> + igt_pipe_crc_start(data->pipe_crc2);
>> +
>> + igt_pipe_crc_get_current(data->display.drm_fd, data->pipe_crc1, &crc1);
>> + igt_pipe_crc_get_current(data->display.drm_fd, data->pipe_crc2,
>> +&crc2);
>> +
>> + igt_assert_crc_equal(&data->ref_crc1, &crc1);
>> + igt_assert_crc_equal(&data->ref_crc2, &crc2); }
>> +
>> +#define for_each_connected_output_local(display, output) \
>> + for (int j__ = 0; assert(igt_can_fail()), j__ < (display)->n_outputs; j__++)
>> \
>> + for_each_if((((output) = &(display)->outputs[j__]), \
>> + igt_output_is_connected((output))))
>> +
>> +#define for_each_valid_output_on_pipe_local(display, pipe, output) \
>> + for_each_connected_output_local((display), (output)) \
>> + for_each_if(igt_pipe_connector_valid((pipe), (output)))
>> +
>> +static void run_2_display_test(data_t *data) {
>> + enum pipe pipe1, pipe2;
>> + igt_output_t *output1, *output2;
>> + igt_display_t *display = &data->display;
>> +
>> + igt_display_reset(display);
>> +
>> + for_each_pipe(display, pipe1) {
>> + for_each_valid_output_on_pipe(display, pipe1, output1) {
>> + for_each_pipe(display, pipe2) {
>> + if (pipe1 == pipe2)
>> + continue;
>> +
>> + for_each_valid_output_on_pipe_local(display,
>> pipe2, output2) {
>> + if (output1 == output2)
>> + continue;
>> +
>> + igt_display_reset(display);
>> +
>> + igt_output_set_pipe(output1, pipe1);
>> + igt_output_set_pipe(output2, pipe2);
>> +
>> + if
>> (!intel_pipe_output_combo_valid(display))
>> + continue;
>> +
>> + igt_dynamic_f("pipe-%s-%s-pipe-%s-
>> %s",
>> +
>> kmstest_pipe_name(pipe1), output1->name,
>> +
>> kmstest_pipe_name(pipe2), output2->name)
>> +
>> test_plane_position_2_display(data, pipe1, pipe2,
>> +
>> output1, output2);
>> +
>> + test_fini_2_display(data);
>> + }
>> + }
>> + }
>> + }
>> +}
>> +
>> static void run_test(data_t *data, uint64_t modifier) {
>> enum pipe pipe;
>> @@ -506,6 +612,18 @@ igt_main_args("", long_options, help_str, opt_handler,
>> NULL)
>> run_test(&data, subtests[i].modifier);
>> }
>>
>> + igt_subtest_with_dynamic("2x") {
>> + int valid_outputs = 0;
>> + igt_output_t *output;
>> +
>> + for_each_connected_output(&data.display, output)
>> + valid_outputs++;
>> +
>> + igt_require(valid_outputs > 1);
>> +
>> + run_2_display_test(&data);
>> + }
>> +
>> igt_fixture {
>> igt_display_fini(&data.display);
>> drm_close_driver(data.drm_fd);
>> --
>> 2.43.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest
2025-03-05 9:29 ` Karthik B S
@ 2025-03-05 9:31 ` B, Jeevan
0 siblings, 0 replies; 6+ messages in thread
From: B, Jeevan @ 2025-03-05 9:31 UTC (permalink / raw)
To: B S, Karthik, igt-dev@lists.freedesktop.org
> -----Original Message-----
> From: B S, Karthik <karthik.b.s@intel.com>
> Sent: Wednesday, March 5, 2025 2:59 PM
> To: B, Jeevan <jeevan.b@intel.com>; igt-dev@lists.freedesktop.org
> Subject: Re: [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest
>
> Hi,
>
> On 2/24/2025 11:54 AM, B, Jeevan wrote:
> >> -----Original Message-----
> >> From: igt-dev <igt-dev-bounces@lists.freedesktop.org> On Behalf Of
> >> Karthik B S
> >> Sent: Wednesday, February 19, 2025 11:42 AM
> >> To: igt-dev@lists.freedesktop.org
> >> Cc: B S, Karthik <karthik.b.s@intel.com>
> >> Subject: [PATCH i-g-t] tests/kms_plane_multiple: Add dual display
> >> subtest
> >>
> >> Add 2x subtest to verify MPO use case simulataneously on two display
> >> configurations.
> >>
> >> Signed-off-by: Karthik B S <karthik.b.s@intel.com>
> >> ---
> >> tests/kms_plane_multiple.c | 216 ++++++++++++++++++++++++++++---
> ------
> >> 1 file changed, 167 insertions(+), 49 deletions(-)
> >>
> >> diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
> >> index
> >> b7922c357..993162640 100644
> >> --- a/tests/kms_plane_multiple.c
> >> +++ b/tests/kms_plane_multiple.c
> >> @@ -58,6 +58,10 @@
> >> * @x: x-tiling
> >> * @y: y-tiling
> >> * @yf: yf-tiling
> >> + *
> >> + * SUBTEST: 2x
> >> + * Description: Check that the kernel handles atomic updates of multiple
> planes
> >> + * simultaneously committed on 2 displays.
> >> */
> >>
> >> IGT_TEST_DESCRIPTION("Test atomic mode setting with multiple
> >> planes."); @@
> >> -76,10 +80,10 @@ typedef struct { typedef struct {
> >> int drm_fd;
> >> igt_display_t display;
> >> - igt_crc_t ref_crc;
> >> - igt_pipe_crc_t *pipe_crc;
> >> - igt_plane_t **plane;
> >> - struct igt_fb *fb;
> >> + igt_crc_t ref_crc1, ref_crc2;
> >> + igt_pipe_crc_t *pipe_crc1, *pipe_crc2;
> >> + igt_plane_t **plane1, **plane2;
> >> + struct igt_fb *fb1, *fb2;
> >> } data_t;
> >>
> >> /* Command line parameters. */
> >> @@ -98,14 +102,14 @@ struct {
> >> */
> >> static void test_init(data_t *data, enum pipe pipe, int n_planes) {
> >> - data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
> >> + data->pipe_crc1 = igt_pipe_crc_new(data->drm_fd, pipe,
> >> IGT_PIPE_CRC_SOURCE_AUTO);
> >>
> >> - data->plane = calloc(n_planes, sizeof(*data->plane));
> >> - igt_assert_f(data->plane != NULL, "Failed to allocate memory for
> >> planes\n");
> >> + data->plane1 = calloc(n_planes, sizeof(*data->plane1));
> >> + igt_assert_f(data->plane1 != NULL, "Failed to allocate memory for
> >> +planes\n");
> >>
> >> - data->fb = calloc(n_planes, sizeof(struct igt_fb));
> >> - igt_assert_f(data->fb != NULL, "Failed to allocate memory for FBs\n");
> >> + data->fb1 = calloc(n_planes, sizeof(struct igt_fb));
> >> + igt_assert_f(data->fb1 != NULL, "Failed to allocate memory for
> >> +FBs\n");
> >> }
> >>
> >> static void test_fini(data_t *data, igt_output_t *output, int
> >> n_planes) @@ -
> >> 113,21 +117,21 @@ static void test_fini(data_t *data, igt_output_t
> >> *output, int
> >> n_planes)
> >> /* reset the constraint on the pipe */
> >> igt_output_set_pipe(output, PIPE_ANY);
> >>
> >> - igt_pipe_crc_free(data->pipe_crc);
> >> - data->pipe_crc = NULL;
> >> + igt_pipe_crc_free(data->pipe_crc1);
> >> + data->pipe_crc1 = NULL;
> >>
> >> - free(data->plane);
> >> - data->plane = NULL;
> >> + free(data->plane1);
> >> + data->plane1 = NULL;
> >>
> >> - free(data->fb);
> >> - data->fb = NULL;
> >> + free(data->fb1);
> >> + data->fb1 = NULL;
> >>
> >> igt_display_reset(&data->display);
> >> }
> >>
> >> static void
> >> -get_reference_crc(data_t *data, igt_output_t *output, enum pipe pipe,
> >> - color_t *color, uint64_t modifier)
> >> +get_reference_crc(data_t *data, igt_output_t *output, enum pipe
> >> +pipe,
> >> igt_pipe_crc_t *pipe_crc,
> >> + color_t *color, igt_plane_t **plane, uint64_t modifier,
> >> +igt_crc_t *ref_crc)
> >> {
> >> drmModeModeInfo *mode;
> >> igt_plane_t *primary;
> >> @@ -137,7 +141,7 @@ get_reference_crc(data_t *data, igt_output_t
> >> *output, enum pipe pipe,
> >> igt_output_set_pipe(output, pipe);
> >>
> >> primary = igt_output_get_plane_type(output,
> >> DRM_PLANE_TYPE_PRIMARY);
> >> - data->plane[primary->index] = primary;
> >> + plane[primary->index] = primary;
> >>
> >> mode = igt_output_get_mode(output);
> >>
> >> @@ -145,21 +149,21 @@ get_reference_crc(data_t *data, igt_output_t
> >> *output, enum pipe pipe,
> >> DRM_FORMAT_XRGB8888,
> >> modifier,
> >> color->red, color->green, color->blue,
> >> - &data->fb[primary->index]);
> >> + &data->fb1[primary->index]);
> >>
> >> - igt_plane_set_fb(data->plane[primary->index], &data->fb[primary-
> >>> index]);
> >> + igt_plane_set_fb(plane[primary->index],
> >> +&data->fb1[primary->index]);
> >>
> >> ret = igt_display_try_commit2(&data->display, COMMIT_ATOMIC);
> >> igt_skip_on(ret != 0);
> >>
> >> - igt_pipe_crc_collect_crc(data->pipe_crc, &data->ref_crc);
> >> + igt_pipe_crc_collect_crc(pipe_crc, ref_crc);
> >> }
> >>
> >> static void
> >> create_fb_for_mode_position(data_t *data, igt_output_t *output,
> >> drmModeModeInfo *mode,
> >> color_t *color, int *rect_x, int *rect_y,
> >> int *rect_w, int *rect_h, uint64_t modifier,
> >> - int max_planes)
> >> + int max_planes, igt_fb_t *fb)
> >> {
> >> unsigned int fb_id;
> >> cairo_t *cr;
> >> @@ -171,16 +175,16 @@ create_fb_for_mode_position(data_t *data,
> >> igt_output_t *output, drmModeModeInfo
> >> mode->hdisplay, mode->vdisplay,
> >> DRM_FORMAT_XRGB8888,
> >> modifier,
> >> - &data->fb[primary->index]);
> >> + &fb[primary->index]);
> >> igt_assert(fb_id);
> >>
> >> - cr = igt_get_cairo_ctx(data->drm_fd, &data->fb[primary->index]);
> >> + cr = igt_get_cairo_ctx(data->drm_fd, &fb[primary->index]);
> >> igt_paint_color(cr, rect_x[0], rect_y[0],
> >> mode->hdisplay, mode->vdisplay,
> >> color->red, color->green, color->blue);
> >>
> >> for (int i = 0; i < max_planes; i++) {
> >> - if (data->plane[i]->type == DRM_PLANE_TYPE_PRIMARY)
> >> + if (data->plane1[i]->type == DRM_PLANE_TYPE_PRIMARY)
> >> continue;
> >> igt_paint_color(cr, rect_x[i], rect_y[i],
> >> rect_w[i], rect_h[i], 0.0, 0.0, 0.0); @@ -191,8
> >> +195,8 @@ create_fb_for_mode_position(data_t *data, igt_output_t
> >> +*output,
> >> drmModeModeInfo
> >>
> >>
> >> static void
> >> -prepare_planes(data_t *data, enum pipe pipe_id, color_t *color,
> >> - uint64_t modifier, int max_planes, igt_output_t *output)
> >> +prepare_planes(data_t *data, enum pipe pipe_id, color_t *color,
> >> +igt_plane_t
> >> **plane,
> >> + uint64_t modifier, int max_planes, igt_output_t *output,
> >> +igt_fb_t *fb)
> >> {
> >> drmModeModeInfo *mode;
> >> igt_pipe_t *pipe;
> >> @@ -252,15 +256,14 @@ prepare_planes(data_t *data, enum pipe
> pipe_id,
> >> color_t *color,
> >> * Here is made assumption primary plane will have
> >> * index zero.
> >> */
> >> - igt_plane_t *plane = igt_output_get_plane(output, suffle[i]);
> >> uint32_t plane_format;
> >> uint64_t plane_modifier;
> >>
> >> - data->plane[i] = plane;
> >> + plane[i] = igt_output_get_plane(output, suffle[i]);
> >>
> >> - if (plane->type == DRM_PLANE_TYPE_PRIMARY)
> >> + if (plane[i]->type == DRM_PLANE_TYPE_PRIMARY)
> >> continue;
> >> - else if (plane->type == DRM_PLANE_TYPE_CURSOR)
> >> + else if (plane[i]->type == DRM_PLANE_TYPE_CURSOR)
> >> size[i] = SIZE_CURSOR;
> >> else
> >> size[i] = SIZE_PLANE;
> >> @@ -268,10 +271,10 @@ prepare_planes(data_t *data, enum pipe
> pipe_id,
> >> color_t *color,
> >> x[i] = rand() % (mode->hdisplay - size[i]);
> >> y[i] = rand() % (mode->vdisplay - size[i]);
> >>
> >> - plane_format = data->plane[i]->type ==
> >> DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_ARGB8888 :
> >> DRM_FORMAT_XRGB8888;
> >> - plane_modifier = data->plane[i]->type ==
> >> DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_MOD_LINEAR : modifier;
> >> + plane_format = plane[i]->type == DRM_PLANE_TYPE_CURSOR
> ?
> >> DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888;
> >> + plane_modifier = plane[i]->type ==
> DRM_PLANE_TYPE_CURSOR
> >> ?
> >> +DRM_FORMAT_MOD_LINEAR : modifier;
> >>
> > line length exceeds 100 for the above 2 please fix if possible.
>
> Thank you for the review.
>
> This is a change I just made in the existing line of code and even by fixing this I
> see a lot of other lines still being too long. IMHO, all those changes can be
> made in a separate patch. Would that be fine?
Yes its fine.
>
> >
> >> - igt_skip_on(!igt_plane_has_format_mod(plane,
> plane_format,
> >> + igt_skip_on(!igt_plane_has_format_mod(plane[i],
> plane_format,
> >> plane_modifier));
> >>
> >> igt_create_color_fb(data->drm_fd,
> >> @@ -279,17 +282,17 @@ prepare_planes(data_t *data, enum pipe
> pipe_id,
> >> color_t *color,
> >> plane_format,
> >> plane_modifier,
> >> color->red, color->green, color->blue,
> >> - &data->fb[i]);
> >> + &fb[i]);
> >>
> >> - igt_plane_set_position(data->plane[i], x[i], y[i]);
> >> - igt_plane_set_fb(data->plane[i], &data->fb[i]);
> >> + igt_plane_set_position(plane[i], x[i], y[i]);
> >> + igt_plane_set_fb(plane[i], &fb[i]);
> >> }
> >>
> >> /* primary plane */
> >> - data->plane[primary->index] = primary;
> >> + plane[primary->index] = primary;
> >> create_fb_for_mode_position(data, output, mode, color, x, y,
> >> - size, size, modifier, max_planes);
> >> - igt_plane_set_fb(data->plane[primary->index], &data->fb[primary-
> >>> index]);
> >> + size, size, modifier, max_planes,
> &fb[primary-
> >>> index]);
> >> + igt_plane_set_fb(plane[primary->index], &fb[primary->index]);
> >> free((void*)x);
> >> free((void*)y);
> >> free((void*)size);
> >> @@ -335,12 +338,13 @@ test_plane_position_with_output(data_t *data,
> enum
> >> pipe pipe,
> >>
> >> test_init(data, pipe, n_planes);
> >>
> >> - get_reference_crc(data, output, pipe, &blue, modifier);
> >> + get_reference_crc(data, output, pipe, data->pipe_crc1, &blue,
> >> + data->plane1, modifier, &data->ref_crc1);
> >>
> >> /* Find out how many planes are allowed simultaneously */
> >> do {
> >> c++;
> >> - prepare_planes(data, pipe, &blue, modifier, c, output);
> >> + prepare_planes(data, pipe, &blue, data->plane1, modifier, c,
> >> output,
> >> +data->fb1);
> >> err = igt_display_try_commit2(&data->display,
> >> COMMIT_ATOMIC);
> >>
> >> for_each_plane_on_pipe(&data->display, pipe, plane) @@ -
> >> 350,7 +354,7 @@ test_plane_position_with_output(data_t *data, enum
> pipe
> >> pipe,
> >> igt_display_commit2(&data->display, COMMIT_ATOMIC);
> >>
> >> for (int x = 0; x < c; x++)
> >> - igt_remove_fb(data->drm_fd, &data->fb[x]);
> >> + igt_remove_fb(data->drm_fd, &data->fb1[x]);
> >> } while (!err && c < n_planes);
> >>
> >> if (err)
> >> @@ -364,14 +368,14 @@ test_plane_position_with_output(data_t *data,
> enum
> >> pipe pipe,
> >> while (i < iterations || loop_forever) {
> >>
> >> /* randomize planes and set up the holes */
> >> - prepare_planes(data, pipe, &blue, modifier, c, output);
> >> + prepare_planes(data, pipe, &blue, data->plane1, modifier, c,
> >> output,
> >> +data->fb1);
> >>
> >> igt_display_commit2(&data->display, COMMIT_ATOMIC);
> >> - igt_pipe_crc_start(data->pipe_crc);
> >> + igt_pipe_crc_start(data->pipe_crc1);
> >>
> >> - igt_pipe_crc_get_current(data->display.drm_fd, data-
> >pipe_crc,
> >> &crc);
> >> - igt_assert_crc_equal(&data->ref_crc, &crc);
> >> - igt_pipe_crc_stop(data->pipe_crc);
> >> + igt_pipe_crc_get_current(data->display.drm_fd, data-
> >>> pipe_crc1, &crc);
> >> + igt_assert_crc_equal(&data->ref_crc1, &crc);
> >> + igt_pipe_crc_stop(data->pipe_crc1);
> >>
> >> for_each_plane_on_pipe(&data->display, pipe, plane)
> >> igt_plane_set_fb(plane, NULL);
> >> @@ -380,7 +384,7 @@ test_plane_position_with_output(data_t *data,
> enum
> >> pipe pipe,
> >> igt_display_commit2(&data->display, COMMIT_ATOMIC);
> >>
> >> for (int x = 0; x < c; x++)
> >> - igt_remove_fb(data->drm_fd, &data->fb[x]);
> >> + igt_remove_fb(data->drm_fd, &data->fb1[x]);
> >>
> >> i++;
> >> }
> >> @@ -403,6 +407,108 @@ test_plane_position(data_t *data, enum pipe
> pipe,
> >> igt_output_t *output, uint64_t
> >> n_planes, modifier);
> >> }
> >>
> >> +static void test_init_2_display(data_t *data, enum pipe pipe1, enum
> >> +pipe pipe2) {
> >> + data->pipe_crc1 = igt_pipe_crc_new(data->drm_fd, pipe1,
> >> + IGT_PIPE_CRC_SOURCE_AUTO);
> >> + data->pipe_crc2 = igt_pipe_crc_new(data->drm_fd, pipe2,
> >> + IGT_PIPE_CRC_SOURCE_AUTO);
> >> +
> >> + data->plane1 = calloc(2, sizeof(*data->plane1));
> >> + igt_assert_f(data->plane1 != NULL, "Failed to allocate memory for
> >> +planes\n");
> >> +
> >> + data->plane2 = calloc(2, sizeof(*data->plane2));
> >> + igt_assert_f(data->plane2 != NULL, "Failed to allocate memory for
> >> +planes\n");
> >> +
> >> + data->fb1 = calloc(2, sizeof(struct igt_fb));
> >> + igt_assert_f(data->fb1 != NULL, "Failed to allocate memory for
> >> +FBs\n");
> >> +
> >> + data->fb2 = calloc(2, sizeof(struct igt_fb));
> >> + igt_assert_f(data->fb2 != NULL, "Failed to allocate memory for
> >> +FBs\n"); }
> >> +
> >> +static void test_fini_2_display(data_t *data) {
> >> + igt_pipe_crc_stop(data->pipe_crc1);
> >> + igt_pipe_crc_stop(data->pipe_crc2);
> >> +
> >> + igt_display_reset(&data->display);
> >> +}
> >> +
> >> +static void test_plane_position_2_display(data_t *data, enum pipe pipe1,
> enum
> >> pipe pipe2,
> >> + igt_output_t *output1, igt_output_t
> >> *output2) {
> >> + color_t blue = { 0.0f, 0.0f, 1.0f };
> >> + igt_crc_t crc1, crc2;
> >> +
> >> + test_init_2_display(data, pipe1, pipe2);
> >> + get_reference_crc(data, output1, pipe1, data->pipe_crc1, &blue,
> >> + data->plane1, DRM_FORMAT_MOD_LINEAR, &data-
> >>> ref_crc1);
> >> + get_reference_crc(data, output2, pipe2, data->pipe_crc2, &blue,
> >> + data->plane2, DRM_FORMAT_MOD_LINEAR, &data-
> >>> ref_crc2);
> >> +
> >> + prepare_planes(data, pipe1, &blue, data->plane1,
> >> DRM_FORMAT_MOD_LINEAR, 2, output1, data->fb1);
> >> + prepare_planes(data, pipe2, &blue, data->plane2,
> >> +DRM_FORMAT_MOD_LINEAR, 2, output2, data->fb2);
> > Line exceeds here also.
> Will update this.
> > Can we target for all formats/modifiers like single display ??
>
> Sure, will update this.
>
> Thanks,
> Karthik.B.S
> >
> >> +
> >> + igt_display_commit2(&data->display, COMMIT_ATOMIC);
> >> + igt_pipe_crc_start(data->pipe_crc1);
> >> + igt_pipe_crc_start(data->pipe_crc2);
> >> +
> >> + igt_pipe_crc_get_current(data->display.drm_fd, data->pipe_crc1,
> &crc1);
> >> + igt_pipe_crc_get_current(data->display.drm_fd, data->pipe_crc2,
> >> +&crc2);
> >> +
> >> + igt_assert_crc_equal(&data->ref_crc1, &crc1);
> >> + igt_assert_crc_equal(&data->ref_crc2, &crc2); }
> >> +
> >> +#define for_each_connected_output_local(display, output) \
> >> + for (int j__ = 0; assert(igt_can_fail()), j__ < (display)->n_outputs;
> j__++)
> >> \
> >> + for_each_if((((output) = &(display)->outputs[j__]), \
> >> + igt_output_is_connected((output))))
> >> +
> >> +#define for_each_valid_output_on_pipe_local(display, pipe, output) \
> >> + for_each_connected_output_local((display), (output)) \
> >> + for_each_if(igt_pipe_connector_valid((pipe), (output)))
> >> +
> >> +static void run_2_display_test(data_t *data) {
> >> + enum pipe pipe1, pipe2;
> >> + igt_output_t *output1, *output2;
> >> + igt_display_t *display = &data->display;
> >> +
> >> + igt_display_reset(display);
> >> +
> >> + for_each_pipe(display, pipe1) {
> >> + for_each_valid_output_on_pipe(display, pipe1, output1) {
> >> + for_each_pipe(display, pipe2) {
> >> + if (pipe1 == pipe2)
> >> + continue;
> >> +
> >> + for_each_valid_output_on_pipe_local(display,
> >> pipe2, output2) {
> >> + if (output1 == output2)
> >> + continue;
> >> +
> >> + igt_display_reset(display);
> >> +
> >> + igt_output_set_pipe(output1, pipe1);
> >> + igt_output_set_pipe(output2, pipe2);
> >> +
> >> + if
> >> (!intel_pipe_output_combo_valid(display))
> >> + continue;
> >> +
> >> + igt_dynamic_f("pipe-%s-%s-pipe-%s-
> >> %s",
> >> +
> >> kmstest_pipe_name(pipe1), output1->name,
> >> +
> >> kmstest_pipe_name(pipe2), output2->name)
> >> +
> >> test_plane_position_2_display(data, pipe1, pipe2,
> >> +
> >> output1, output2);
> >> +
> >> + test_fini_2_display(data);
> >> + }
> >> + }
> >> + }
> >> + }
> >> +}
> >> +
> >> static void run_test(data_t *data, uint64_t modifier) {
> >> enum pipe pipe;
> >> @@ -506,6 +612,18 @@ igt_main_args("", long_options, help_str,
> opt_handler,
> >> NULL)
> >> run_test(&data, subtests[i].modifier);
> >> }
> >>
> >> + igt_subtest_with_dynamic("2x") {
> >> + int valid_outputs = 0;
> >> + igt_output_t *output;
> >> +
> >> + for_each_connected_output(&data.display, output)
> >> + valid_outputs++;
> >> +
> >> + igt_require(valid_outputs > 1);
> >> +
> >> + run_2_display_test(&data);
> >> + }
> >> +
> >> igt_fixture {
> >> igt_display_fini(&data.display);
> >> drm_close_driver(data.drm_fd);
> >> --
> >> 2.43.0
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-03-05 9:31 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-19 6:12 [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest Karthik B S
2025-02-19 7:03 ` ✓ Xe.CI.BAT: success for tests/kms_plane_multiple: Add dual display subtest (rev2) Patchwork
2025-02-20 2:53 ` ✗ Xe.CI.Full: failure " Patchwork
2025-02-24 6:24 ` [PATCH i-g-t] tests/kms_plane_multiple: Add dual display subtest B, Jeevan
2025-03-05 9:29 ` Karthik B S
2025-03-05 9:31 ` B, Jeevan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox