* [PATCH i-g-t 01/17] tests/kms_plane_alpha_blend: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
@ 2026-02-11 16:33 ` Ville Syrjala
2026-02-11 16:33 ` [PATCH i-g-t 02/17] tests/kms: Remove unused 'pipe' function parameters Ville Syrjala
` (20 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:33 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Convert the use of enum pipe to igt_crtc_t in
tests/kms_plane_alpha_blend.
The use of function pointers makes this a bit more
complicated than your average test.
#include "scripts/iterators.cocci"
@func@
typedef igt_crtc_t;
identifier FUNC;
identifier PIPE;
parameter list[N] P;
@@
FUNC(P
- ,enum pipe PIPE
+ ,igt_crtc_t *crtc
,...)
{
<...
(
- kmstest_pipe_name(PIPE)
+ igt_crtc_name(crtc)
|
- PIPE
+ crtc->pipe
)
...>
}
@depends on func@
identifier func.FUNC;
expression list[func.N] EP;
expression PIPE;
@@
FUNC(EP
- ,PIPE
+ ,igt_crtc_for_pipe(display, PIPE)
,...)
@@
identifier FUNC, CRTC;
@@
FUNC(..., igt_crtc_t *CRTC, ...)
{
...
(
- igt_crtc_t *CRTC = CRTC;
|
- igt_crtc_t *CRTC = igt_crtc_for_pipe(...);
|
- igt_crtc_t *CRTC;
...
- CRTC = igt_crtc_for_pipe(...);
)
...
}
@func_ptr@
parameter list[N] P;
identifier F, PIPE;
type T;
@@
struct {
...
T (*F)(P
- ,enum pipe
+ ,igt_crtc_t *crtc
,...);
...
}
@depends on func_ptr@
identifier func_ptr.F;
expression list[func_ptr.N] EP;
expression PIPE;
@@
F(EP
- ,PIPE
+ ,igt_crtc_for_pipe(display, PIPE)
,...)
@func_ptr2@
parameter list[N] P;
identifier FUNC, F, PIPE;
type T;
@@
FUNC(...,
T (*F)(P
- ,enum pipe
+ ,igt_crtc_t *crtc
,...), ...)
{ ... }
@@
igt_crtc_t *CRTC;
@@
- igt_crtc_for_pipe(..., CRTC->pipe)
+ CRTC
@@
identifier DISPLAY;
expression E;
@@
- igt_display_t *DISPLAY = E;
... when != DISPLAY
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/kms_plane_alpha_blend.c | 61 +++++++++++++++++------------------
1 file changed, 30 insertions(+), 31 deletions(-)
diff --git a/tests/kms_plane_alpha_blend.c b/tests/kms_plane_alpha_blend.c
index 1f093a49c9b6..2ee74d30f558 100644
--- a/tests/kms_plane_alpha_blend.c
+++ b/tests/kms_plane_alpha_blend.c
@@ -168,11 +168,11 @@ static void draw_squares_coverage(struct igt_fb *fb, int w, int h, uint8_t as)
igt_put_cairo_ctx(cr);
}
-static void reset_alpha(igt_display_t *display, enum pipe pipe)
+static void reset_alpha(igt_display_t *display, igt_crtc_t *crtc)
{
igt_plane_t *plane;
- for_each_plane_on_pipe(display, pipe, plane) {
+ for_each_plane_on_pipe(display, crtc->pipe, plane) {
if (igt_plane_has_prop(plane, IGT_PLANE_ALPHA))
igt_plane_set_prop_value(plane, IGT_PLANE_ALPHA, 0xffff);
@@ -209,11 +209,9 @@ static void remove_fbs(data_t *data)
igt_remove_fb(data->gfx_fd, &data->gray_fb);
}
-static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe)
+static void prepare_crtc(data_t *data, igt_output_t *output, igt_crtc_t *crtc)
{
drmModeModeInfo *mode;
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
int w, h;
igt_plane_t *primary = igt_crtc_get_plane_type(crtc,
DRM_PLANE_TYPE_PRIMARY);
@@ -289,7 +287,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe)
igt_plane_set_fb(primary, &data->black_fb);
}
-static void basic_alpha(data_t *data, enum pipe pipe, igt_plane_t *plane)
+static void basic_alpha(data_t *data, igt_crtc_t *crtc, igt_plane_t *plane)
{
igt_display_t *display = &data->display;
igt_crc_t ref_crc, crc;
@@ -327,7 +325,7 @@ static void basic_alpha(data_t *data, enum pipe pipe, igt_plane_t *plane)
igt_assert_crc_equal(&ref_crc, &crc);
}
-static void argb_opaque(data_t *data, enum pipe pipe, igt_plane_t *plane)
+static void argb_opaque(data_t *data, igt_crtc_t *crtc, igt_plane_t *plane)
{
igt_display_t *display = &data->display;
igt_crc_t ref_crc, crc;
@@ -344,7 +342,8 @@ static void argb_opaque(data_t *data, enum pipe pipe, igt_plane_t *plane)
igt_assert_crc_equal(&ref_crc, &crc);
}
-static void argb_transparent(data_t *data, enum pipe pipe, igt_plane_t *plane)
+static void argb_transparent(data_t *data, igt_crtc_t *crtc,
+ igt_plane_t *plane)
{
igt_display_t *display = &data->display;
igt_crc_t ref_crc, crc;
@@ -361,7 +360,8 @@ static void argb_transparent(data_t *data, enum pipe pipe, igt_plane_t *plane)
igt_assert_crc_equal(&ref_crc, &crc);
}
-static void constant_alpha_min(data_t *data, enum pipe pipe, igt_plane_t *plane)
+static void constant_alpha_min(data_t *data, igt_crtc_t *crtc,
+ igt_plane_t *plane)
{
igt_display_t *display = &data->display;
igt_crc_t ref_crc, crc;
@@ -383,10 +383,10 @@ static void constant_alpha_min(data_t *data, enum pipe pipe, igt_plane_t *plane)
igt_assert_crc_equal(&ref_crc, &crc);
}
-static void constant_alpha_mid(data_t *data, enum pipe pipe, igt_plane_t *plane)
+static void constant_alpha_mid(data_t *data, igt_crtc_t *crtc,
+ igt_plane_t *plane)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_crc_t ref_crc, crc;
if (plane->type != DRM_PLANE_TYPE_PRIMARY)
@@ -410,10 +410,10 @@ static void constant_alpha_mid(data_t *data, enum pipe pipe, igt_plane_t *plane)
igt_assert_crc_equal(&ref_crc, &crc);
}
-static void constant_alpha_max(data_t *data, enum pipe pipe, igt_plane_t *plane)
+static void constant_alpha_max(data_t *data, igt_crtc_t *crtc,
+ igt_plane_t *plane)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_crc_t ref_crc, crc;
if (plane->type != DRM_PLANE_TYPE_PRIMARY)
@@ -442,10 +442,9 @@ static void constant_alpha_max(data_t *data, enum pipe pipe, igt_plane_t *plane)
igt_plane_set_fb(plane, NULL);
}
-static void alpha_7efc(data_t *data, enum pipe pipe, igt_plane_t *plane)
+static void alpha_7efc(data_t *data, igt_crtc_t *crtc, igt_plane_t *plane)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_crc_t ref_crc = {}, crc = {};
if (plane->type != DRM_PLANE_TYPE_PRIMARY)
@@ -471,7 +470,7 @@ static void alpha_7efc(data_t *data, enum pipe pipe, igt_plane_t *plane)
igt_pipe_crc_stop(data->pipe_crc);
}
-static void coverage_7efc(data_t *data, enum pipe pipe, igt_plane_t *plane)
+static void coverage_7efc(data_t *data, igt_crtc_t *crtc, igt_plane_t *plane)
{
igt_display_t *display = &data->display;
igt_crc_t ref_crc = {}, crc = {};
@@ -497,10 +496,10 @@ static void coverage_7efc(data_t *data, enum pipe pipe, igt_plane_t *plane)
igt_pipe_crc_stop(data->pipe_crc);
}
-static void coverage_premult_constant(data_t *data, enum pipe pipe, igt_plane_t *plane)
+static void coverage_premult_constant(data_t *data, igt_crtc_t *crtc,
+ igt_plane_t *plane)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_crc_t ref_crc = {}, crc = {};
/* Set a background color on the primary fb for testing */
@@ -530,12 +529,12 @@ static void coverage_premult_constant(data_t *data, enum pipe pipe, igt_plane_t
igt_pipe_crc_stop(data->pipe_crc);
}
-static void run_test_on_pipe_planes(data_t *data, enum pipe pipe, igt_output_t *output,
+static void run_test_on_pipe_planes(data_t *data, igt_crtc_t *crtc,
+ igt_output_t *output,
bool blend, bool must_multiply,
- void(*test)(data_t *, enum pipe, igt_plane_t *))
+ void(*test)(data_t *, igt_crtc_t *crtc, igt_plane_t *))
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_plane_t *plane;
int first_plane = -1;
int last_plane = -1;
@@ -548,7 +547,7 @@ static void run_test_on_pipe_planes(data_t *data, enum pipe pipe, igt_output_t *
continue;
/* reset plane alpha properties between each plane */
- reset_alpha(display, crtc->pipe);
+ reset_alpha(display, crtc);
if (must_multiply && !has_multiplied_alpha(data, plane))
continue;
@@ -568,7 +567,7 @@ static void run_test_on_pipe_planes(data_t *data, enum pipe pipe, igt_output_t *
continue;
/* Reset plane alpha properties between each plane. */
- reset_alpha(display, crtc->pipe);
+ reset_alpha(display, crtc);
if (must_multiply && !has_multiplied_alpha(data, plane))
continue;
@@ -577,7 +576,7 @@ static void run_test_on_pipe_planes(data_t *data, enum pipe pipe, igt_output_t *
continue;
igt_info("Testing plane %u\n", plane->index);
- test(data, crtc->pipe, plane);
+ test(data, crtc, plane);
igt_plane_set_fb(plane, NULL);
if (in_simulation)
@@ -590,7 +589,7 @@ static void run_test_on_pipe_planes(data_t *data, enum pipe pipe, igt_output_t *
static const struct {
const char *name;
- void (*test)(data_t *, enum pipe, igt_plane_t *);
+ void (*test)(data_t *, igt_crtc_t *crtc, igt_plane_t *);
bool blend;
bool must_multiply;
const char *desc;
@@ -653,11 +652,10 @@ static const struct {
},
};
-static bool pipe_check(data_t *data, enum pipe pipe,
+static bool pipe_check(data_t *data, igt_crtc_t *crtc,
bool blend, bool must_multiply)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_plane_t *plane;
bool plane_alpha = false, plane_blend = false, multiply = false;
@@ -672,7 +670,7 @@ static bool pipe_check(data_t *data, enum pipe pipe,
plane_blend = true;
/* reset plane alpha properties between each plane */
- reset_alpha(display, crtc->pipe);
+ reset_alpha(display, crtc);
if (must_multiply && !has_multiplied_alpha(data, plane))
continue;
@@ -718,15 +716,16 @@ static void run_subtests(data_t *data)
if (!intel_pipe_output_combo_valid(&data->display))
continue;
- prepare_crtc(data, output, crtc->pipe);
- if (!pipe_check(data, crtc->pipe, subtests[i].blend, subtests[i].must_multiply))
+ prepare_crtc(data, output,
+ crtc);
+ if (!pipe_check(data, crtc, subtests[i].blend, subtests[i].must_multiply))
continue;
igt_dynamic_f("pipe-%s-%s",
igt_crtc_name(crtc),
output->name)
run_test_on_pipe_planes(data,
- crtc->pipe,
+ crtc,
output,
subtests[i].blend,
subtests[i].must_multiply, subtests[i].test);
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 02/17] tests/kms: Remove unused 'pipe' function parameters
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
2026-02-11 16:33 ` [PATCH i-g-t 01/17] tests/kms_plane_alpha_blend: " Ville Syrjala
@ 2026-02-11 16:33 ` Ville Syrjala
2026-02-11 16:33 ` [PATCH i-g-t 03/17] tests/kms: Remove const qualifier from " Ville Syrjala
` (19 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:33 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Various functions take a 'pipe' parameter but never
use it. Get rid of it.
#include "scripts/iterators.cocci"
@func@
identifier FUNC, PIPE;
parameter list[N] P;
@@
FUNC(P
- ,enum pipe PIPE
,...)
{
... when != PIPE
}
@depends on func@
identifier func.FUNC;
expression list[func.N] EP;
expression PIPE;
@@
FUNC(EP
- ,PIPE
,...)
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/amdgpu/amd_freesync_video_mode.c | 16 ++++++-------
tests/intel/kms_flip_tiling.c | 4 ++--
tests/intel/kms_pm_rpm.c | 4 ++--
tests/kms_concurrent.c | 8 +++----
tests/kms_content_protection.c | 4 ++--
tests/kms_cursor_legacy.c | 9 ++++----
tests/kms_flip_event_leak.c | 4 ++--
tests/kms_plane.c | 6 ++---
tests/kms_plane_scaling.c | 10 ++------
tests/kms_vrr.c | 32 +++++++++++++-------------
10 files changed, 44 insertions(+), 53 deletions(-)
diff --git a/tests/amdgpu/amd_freesync_video_mode.c b/tests/amdgpu/amd_freesync_video_mode.c
index 0592d7139ad3..31c842ee8917 100644
--- a/tests/amdgpu/amd_freesync_video_mode.c
+++ b/tests/amdgpu/amd_freesync_video_mode.c
@@ -559,7 +559,6 @@ static void set_vrr_on_pipe(data_t *data, enum pipe pipe, bool enabled)
static void prepare_test(
data_t *data,
igt_output_t *output,
- enum pipe pipe,
drmModeModeInfo *mode)
{
/* Prepare resources */
@@ -625,7 +624,6 @@ static uint32_t
flip_and_measure(
data_t *data,
igt_output_t *output,
- enum pipe pipe,
uint64_t interval_ns,
uint64_t duration_ns,
int anim_type)
@@ -750,7 +748,7 @@ static void init_data(data_t *data, igt_output_t *output)
data->vrr_range = get_vrr_range(data, output);
}
-static void finish_test(data_t *data, enum pipe pipe, igt_output_t *output)
+static void finish_test(data_t *data, igt_output_t *output)
{
igt_plane_set_fb(data->primary, NULL);
igt_output_set_crtc(output, NULL);
@@ -815,21 +813,21 @@ mode_transition(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t sce
"Failure on selecting mode with given type and refresh rate.\n");
igt_info("stage-1: fps:%d\n", mode_start->vrefresh);
- prepare_test(data, output, pipe, mode_start);
+ prepare_test(data, output, mode_start);
interval = nsec_per_frame(mode_start->vrefresh);
set_vrr_on_pipe(data, pipe, true);
- result = flip_and_measure(data, output, pipe, interval, TEST_DURATION_NS, ANIM_TYPE_SMPTE);
+ result = flip_and_measure(data, output, interval, TEST_DURATION_NS, ANIM_TYPE_SMPTE);
igt_info("stage-2: simple animation as video playback fps:%d\n", mode_playback->vrefresh);
- prepare_test(data, output, pipe, mode_playback);
+ prepare_test(data, output, mode_playback);
interval = nsec_per_frame(mode_playback->vrefresh);
/* Do a short run with VRR before measure to make sure we measure in a stable state */
- result = flip_and_measure(data, output, pipe, interval, 2 * NSECS_PER_SEC, ANIM_TYPE_CIRCLE_WAVE);
- result = flip_and_measure(data, output, pipe, interval, TEST_DURATION_NS, ANIM_TYPE_CIRCLE_WAVE);
+ result = flip_and_measure(data, output, interval, 2 * NSECS_PER_SEC, ANIM_TYPE_CIRCLE_WAVE);
+ result = flip_and_measure(data, output, interval, TEST_DURATION_NS, ANIM_TYPE_CIRCLE_WAVE);
igt_assert_f(result > 75, "Target refresh rate not meet 75%% (result=%d%%\n", result);
set_vrr_on_pipe(data, pipe, false);
- finish_test(data, pipe, output);
+ finish_test(data, output);
}
/* Runs tests on outputs that are VRR capable. */
diff --git a/tests/intel/kms_flip_tiling.c b/tests/intel/kms_flip_tiling.c
index 7482d0a80efa..453394343857 100644
--- a/tests/intel/kms_flip_tiling.c
+++ b/tests/intel/kms_flip_tiling.c
@@ -169,7 +169,7 @@ test_flip_tiling(data_t *data, enum pipe pipe, igt_output_t *output, uint64_t mo
igt_remove_fb(data->drm_fd, &data->old_fb[1]);
}
-static void test_cleanup(data_t *data, enum pipe pipe, igt_output_t *output)
+static void test_cleanup(data_t *data, igt_output_t *output)
{
igt_plane_t *primary;
primary = igt_output_get_plane(output, 0);
@@ -274,7 +274,7 @@ int igt_main()
handle_lost_event(&data);
}
}
- test_cleanup(&data, crtc->pipe, output);
+ test_cleanup(&data, output);
}
}
diff --git a/tests/intel/kms_pm_rpm.c b/tests/intel/kms_pm_rpm.c
index 93d190e30d9d..5f24fd49b13a 100644
--- a/tests/intel/kms_pm_rpm.c
+++ b/tests/intel/kms_pm_rpm.c
@@ -1592,7 +1592,7 @@ static void pm_test_caching(void)
gem_close(drm_fd, handle);
}
-static bool is_preferred_mode_present(igt_output_t *output, enum pipe pipe,
+static bool is_preferred_mode_present(igt_output_t *output,
igt_display_t *display)
{
drmModeModeInfo *mode = NULL;
@@ -1635,7 +1635,7 @@ static void set_prefered_mode(void)
if (!intel_pipe_output_combo_valid(display))
continue;
- if (is_preferred_mode_present(output, crtc->pipe, display)) {
+ if (is_preferred_mode_present(output, display)) {
mode_found = true;
break;
}
diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
index f93581da54dc..bbc988aa2000 100644
--- a/tests/kms_concurrent.c
+++ b/tests/kms_concurrent.c
@@ -67,7 +67,7 @@ struct {
/*
* Common code across all tests, acting on data_t
*/
-static void test_init(data_t *data, enum pipe pipe, int n_planes,
+static void test_init(data_t *data, int n_planes,
igt_output_t *output)
{
data->plane = calloc(n_planes, sizeof(*data->plane));
@@ -77,7 +77,7 @@ static void test_init(data_t *data, enum pipe pipe, int n_planes,
igt_assert_f(data->fb != NULL, "Failed to allocate memory for FBs\n");
}
-static void test_fini(data_t *data, enum pipe pipe, int n_planes,
+static void test_fini(data_t *data, int n_planes,
igt_output_t *output)
{
int i;
@@ -327,7 +327,7 @@ run_test(data_t *data, enum pipe pipe, igt_output_t *output)
srand(opt.seed);
- test_init(data, crtc->pipe, n_planes, output);
+ test_init(data, n_planes, output);
igt_fork(child, 1) {
test_plane_position_with_output(data, crtc->pipe, n_planes,
@@ -338,7 +338,7 @@ run_test(data_t *data, enum pipe pipe, igt_output_t *output)
igt_waitchildren();
- test_fini(data, crtc->pipe, n_planes, output);
+ test_fini(data, n_planes, output);
}
static void
diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
index 3a0476bfca71..8e21fd92cacc 100644
--- a/tests/kms_content_protection.c
+++ b/tests/kms_content_protection.c
@@ -257,7 +257,7 @@ commit_display_and_wait_for_flip(enum igt_commit_style commit_style)
}
}
-static void modeset_with_fb(const enum pipe pipe, igt_output_t *output,
+static void modeset_with_fb(igt_output_t *output,
enum igt_commit_style commit_style)
{
igt_display_t *display = &data.display;
@@ -740,7 +740,7 @@ test_content_protection(enum igt_commit_style commit_style, int content_type)
if (!intel_pipe_output_combo_valid(display))
continue;
- modeset_with_fb(crtc->pipe, output, commit_style);
+ modeset_with_fb(output, commit_style);
if (data.is_force_hdcp14)
set_i915_force_hdcp14(output);
diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index 45e9a3949283..459f3c696ac8 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -566,7 +566,6 @@ static void transition_nonblocking(igt_display_t *display, enum pipe pipe_id,
static void prepare_flip_test(igt_display_t *display,
enum flip_test mode,
enum pipe flip_pipe,
- enum pipe cursor_pipe,
struct drm_mode_cursor *arg,
const struct igt_fb *prim_fb,
struct igt_fb *argb_fb,
@@ -663,7 +662,7 @@ static void flip(igt_display_t *display,
cursor = set_cursor_on_pipe(display, cursor_pipe, &cursor_fb);
populate_cursor_args(display, cursor_pipe, arg, &cursor_fb);
- prepare_flip_test(display, mode, flip_pipe, cursor_pipe, arg, &fb_info, &argb_fb, &cursor_fb2);
+ prepare_flip_test(display, mode, flip_pipe, arg, &fb_info, &argb_fb, &cursor_fb2);
igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
@@ -777,7 +776,7 @@ static void basic_flip_cursor(igt_display_t *display,
cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
populate_cursor_args(display, pipe, arg, &cursor_fb);
- prepare_flip_test(display, mode, pipe, pipe, arg, &fb_info, &argb_fb, &cursor_fb2);
+ prepare_flip_test(display, mode, pipe, arg, &fb_info, &argb_fb, &cursor_fb2);
igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
@@ -948,7 +947,7 @@ static void flip_vs_cursor(igt_display_t *display, enum flip_test mode, int nloo
cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
populate_cursor_args(display, pipe, arg, &cursor_fb);
- prepare_flip_test(display, mode, pipe, pipe, arg, &fb_info, &argb_fb, &cursor_fb2);
+ prepare_flip_test(display, mode, pipe, arg, &fb_info, &argb_fb, &cursor_fb2);
igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
@@ -1380,7 +1379,7 @@ static void cursor_vs_flip(igt_display_t *display, enum flip_test mode, int nloo
cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
populate_cursor_args(display, pipe, arg, &cursor_fb);
- prepare_flip_test(display, mode, pipe, pipe, arg, &fb_info, &argb_fb, &cursor_fb2);
+ prepare_flip_test(display, mode, pipe, arg, &fb_info, &argb_fb, &cursor_fb2);
igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
diff --git a/tests/kms_flip_event_leak.c b/tests/kms_flip_event_leak.c
index 545719638898..fe890561491c 100644
--- a/tests/kms_flip_event_leak.c
+++ b/tests/kms_flip_event_leak.c
@@ -58,7 +58,7 @@ IGT_TEST_DESCRIPTION(
"itself won't fail even if the kernel leaks the event, but the resulting "
"dmesg WARN will indicate a failure.");
-static void test(data_t *data, enum pipe pipe, igt_output_t *output)
+static void test(data_t *data, igt_output_t *output)
{
igt_plane_t *primary;
drmModeModeInfo *mode;
@@ -128,7 +128,7 @@ int igt_main()
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
- test(&data, crtc->pipe, output);
+ test(&data, output);
}
}
}
diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index f77bc8b39fbf..1ce3d98041ec 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -663,7 +663,7 @@ static void draw_entire_color_array(data_t *data, cairo_t *cr, uint32_t format,
}
}
-static void prepare_format_color(data_t *data, enum pipe pipe,
+static void prepare_format_color(data_t *data,
igt_plane_t *plane,
uint32_t format, uint64_t modifier,
int width, int height,
@@ -756,7 +756,7 @@ static void capture_format_crcs_single(data_t *data, enum pipe pipe,
struct igt_fb old_fb = *fb;
const color_t black = { 0.0f, 0.0f, 0.0f };
- prepare_format_color(data, pipe, plane, format, modifier,
+ prepare_format_color(data, plane, format, modifier,
width, height, encoding, range, &black, fb, true);
igt_display_commit2(&data->display, data->display.is_atomic ?
@@ -785,7 +785,7 @@ restart_round:
struct igt_fb old_fb = *fb;
int ret;
- prepare_format_color(data, pipe, plane, format, modifier,
+ prepare_format_color(data, plane, format, modifier,
width, height, encoding, range, c, fb,
false);
diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 74d12cc91265..887914ec8b79 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -576,7 +576,6 @@ check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
double sf_plane,
bool is_clip_clamp,
bool is_upscale,
- enum pipe pipe,
igt_output_t *output,
igt_rotation_t rot)
{
@@ -742,7 +741,6 @@ test_scaler_with_modifier_pipe(data_t *d,
sf_plane,
is_clip_clamp,
is_upscale,
- crtc->pipe,
output,
IGT_ROTATION_0);
if (ret != 0)
@@ -784,7 +782,6 @@ test_scaler_with_rotation_pipe(data_t *d,
sf_plane,
is_clip_clamp,
is_upscale,
- crtc->pipe,
output,
rot);
if (ret != 0)
@@ -833,7 +830,6 @@ test_scaler_with_pixel_format_pipe(data_t *d, double sf_plane,
sf_plane,
is_clip_clamp,
is_upscale,
- crtc->pipe,
output,
IGT_ROTATION_0);
if (ret != 0) {
@@ -888,8 +884,7 @@ find_connected_pipe(igt_display_t *display, bool second, igt_output_t **output)
}
static int
-__test_planes_scaling_combo(data_t *d, int w1, int h1, int w2, int h2,
- enum pipe pipe, igt_output_t *output,
+__test_planes_scaling_combo(data_t *d, int w1, int h1, int w2, int h2, igt_output_t *output,
igt_plane_t *p1, igt_plane_t *p2,
struct igt_fb *fb1, struct igt_fb *fb2,
enum scaler_combo_test_type test_type)
@@ -1004,8 +999,7 @@ test_planes_scaling_combo(data_t *d, double sf_plane1,
if (p1->type == DRM_PLANE_TYPE_CURSOR || p2->type == DRM_PLANE_TYPE_CURSOR)
continue;
- ret = __test_planes_scaling_combo(d, w1, h1, w2, h2,
- crtc->pipe, output,
+ ret = __test_planes_scaling_combo(d, w1, h1, w2, h2, output,
p1, p2,
&d->fb[1], &d->fb[2],
test_type);
diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c
index 811596ec2324..55671c71e095 100644
--- a/tests/kms_vrr.c
+++ b/tests/kms_vrr.c
@@ -499,7 +499,7 @@ calculate_tolerance(uint64_t *threshold_hi, uint64_t *threshold_lo, uint64_t rat
* to prevent stuttering or to match a source content rate.
*/
static uint32_t
-flip_and_measure(data_t *data, igt_output_t *output, enum pipe pipe,
+flip_and_measure(data_t *data, igt_output_t *output,
uint64_t *rates_ns, int num_rates, uint64_t duration_ns)
{
uint64_t start_ns, last_event_ns, target_ns, exp_rate_ns;
@@ -605,7 +605,7 @@ flip_and_measure(data_t *data, igt_output_t *output, enum pipe pipe,
}
static uint32_t
-flip_and_measure_cmrr(data_t *data, igt_output_t *output, enum pipe pipe,
+flip_and_measure_cmrr(data_t *data, igt_output_t *output,
uint64_t duration_ns)
{
uint64_t start_ns, last_event_ns, event_ns;
@@ -681,7 +681,7 @@ test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
* This is to make sure we were actually in the middle of
* active flipping before doing the DPMS/suspend steps.
*/
- flip_and_measure(data, output, pipe, rate, 1, 250000000ull);
+ flip_and_measure(data, output, rate, 1, 250000000ull);
if (flags & TEST_DPMS) {
kmstest_set_connector_dpms(output->display->drm_fd,
@@ -713,7 +713,7 @@ test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
*/
if (flags & TEST_FLIPLINE) {
rate[0] = igt_kms_frame_time_from_vrefresh(range.max + 5);
- result = flip_and_measure(data, output, pipe, rate, 1, data->duration_ns);
+ result = flip_and_measure(data, output, rate, 1, data->duration_ns);
igt_assert_f(result > 75,
"Refresh rate (%u Hz) %"PRIu64"ns: Target VRR on threshold not reached, result was %u%%\n",
(range.max + 5), rate[0], result);
@@ -721,7 +721,7 @@ test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
if (flags & ~(TEST_NEGATIVE | TEST_MAXMIN)) {
rate[0] = vtest_ns.rate_ns;
- result = flip_and_measure(data, output, pipe, rate, 1, data->duration_ns);
+ result = flip_and_measure(data, output, rate, 1, data->duration_ns);
igt_assert_f(result > 75,
"Refresh rate (%u Hz) %"PRIu64"ns: Target VRR on threshold not reached, result was %u%%\n",
((range.max + range.min) / 2), rate[0], result);
@@ -729,7 +729,7 @@ test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
if (flags & TEST_FLIPLINE) {
rate[0] = igt_kms_frame_time_from_vrefresh(range.min - 10);
- result = flip_and_measure(data, output, pipe, rate, 1, data->duration_ns);
+ result = flip_and_measure(data, output, rate, 1, data->duration_ns);
igt_assert_f(result < 50,
"Refresh rate (%u Hz) %"PRIu64"ns: Target VRR on threshold exceeded, result was %u%%\n",
(range.min - 10), rate[0], result);
@@ -744,7 +744,7 @@ test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
igt_kms_frame_time_from_vrefresh(range_min)
};
- result = flip_and_measure(data, output, pipe, maxmin_rates, 2, data->duration_ns);
+ result = flip_and_measure(data, output, maxmin_rates, 2, data->duration_ns);
igt_assert_f(result > 75,
"Refresh rates (%u/%u Hz) %"PRIu64"ns/%"PRIu64"ns: Target VRR on threshold not reached, result was %u%%\n",
range.max, range_min, maxmin_rates[0], maxmin_rates[1], result);
@@ -758,7 +758,7 @@ test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
*/
set_vrr_on_pipe(data, pipe, !(flags & TEST_FASTSET), (flags & TEST_NEGATIVE) ? true : false);
rate[0] = vtest_ns.rate_ns;
- result = flip_and_measure(data, output, pipe, rate, 1, data->duration_ns);
+ result = flip_and_measure(data, output, rate, 1, data->duration_ns);
igt_assert_f(result < 10,
"Refresh rate (%u Hz) %"PRIu64"ns: Target VRR %s threshold exceeded, result was %u%%\n",
((range.max + range.min) / 2), rate[0], (flags & TEST_NEGATIVE)? "on" : "off", result);
@@ -790,7 +790,7 @@ test_seamless_rr_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint3
}
rate[0] = vtest_ns.max;
- result = flip_and_measure(data, output, pipe, rate, 1, data->duration_ns);
+ result = flip_and_measure(data, output, rate, 1, data->duration_ns);
igt_assert_f(result > 75,
"Refresh rate (%u Hz) %"PRIu64"ns: Target VRR %s threshold not reached, result was %u%%\n",
data->range.max, rate[0], vrr ? "on" : "off", result);
@@ -802,7 +802,7 @@ test_seamless_rr_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint3
igt_assert(igt_display_try_commit_atomic(&data->display, 0, NULL) == 0);
rate[0] = vtest_ns.min;
- result = flip_and_measure(data, output, pipe, rate, 1, data->duration_ns);
+ result = flip_and_measure(data, output, rate, 1, data->duration_ns);
igt_assert_f(result > 75,
"Refresh rate (%u Hz) %"PRIu64"ns: Target VRR %s threshold not reached, result was %u%%\n",
data->range.min, rate[0], vrr ? "on" : "off", result);
@@ -814,7 +814,7 @@ test_seamless_rr_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint3
igt_assert(igt_display_try_commit_atomic(&data->display, 0, NULL) == 0);
rate[0] = vtest_ns.rate_ns;
- result = flip_and_measure(data, output, pipe, rate, 1, data->duration_ns);
+ result = flip_and_measure(data, output, rate, 1, data->duration_ns);
igt_assert_f(vrr ? (result > 75) : (result < 10),
"Refresh rate (%u Hz) %"PRIu64"ns: Target VRR %s threshold %s, result was %u%%\n",
((data->range.max + data->range.min) / 2), rate[0],
@@ -843,7 +843,7 @@ test_seamless_virtual_rr_basic(data_t *data, enum pipe pipe, igt_output_t *outpu
igt_output_override_mode(output, &data->switch_modes[HIGH_RR_MODE]);
igt_assert(igt_display_try_commit_atomic(&data->display, DRM_MODE_PAGE_FLIP_EVENT, NULL) == 0);
- result = flip_and_measure(data, output, pipe, rate, 1, TEST_DURATION_NS);
+ result = flip_and_measure(data, output, rate, 1, TEST_DURATION_NS);
igt_assert_f(result > 75,
"Refresh rate (%u Hz) %"PRIu64"ns: Target threshold not reached, result was %u%%\n",
data->switch_modes[HIGH_RR_MODE].vrefresh, rate[0], result);
@@ -876,7 +876,7 @@ test_seamless_virtual_rr_basic(data_t *data, enum pipe pipe, igt_output_t *outpu
igt_assert(igt_display_try_commit_atomic(&data->display, 0, NULL) == 0);
rate[0] = igt_kms_frame_time_from_vrefresh(vrefresh);
- result = flip_and_measure(data, output, pipe, rate, 1, TEST_DURATION_NS);
+ result = flip_and_measure(data, output, rate, 1, TEST_DURATION_NS);
igt_assert_f(result > 75,
"Refresh rate (%u Hz) %"PRIu64"ns: Target threshold not reached, result was %u%%\n",
vrefresh, rate[0], result);
@@ -903,7 +903,7 @@ test_lobf(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
output->name, kmstest_pipe_name(pipe), data->range.min, data->range.max);
igt_output_override_mode(output, &data->switch_modes[HIGH_RR_MODE]);
- flip_and_measure(data, output, pipe, rate, 1, TEST_DURATION_NS);
+ flip_and_measure(data, output, rate, 1, TEST_DURATION_NS);
step_size = (data->range.max - data->range.min) / 5;
@@ -913,7 +913,7 @@ test_lobf(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
vrefresh, data->switch_modes[HIGH_RR_MODE].vrefresh);
rate[0] = igt_kms_frame_time_from_vrefresh(vrefresh);
- flip_and_measure(data, output, pipe, rate, 1, NSECS_PER_SEC);
+ flip_and_measure(data, output, rate, 1, NSECS_PER_SEC);
if (igt_get_i915_edp_lobf_status(data->drm_fd, output->name)) {
lobf_enabled = true;
@@ -964,7 +964,7 @@ test_cmrr(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
if (!igt_display_try_commit2(&data->display, COMMIT_ATOMIC)) {
prepare_test(data, output, pipe);
- result = flip_and_measure_cmrr(data, output, pipe, TEST_DURATION_NS * 2);
+ result = flip_and_measure_cmrr(data, output, TEST_DURATION_NS * 2);
igt_assert_f(result > 75,
"Refresh rate (%u Hz) %"PRIu64"ns: Target CMRR on threshold not reached, result was %u%%\n",
mode.vrefresh, igt_kms_frame_time_from_vrefresh(mode.vrefresh),
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 03/17] tests/kms: Remove const qualifier from 'pipe' function parameters
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
2026-02-11 16:33 ` [PATCH i-g-t 01/17] tests/kms_plane_alpha_blend: " Ville Syrjala
2026-02-11 16:33 ` [PATCH i-g-t 02/17] tests/kms: Remove unused 'pipe' function parameters Ville Syrjala
@ 2026-02-11 16:33 ` Ville Syrjala
2026-02-11 16:33 ` [PATCH i-g-t 04/17] tests/intel/kms_busy: Use 'enum pipe' instead of 'int' Ville Syrjala
` (18 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:33 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Some functions have a const qualifier on a 'pipe' function
paramter. This ends up complicating cocci based efforts to
convert from 'pipe' to 'crtc'. Get rid of the extra qualifiers.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/kms_panel_fitting.c | 4 ++--
tests/kms_scaling_modes.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c
index 296f09405e4e..723336c7ba35 100644
--- a/tests/kms_panel_fitting.c
+++ b/tests/kms_panel_fitting.c
@@ -105,7 +105,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
static void
test_panel_fitting_legacy(data_t *d, igt_display_t *display,
- const enum pipe pipe, igt_output_t *output)
+ enum pipe pipe, igt_output_t *output)
{
drmModeModeInfo *mode, native_mode;
bool is_plane_scaling_active = true;
@@ -195,7 +195,7 @@ test_panel_fitting_legacy(data_t *d, igt_display_t *display,
}
static void
-test_panel_fitting_fastset(igt_display_t *display, const enum pipe pipe, igt_output_t *output)
+test_panel_fitting_fastset(igt_display_t *display, enum pipe pipe, igt_output_t *output)
{
igt_plane_t *primary, *sprite;
drmModeModeInfo mode;
diff --git a/tests/kms_scaling_modes.c b/tests/kms_scaling_modes.c
index 7f9a031ddcc4..5b0d6485ebb3 100644
--- a/tests/kms_scaling_modes.c
+++ b/tests/kms_scaling_modes.c
@@ -54,7 +54,7 @@ typedef struct data {
int drm_fd;
} data_t;
-static void test_scaling_mode_on_output(igt_display_t *display, const enum pipe pipe,
+static void test_scaling_mode_on_output(igt_display_t *display, enum pipe pipe,
igt_output_t *output, uint32_t flags)
{
igt_plane_t *primary, *sprite;
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 04/17] tests/intel/kms_busy: Use 'enum pipe' instead of 'int'
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (2 preceding siblings ...)
2026-02-11 16:33 ` [PATCH i-g-t 03/17] tests/kms: Remove const qualifier from " Ville Syrjala
@ 2026-02-11 16:33 ` Ville Syrjala
2026-02-11 16:33 ` [PATCH i-g-t 05/17] tests/kms_atomic_interruptible: s/crtc/drm_crtc/ Ville Syrjala
` (17 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:33 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Change the type of the 'pipe' function paramteres from
'int' to the more approproate 'enum pipe'. This will aid
in cocci based 'pipe' to 'crtc' conversion.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/intel/kms_busy.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/intel/kms_busy.c b/tests/intel/kms_busy.c
index 2c8d365080e1..dd65585d41a2 100644
--- a/tests/intel/kms_busy.c
+++ b/tests/intel/kms_busy.c
@@ -73,7 +73,7 @@ IGT_TEST_DESCRIPTION("Basic check of KMS ABI with busy framebuffers.");
static bool all_pipes = false;
static void
-set_fb_on_crtc(igt_display_t *dpy, int pipe,
+set_fb_on_crtc(igt_display_t *dpy, enum pipe pipe,
igt_output_t *output, struct igt_fb *fb)
{
drmModeModeInfoPtr mode;
@@ -106,7 +106,7 @@ static void do_cleanup_display(igt_display_t *dpy)
igt_display_commit2(dpy, dpy->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
}
-static void flip_to_fb(igt_display_t *dpy, int pipe,
+static void flip_to_fb(igt_display_t *dpy, enum pipe pipe,
igt_output_t *output,
struct igt_fb *fb, int timeout,
const char *name, bool modeset)
@@ -172,7 +172,7 @@ static void flip_to_fb(igt_display_t *dpy, int pipe,
put_ahnd(ahnd);
}
-static void test_flip(igt_display_t *dpy, int pipe,
+static void test_flip(igt_display_t *dpy, enum pipe pipe,
igt_output_t *output, bool modeset)
{
struct igt_fb fb[2];
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 05/17] tests/kms_atomic_interruptible: s/crtc/drm_crtc/
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (3 preceding siblings ...)
2026-02-11 16:33 ` [PATCH i-g-t 04/17] tests/intel/kms_busy: Use 'enum pipe' instead of 'int' Ville Syrjala
@ 2026-02-11 16:33 ` Ville Syrjala
2026-02-11 16:33 ` [PATCH i-g-t 06/17] tests/intel/kms_psr2_su: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (16 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:33 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Change the name of the 'struct drm_mode_crtc' typed variable
from 'crtc' to 'drm_crtc'. This leaves the 'crtc' name available
for an upcoming 'igt_crtc_t' typed variable.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/kms_atomic_interruptible.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c
index 9ff43ef4a868..4b29a196d807 100644
--- a/tests/kms_atomic_interruptible.c
+++ b/tests/kms_atomic_interruptible.c
@@ -177,7 +177,7 @@ static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t
igt_while_interruptible(true) {
switch (test_type) {
case test_legacy_modeset: {
- struct drm_mode_crtc crtc = {
+ struct drm_mode_crtc drm_crtc = {
.set_connectors_ptr = (uint64_t)(uintptr_t)&output->id,
.count_connectors = 1,
.crtc_id = primary->crtc->crtc_id,
@@ -186,7 +186,7 @@ static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t
.mode = *(struct drm_mode_modeinfo*)mode,
};
- do_ioctl(display->drm_fd, DRM_IOCTL_MODE_SETCRTC, &crtc);
+ do_ioctl(display->drm_fd, DRM_IOCTL_MODE_SETCRTC, &drm_crtc);
break;
}
case test_atomic_modeset: {
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 06/17] tests/intel/kms_psr2_su: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (4 preceding siblings ...)
2026-02-11 16:33 ` [PATCH i-g-t 05/17] tests/kms_atomic_interruptible: s/crtc/drm_crtc/ Ville Syrjala
@ 2026-02-11 16:33 ` Ville Syrjala
2026-02-11 16:33 ` [PATCH i-g-t 07/17] tests/intel/kms_dsc*: " Ville Syrjala
` (15 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:33 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Convert the use of enum pipe to igt_crtc_t in
tests/intel/kms_psr2_su.
The pipes[] array (afterwards crtcs[]) complicates this
one sufficiently that the conversion was done by hand.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/intel/kms_psr2_su.c | 24 +++++++++++-------------
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/tests/intel/kms_psr2_su.c b/tests/intel/kms_psr2_su.c
index f7652f165a2d..95bd4f605ff8 100644
--- a/tests/intel/kms_psr2_su.c
+++ b/tests/intel/kms_psr2_su.c
@@ -292,13 +292,12 @@ static void cleanup(data_t *data, igt_output_t *output)
igt_remove_fb(data->drm_fd, &data->fb[0]);
}
-static int check_psr2_support(data_t *data, enum pipe pipe)
+static int check_psr2_support(data_t *data, igt_crtc_t *crtc)
{
int status;
igt_output_t *output;
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_display_reset(display);
output = data->output;
@@ -317,8 +316,8 @@ int igt_main()
igt_crtc_t *crtc;
int r, i;
igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES];
- int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES];
- int n_pipes = 0;
+ igt_crtc_t *crtcs[IGT_MAX_PIPES * IGT_MAX_PIPES];
+ int n_crtcs = 0;
igt_fixture() {
struct itimerspec interval;
@@ -357,10 +356,10 @@ int igt_main()
for_each_crtc_with_valid_output(&data.display, crtc,
data.output) {
- if (check_psr2_support(&data, crtc->pipe)) {
- pipes[n_pipes] = crtc->pipe;
- outputs[n_pipes] = data.output;
- n_pipes++;
+ if (check_psr2_support(&data, crtc)) {
+ crtcs[n_crtcs] = crtc;
+ outputs[n_crtcs] = data.output;
+ n_crtcs++;
}
}
}
@@ -372,11 +371,10 @@ int igt_main()
data.format = *format++;
igt_describe("Test that selective update works when screen changes");
igt_subtest_with_dynamic_f("%s-%s", op_str(data.op), igt_format_str(data.format)) {
- for (i = 0; i < n_pipes; i++) {
- igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]),
- igt_output_name(outputs[i])) {
- igt_output_set_crtc(outputs[i],
- igt_crtc_for_pipe(outputs[i]->display, pipes[i]));
+ for (i = 0; i < n_crtcs; i++) {
+ igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtcs[i]),
+ igt_output_name(outputs[i])) {
+ igt_output_set_crtc(outputs[i], crtcs[i]);
if (data.op == FRONTBUFFER &&
intel_display_ver(intel_get_drm_devid(data.drm_fd)) >= 12) {
/*
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 07/17] tests/intel/kms_dsc*: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (5 preceding siblings ...)
2026-02-11 16:33 ` [PATCH i-g-t 06/17] tests/intel/kms_psr2_su: Use igt_crtc_t instead of enum pipe Ville Syrjala
@ 2026-02-11 16:33 ` Ville Syrjala
2026-02-11 16:33 ` [PATCH i-g-t 08/17] tests/kms_cursor_legacy: " Ville Syrjala
` (14 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:33 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Convert the use of enum pipe to igt_crtc_t tests/intel/kms_dsc*.
The data.pipe thing complicates this one, so it was mostly done
by hand. Mainly I wanted to get the tests/intel/kms_dsc_helper.c
part out of the way.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/intel/kms_dsc.c | 15 +++++++--------
tests/intel/kms_dsc_helper.c | 8 +++++---
tests/intel/kms_dsc_helper.h | 3 ++-
3 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/tests/intel/kms_dsc.c b/tests/intel/kms_dsc.c
index ab9793f5168a..f832500b7eeb 100644
--- a/tests/intel/kms_dsc.c
+++ b/tests/intel/kms_dsc.c
@@ -79,7 +79,7 @@ typedef struct {
igt_output_t *output;
int input_bpc;
int disp_ver;
- enum pipe pipe;
+ igt_crtc_t *crtc;
bool limited;
} data_t;
@@ -164,8 +164,7 @@ static void update_display(data_t *data, uint32_t test_type)
force_dsc_fractional_bpp_enable(data->drm_fd, data->output);
}
- igt_output_set_crtc(output,
- igt_crtc_for_pipe(display, data->pipe));
+ igt_output_set_crtc(output, data->crtc);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
igt_skip_on(!igt_plane_has_format_mod(primary, data->plane_format,
@@ -227,7 +226,7 @@ static void update_display(data_t *data, uint32_t test_type)
restore_force_dsc_fractional_bpp_en();
if (test_type & TEST_DSC_BPC) {
- current_bpc = igt_get_pipe_current_bpc(data->drm_fd, data->pipe);
+ current_bpc = igt_get_pipe_current_bpc(data->drm_fd, data->crtc->pipe);
igt_skip_on_f(data->input_bpc != current_bpc,
"Input bpc = %d is not equal to current bpc = %d\n",
data->input_bpc, current_bpc);
@@ -236,7 +235,7 @@ static void update_display(data_t *data, uint32_t test_type)
igt_assert_f(enabled,
"Default DSC enable failed on connector: %s pipe: %s\n",
output->name,
- kmstest_pipe_name(data->pipe));
+ igt_crtc_name(data->crtc));
reset:
test_reset(data);
@@ -265,10 +264,10 @@ static void test_dsc(data_t *data, uint32_t test_type, int bpc,
data->plane_format = plane_format;
data->input_bpc = bpc;
data->output = output;
- data->pipe = crtc->pipe;
+ data->crtc = crtc;
if (!is_dsc_supported_by_sink(data->drm_fd, data->output) ||
- !check_gen11_dp_constraint(data->drm_fd, data->output, data->pipe))
+ !check_gen11_dp_constraint(data->drm_fd, data->output, data->crtc))
continue;
if (igt_get_output_max_bpc(data->drm_fd, output->name) < MIN_DSC_BPC) {
@@ -293,7 +292,7 @@ static void test_dsc(data_t *data, uint32_t test_type, int bpc,
if (test_type & TEST_DSC_BPC)
snprintf(&name[2][0], LEN, "-%dbpc", data->input_bpc);
- igt_dynamic_f("pipe-%s-%s%s%s%s", kmstest_pipe_name(data->pipe), data->output->name,
+ igt_dynamic_f("pipe-%s-%s%s%s%s", igt_crtc_name(data->crtc), data->output->name,
&name[0][0], &name[1][0], &name[2][0])
update_display(data, test_type);
diff --git a/tests/intel/kms_dsc_helper.c b/tests/intel/kms_dsc_helper.c
index cea4304e48d3..77165b41f4bc 100644
--- a/tests/intel/kms_dsc_helper.c
+++ b/tests/intel/kms_dsc_helper.c
@@ -84,14 +84,16 @@ bool is_dsc_supported_by_sink(int drmfd, igt_output_t *output)
return true;
}
-bool check_gen11_dp_constraint(int drmfd, igt_output_t *output, enum pipe pipe)
+bool check_gen11_dp_constraint(int drmfd, igt_output_t *output,
+ igt_crtc_t *crtc)
{
uint32_t devid = intel_get_drm_devid(drmfd);
drmModeConnector *connector = output->config.connector;
if ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) &&
- (pipe == PIPE_A) && IS_GEN11(devid)) {
- igt_info("DSC not supported on pipe %s on %s in gen11 platforms\n", kmstest_pipe_name(pipe), output->name);
+ (crtc->pipe == PIPE_A) && IS_GEN11(devid)) {
+ igt_info("DSC not supported on pipe %s on %s in gen11 platforms\n",
+ kmstest_pipe_name(crtc->pipe), output->name);
return false;
}
diff --git a/tests/intel/kms_dsc_helper.h b/tests/intel/kms_dsc_helper.h
index 4dbd88fe7b95..ee419c849836 100644
--- a/tests/intel/kms_dsc_helper.h
+++ b/tests/intel/kms_dsc_helper.h
@@ -28,7 +28,8 @@ void restore_force_dsc_en(void);
void kms_dsc_exit_handler(int sig);
bool is_dsc_supported_by_sink(int drmfd, igt_output_t *output);
bool is_dsc_supported_by_source(int drmfd);
-bool check_gen11_dp_constraint(int drmfd, igt_output_t *output, enum pipe pipe);
+bool check_gen11_dp_constraint(int drmfd, igt_output_t *output,
+ igt_crtc_t *crtc);
bool check_gen11_bpc_constraint(int drmfd, int input_bpc);
void force_dsc_output_format(int drmfd, igt_output_t *output,
enum dsc_output_format output_format);
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 08/17] tests/kms_cursor_legacy: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (6 preceding siblings ...)
2026-02-11 16:33 ` [PATCH i-g-t 07/17] tests/intel/kms_dsc*: " Ville Syrjala
@ 2026-02-11 16:33 ` Ville Syrjala
2026-02-11 16:33 ` [PATCH i-g-t 09/17] tests/kms_color*: " Ville Syrjala
` (13 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:33 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Convert the use of enum pipe to igt_crtc_t in
tests/kms_cursor_legacy.
This one was messy enough that I ended up doing
most of it by hand. 'git show --word-diff' might
be the best way to double check the result.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/kms_cursor_legacy.c | 343 +++++++++++++++++++-------------------
1 file changed, 170 insertions(+), 173 deletions(-)
diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index 459f3c696ac8..248fc3b06cae 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -261,13 +261,12 @@ static void override_output_modes(igt_display_t *display,
}
static void stress(igt_display_t *display,
- enum pipe pipe, int num_children, unsigned mode,
+ igt_crtc_t *crtc, int num_children, unsigned mode,
int timeout)
{
struct drm_mode_cursor arg;
uint64_t *results;
bool torture;
- igt_crtc_t *crtc;
unsigned crtc_id[IGT_MAX_PIPES] = {0}, num_crtcs;
torture = false;
@@ -286,7 +285,7 @@ static void stress(igt_display_t *display,
arg.height = 64;
arg.handle = kmstest_dumb_create(display->drm_fd, 64, 64, 32, NULL, NULL);
- if (pipe < 0) {
+ if (!crtc) {
num_crtcs = igt_display_n_crtcs(display);
for_each_crtc(display, crtc) {
arg.crtc_id = crtc_id[crtc->pipe] = crtc->crtc_id;
@@ -294,11 +293,8 @@ static void stress(igt_display_t *display,
}
} else {
num_crtcs = 1;
- if(igt_crtc_for_pipe(display, pipe)->valid) {
- arg.crtc_id = crtc_id[0] = igt_crtc_for_pipe(display,
- pipe)->crtc_id;
- do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg);
- }
+ arg.crtc_id = crtc_id[0] = crtc->crtc_id;
+ do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg);
}
arg.flags = mode;
@@ -366,13 +362,13 @@ static void stress(igt_display_t *display,
munmap(results, PAGE_SIZE);
}
-static void set_fb_on_crtc(igt_display_t *display, enum pipe pipe,
+static void set_fb_on_crtc(igt_display_t *display, igt_crtc_t *crtc,
igt_output_t *output, struct igt_fb *fb_info)
{
drmModeModeInfoPtr mode;
igt_plane_t *primary;
- igt_output_set_crtc(output, igt_crtc_for_pipe(display, pipe));
+ igt_output_set_crtc(output, crtc);
mode = igt_output_get_mode(output);
igt_create_pattern_fb(display->drm_fd,
@@ -384,11 +380,11 @@ static void set_fb_on_crtc(igt_display_t *display, enum pipe pipe,
}
static igt_plane_t
-*set_cursor_on_pipe(igt_display_t *display, enum pipe pipe, struct igt_fb *fb)
+*set_cursor_on_pipe(igt_display_t *display, igt_crtc_t *crtc, struct igt_fb *fb)
{
igt_plane_t *plane, *cursor = NULL;
- for_each_plane_on_pipe(display, pipe, plane) {
+ for_each_plane_on_pipe(display, crtc->pipe, plane) {
if (plane->type != DRM_PLANE_TYPE_CURSOR)
continue;
@@ -408,10 +404,10 @@ static void set_cursor_hotspot(igt_plane_t *cursor, int hot_x, int hot_y)
igt_plane_set_prop_value(cursor, IGT_PLANE_HOTSPOT_Y, hot_y);
}
-static void populate_cursor_args(igt_display_t *display, enum pipe pipe,
+static void populate_cursor_args(igt_display_t *display, igt_crtc_t *crtc,
struct drm_mode_cursor *arg, struct igt_fb *fb)
{
- arg->crtc_id = igt_crtc_for_pipe(display, pipe)->crtc_id;
+ arg->crtc_id = crtc->crtc_id;
arg->flags = DRM_MODE_CURSOR_MOVE;
arg->x = 128;
arg->y = 128;
@@ -421,7 +417,7 @@ static void populate_cursor_args(igt_display_t *display, enum pipe pipe,
arg[1] = *arg;
}
-static enum pipe
+static igt_crtc_t *
find_connected_pipe(igt_display_t *display, bool second, igt_output_t **output)
{
igt_crtc_t *crtc;
@@ -465,12 +461,11 @@ find_connected_pipe(igt_display_t *display, bool second, igt_output_t **output)
else
igt_require_f(found, "No valid outputs found\n");
- return crtc->pipe;
+ return crtc;
}
-static void flip_nonblocking(igt_display_t *display, enum pipe pipe_id, bool atomic, struct igt_fb *fb, void *data)
+static void flip_nonblocking(igt_display_t *display, igt_crtc_t *crtc, bool atomic, struct igt_fb *fb, void *data)
{
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe_id);
igt_plane_t *primary = igt_crtc_get_plane_type(crtc,
DRM_PLANE_TYPE_PRIMARY);
int ret;
@@ -532,11 +527,10 @@ static bool mode_requires_extra_vblank(enum flip_test mode)
return false;
}
-static void transition_nonblocking(igt_display_t *display, enum pipe pipe_id,
+static void transition_nonblocking(igt_display_t *display, igt_crtc_t *crtc,
struct igt_fb *prim_fb, struct igt_fb *argb_fb,
bool hide_sprite)
{
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe_id);
igt_plane_t *primary = igt_crtc_get_plane_type(crtc,
DRM_PLANE_TYPE_PRIMARY);
igt_plane_t *sprite = igt_crtc_get_plane_type(crtc,
@@ -565,7 +559,7 @@ static void transition_nonblocking(igt_display_t *display, enum pipe pipe_id,
static void prepare_flip_test(igt_display_t *display,
enum flip_test mode,
- enum pipe flip_pipe,
+ igt_crtc_t *crtc,
struct drm_mode_cursor *arg,
const struct igt_fb *prim_fb,
struct igt_fb *argb_fb,
@@ -605,8 +599,8 @@ static void prepare_flip_test(igt_display_t *display,
if (mode == flip_test_atomic_transitions ||
mode == flip_test_atomic_transitions_varying_size) {
- igt_require(igt_crtc_for_pipe(display, flip_pipe)->n_planes > 1 &&
- igt_crtc_for_pipe(display, flip_pipe)->planes[1].type != DRM_PLANE_TYPE_CURSOR);
+ igt_require(crtc->n_planes > 1 &&
+ crtc->planes[1].type != DRM_PLANE_TYPE_CURSOR);
igt_create_color_pattern_fb(display->drm_fd, prim_fb->width, prim_fb->height,
DRM_FORMAT_ARGB8888, DRM_FORMAT_MOD_LINEAR, .1, .1, .1, argb_fb);
@@ -620,37 +614,38 @@ static void flip(igt_display_t *display,
struct drm_mode_cursor arg[2];
uint64_t *results;
struct igt_fb fb_info, fb_info2, argb_fb, cursor_fb, cursor_fb2;
+ igt_crtc_t *cursor_crtc, *flip_crtc;
igt_output_t *output, *output2;
igt_plane_t *cursor;
results = mmap(NULL, PAGE_SIZE, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
igt_assert(results != MAP_FAILED);
- flip_pipe = find_connected_pipe(display, !!flip_pipe, &output);
- cursor_pipe = find_connected_pipe(display, !!cursor_pipe, &output2);
+ flip_crtc = find_connected_pipe(display, !!flip_pipe, &output);
+ cursor_crtc = find_connected_pipe(display, !!cursor_pipe, &output2);
igt_skip_on(!output || !output2);
igt_info("Using pipe %s for page flip, pipe %s for cursor\n",
- kmstest_pipe_name(flip_pipe), kmstest_pipe_name(cursor_pipe));
+ igt_crtc_name(flip_crtc), igt_crtc_name(cursor_crtc));
if (mode >= flip_test_atomic)
igt_require(display->is_atomic);
if (mode == flip_test_atomic_transitions ||
mode == flip_test_atomic_transitions_varying_size) {
- igt_require(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, flip_pipe),
+ igt_require(igt_crtc_get_plane_type(flip_crtc,
DRM_PLANE_TYPE_OVERLAY));
}
- set_fb_on_crtc(display, flip_pipe, output, &fb_info);
- if (flip_pipe != cursor_pipe) {
- set_fb_on_crtc(display, cursor_pipe, output2, &fb_info2);
+ set_fb_on_crtc(display, flip_crtc, output, &fb_info);
+ if (flip_crtc != cursor_crtc) {
+ set_fb_on_crtc(display, cursor_crtc, output2, &fb_info2);
if (try_commit(display)) {
override_output_modes(display, output, output2);
- set_fb_on_crtc(display, flip_pipe, output, &fb_info);
- set_fb_on_crtc(display, cursor_pipe, output2, &fb_info2);
+ set_fb_on_crtc(display, flip_crtc, output, &fb_info);
+ set_fb_on_crtc(display, cursor_crtc, output2, &fb_info2);
}
}
@@ -659,10 +654,10 @@ static void flip(igt_display_t *display,
igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
- cursor = set_cursor_on_pipe(display, cursor_pipe, &cursor_fb);
- populate_cursor_args(display, cursor_pipe, arg, &cursor_fb);
+ cursor = set_cursor_on_pipe(display, cursor_crtc, &cursor_fb);
+ populate_cursor_args(display, cursor_crtc, arg, &cursor_fb);
- prepare_flip_test(display, mode, flip_pipe, arg, &fb_info, &argb_fb, &cursor_fb2);
+ prepare_flip_test(display, mode, flip_crtc, arg, &fb_info, &argb_fb, &cursor_fb2);
igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
@@ -685,11 +680,11 @@ static void flip(igt_display_t *display,
switch (mode) {
default:
- flip_nonblocking(display, flip_pipe, mode >= flip_test_atomic, &fb_info, NULL);
+ flip_nonblocking(display, flip_crtc, mode >= flip_test_atomic, &fb_info, NULL);
break;
case flip_test_atomic_transitions:
case flip_test_atomic_transitions_varying_size:
- transition_nonblocking(display, flip_pipe, &fb_info, &argb_fb, count & 1);
+ transition_nonblocking(display, flip_crtc, &fb_info, &argb_fb, count & 1);
break;
}
@@ -711,7 +706,7 @@ static void flip(igt_display_t *display,
igt_plane_set_fb(igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY),
NULL);
igt_output_set_crtc(output, NULL);
- if (flip_pipe != cursor_pipe) {
+ if (flip_crtc != cursor_crtc) {
igt_plane_set_fb(igt_output_get_plane_type(output2, DRM_PLANE_TYPE_PRIMARY),
NULL);
igt_output_set_crtc(output2, NULL);
@@ -719,7 +714,7 @@ static void flip(igt_display_t *display,
igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
igt_remove_fb(display->drm_fd, &fb_info);
- if (flip_pipe != cursor_pipe)
+ if (flip_crtc != cursor_crtc)
igt_remove_fb(display->drm_fd, &fb_info2);
igt_remove_fb(display->drm_fd, &cursor_fb);
if (argb_fb.gem_handle)
@@ -744,7 +739,7 @@ static void basic_flip_cursor(igt_display_t *display,
struct drm_event_vblank vbl;
struct igt_fb fb_info, cursor_fb, cursor_fb2, argb_fb;
unsigned vblank_start;
- enum pipe pipe;
+ igt_crtc_t *crtc;
uint64_t ahnd = 0;
igt_spin_t *spin;
int i, miss1 = 0, miss2 = 0, delta;
@@ -763,28 +758,28 @@ static void basic_flip_cursor(igt_display_t *display,
if (mode >= flip_test_atomic)
igt_require(display->is_atomic);
- pipe = find_connected_pipe(display, false, &output);
+ crtc = find_connected_pipe(display, false, &output);
igt_require(output);
igt_info("Using pipe %s & %s\n",
- kmstest_pipe_name(pipe), igt_output_name(output));
+ igt_crtc_name(crtc), igt_output_name(output));
- set_fb_on_crtc(display, pipe, output, &fb_info);
+ set_fb_on_crtc(display, crtc, output, &fb_info);
igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
- cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
- populate_cursor_args(display, pipe, arg, &cursor_fb);
+ cursor = set_cursor_on_pipe(display, crtc, &cursor_fb);
+ populate_cursor_args(display, crtc, arg, &cursor_fb);
- prepare_flip_test(display, mode, pipe, arg, &fb_info, &argb_fb, &cursor_fb2);
+ prepare_flip_test(display, mode, crtc, arg, &fb_info, &argb_fb, &cursor_fb2);
igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
/* Quick sanity check that we can update a cursor in a single vblank */
- vblank_start = kmstest_get_vblank(display->drm_fd, pipe, DRM_VBLANK_NEXTONMISS);
- igt_assert_eq(kmstest_get_vblank(display->drm_fd, pipe, 0), vblank_start);
+ vblank_start = kmstest_get_vblank(display->drm_fd, crtc->pipe, DRM_VBLANK_NEXTONMISS);
+ igt_assert_eq(kmstest_get_vblank(display->drm_fd, crtc->pipe, 0), vblank_start);
do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg[0]);
- igt_assert_eq(kmstest_get_vblank(display->drm_fd, pipe, 0), vblank_start);
+ igt_assert_eq(kmstest_get_vblank(display->drm_fd, crtc->pipe, 0), vblank_start);
for (i = 0; i < 25; i++) {
bool miss;
@@ -799,21 +794,21 @@ static void basic_flip_cursor(igt_display_t *display,
.dependency = fb_info.gem_handle);
/* Start with a synchronous query to align with the vblank */
- vblank_start = kmstest_get_vblank(display->drm_fd, pipe, DRM_VBLANK_NEXTONMISS);
+ vblank_start = kmstest_get_vblank(display->drm_fd, crtc->pipe, DRM_VBLANK_NEXTONMISS);
switch (order) {
case FLIP_BEFORE_CURSOR:
switch (mode) {
default:
- flip_nonblocking(display, pipe, mode >= flip_test_atomic, &fb_info, NULL);
+ flip_nonblocking(display, crtc, mode >= flip_test_atomic, &fb_info, NULL);
break;
case flip_test_atomic_transitions:
case flip_test_atomic_transitions_varying_size:
- transition_nonblocking(display, pipe, &fb_info, &argb_fb, 0);
+ transition_nonblocking(display, crtc, &fb_info, &argb_fb, 0);
break;
}
- delta = kmstest_get_vblank(display->drm_fd, pipe, 0) - vblank_start;
+ delta = kmstest_get_vblank(display->drm_fd, crtc->pipe, 0) - vblank_start;
miss = delta != 0;
do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg[0]);
@@ -822,21 +817,21 @@ static void basic_flip_cursor(igt_display_t *display,
case FLIP_AFTER_CURSOR:
do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg[0]);
- delta = kmstest_get_vblank(display->drm_fd, pipe, 0) - vblank_start;
+ delta = kmstest_get_vblank(display->drm_fd, crtc->pipe, 0) - vblank_start;
miss = delta != 0;
switch (mode) {
default:
- flip_nonblocking(display, pipe, mode >= flip_test_atomic, &fb_info, NULL);
+ flip_nonblocking(display, crtc, mode >= flip_test_atomic, &fb_info, NULL);
break;
case flip_test_atomic_transitions:
case flip_test_atomic_transitions_varying_size:
- transition_nonblocking(display, pipe, &fb_info, &argb_fb, 0);
+ transition_nonblocking(display, crtc, &fb_info, &argb_fb, 0);
break;
}
}
- delta = kmstest_get_vblank(display->drm_fd, pipe, 0) - vblank_start;
+ delta = kmstest_get_vblank(display->drm_fd, crtc->pipe, 0) - vblank_start;
if (spin) {
struct pollfd pfd = { display->drm_fd, POLLIN };
@@ -860,7 +855,7 @@ static void basic_flip_cursor(igt_display_t *display,
if (miss1)
continue;
- delta = kmstest_get_vblank(display->drm_fd, pipe, 0) - vblank_start;
+ delta = kmstest_get_vblank(display->drm_fd, crtc->pipe, 0) - vblank_start;
if (!mode_requires_extra_vblank(mode))
miss2 += delta != 1;
@@ -890,19 +885,19 @@ static void basic_flip_cursor(igt_display_t *display,
}
static int
-get_cursor_updates_per_vblank(igt_display_t *display, enum pipe pipe,
+get_cursor_updates_per_vblank(igt_display_t *display, igt_crtc_t *crtc,
struct drm_mode_cursor *arg)
{
int target;
for (target = 65536; target; target /= 2) {
- unsigned vblank_start = kmstest_get_vblank(display->drm_fd, pipe, DRM_VBLANK_NEXTONMISS);
+ unsigned vblank_start = kmstest_get_vblank(display->drm_fd, crtc->pipe, DRM_VBLANK_NEXTONMISS);
- igt_assert_eq(kmstest_get_vblank(display->drm_fd, pipe, 0), vblank_start);
+ igt_assert_eq(kmstest_get_vblank(display->drm_fd, crtc->pipe, 0), vblank_start);
for (int n = 0; n < target; n++)
do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, arg);
- if (kmstest_get_vblank(display->drm_fd, pipe, 0) == vblank_start)
+ if (kmstest_get_vblank(display->drm_fd, crtc->pipe, 0) == vblank_start)
break;
}
@@ -925,7 +920,7 @@ static void flip_vs_cursor(igt_display_t *display, enum flip_test mode, int nloo
struct igt_fb fb_info, cursor_fb, cursor_fb2, argb_fb;
unsigned vblank_start;
int target, cpu;
- enum pipe pipe;
+ igt_crtc_t *crtc;
volatile unsigned long *shared;
cpu_set_t mask, oldmask;
igt_output_t *output;
@@ -934,33 +929,33 @@ static void flip_vs_cursor(igt_display_t *display, enum flip_test mode, int nloo
if (mode >= flip_test_atomic)
igt_require(display->is_atomic);
- pipe = find_connected_pipe(display, false, &output);
+ crtc = find_connected_pipe(display, false, &output);
igt_require(output);
igt_info("Using pipe %s & %s\n",
- kmstest_pipe_name(pipe), igt_output_name(output));
+ igt_crtc_name(crtc), igt_output_name(output));
- set_fb_on_crtc(display, pipe, output, &fb_info);
+ set_fb_on_crtc(display, crtc, output, &fb_info);
igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
- cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
- populate_cursor_args(display, pipe, arg, &cursor_fb);
+ cursor = set_cursor_on_pipe(display, crtc, &cursor_fb);
+ populate_cursor_args(display, crtc, arg, &cursor_fb);
- prepare_flip_test(display, mode, pipe, arg, &fb_info, &argb_fb, &cursor_fb2);
+ prepare_flip_test(display, mode, crtc, arg, &fb_info, &argb_fb, &cursor_fb2);
igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
if (nloops)
- target = get_cursor_updates_per_vblank(display, pipe, &arg[0]);
+ target = get_cursor_updates_per_vblank(display, crtc, &arg[0]);
else
target = 1;
- vblank_start = kmstest_get_vblank(display->drm_fd, pipe, DRM_VBLANK_NEXTONMISS);
- igt_assert_eq(kmstest_get_vblank(display->drm_fd, pipe, 0), vblank_start);
+ vblank_start = kmstest_get_vblank(display->drm_fd, crtc->pipe, DRM_VBLANK_NEXTONMISS);
+ igt_assert_eq(kmstest_get_vblank(display->drm_fd, crtc->pipe, 0), vblank_start);
for (int n = 0; n < target; n++)
do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg[0]);
- igt_assert_eq(kmstest_get_vblank(display->drm_fd, pipe, 0), vblank_start);
+ igt_assert_eq(kmstest_get_vblank(display->drm_fd, crtc->pipe, 0), vblank_start);
/*
* There are variations caused by using cpu frequency changing. To
@@ -998,37 +993,37 @@ static void flip_vs_cursor(igt_display_t *display, enum flip_test mode, int nloo
do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg[nloops & 1]);
/* Start with a synchronous query to align with the vblank */
- vblank_start = kmstest_get_vblank(display->drm_fd, pipe, DRM_VBLANK_NEXTONMISS);
+ vblank_start = kmstest_get_vblank(display->drm_fd, crtc->pipe, DRM_VBLANK_NEXTONMISS);
switch (mode) {
default:
- flip_nonblocking(display, pipe, mode >= flip_test_atomic, &fb_info, NULL);
+ flip_nonblocking(display, crtc, mode >= flip_test_atomic, &fb_info, NULL);
break;
case flip_test_atomic_transitions:
case flip_test_atomic_transitions_varying_size:
- transition_nonblocking(display, pipe, &fb_info, &argb_fb, (nloops & 2) /2);
+ transition_nonblocking(display, crtc, &fb_info, &argb_fb, (nloops & 2) /2);
break;
}
/* The nonblocking flip should not have delayed us */
- igt_assert_eq(kmstest_get_vblank(display->drm_fd, pipe, 0), vblank_start);
+ igt_assert_eq(kmstest_get_vblank(display->drm_fd, crtc->pipe, 0), vblank_start);
for (int n = 0; n < target; n++)
do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg[nloops & 1]);
/* Nor should it have delayed the following cursor update */
if (!cursor_slowpath(display, mode))
- igt_assert_eq(kmstest_get_vblank(display->drm_fd, pipe, 0), vblank_start);
+ igt_assert_eq(kmstest_get_vblank(display->drm_fd, crtc->pipe, 0), vblank_start);
else if (mode_requires_extra_vblank(mode))
- igt_assert_lte(kmstest_get_vblank(display->drm_fd, pipe, 0), vblank_start + 2);
+ igt_assert_lte(kmstest_get_vblank(display->drm_fd, crtc->pipe, 0), vblank_start + 2);
else
- igt_assert_lte(kmstest_get_vblank(display->drm_fd, pipe, 0), vblank_start + 1);
+ igt_assert_lte(kmstest_get_vblank(display->drm_fd, crtc->pipe, 0), vblank_start + 1);
igt_set_timeout(1, "Stuck page flip");
igt_ignore_warn(read(display->drm_fd, &vbl, sizeof(vbl)));
if (!mode_requires_extra_vblank(mode))
- igt_assert_eq(kmstest_get_vblank(display->drm_fd, pipe, 0), vblank_start + 1);
+ igt_assert_eq(kmstest_get_vblank(display->drm_fd, crtc->pipe, 0), vblank_start + 1);
else
- igt_assert_lte(kmstest_get_vblank(display->drm_fd, pipe, 0), vblank_start + 2);
+ igt_assert_lte(kmstest_get_vblank(display->drm_fd, crtc->pipe, 0), vblank_start + 2);
igt_reset_timeout();
} while (nloops--);
@@ -1060,23 +1055,23 @@ static void nonblocking_modeset_vs_cursor(igt_display_t *display, int loops)
{
struct igt_fb fb_info, cursor_fb;
igt_output_t *output;
- enum pipe pipe;
+ igt_crtc_t *crtc;
struct drm_mode_cursor arg[2];
igt_plane_t *primary, *cursor = NULL;
igt_require(display->is_atomic);
- pipe = find_connected_pipe(display, false, &output);
+ crtc = find_connected_pipe(display, false, &output);
igt_require(output);
igt_info("Using pipe %s & %s\n",
- kmstest_pipe_name(pipe), igt_output_name(output));
+ igt_crtc_name(crtc), igt_output_name(output));
- set_fb_on_crtc(display, pipe, output, &fb_info);
+ set_fb_on_crtc(display, crtc, output, &fb_info);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
- cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
- populate_cursor_args(display, pipe, arg, &cursor_fb);
+ cursor = set_cursor_on_pipe(display, crtc, &cursor_fb);
+ populate_cursor_args(display, crtc, arg, &cursor_fb);
arg[0].flags |= DRM_MODE_CURSOR_BO;
/*
@@ -1101,7 +1096,7 @@ static void nonblocking_modeset_vs_cursor(igt_display_t *display, int loops)
*/
igt_output_set_crtc(output,
- igt_crtc_for_pipe(display, pipe));
+ crtc);
igt_plane_set_fb(cursor, NULL);
igt_display_commit_atomic(display, flags, NULL);
@@ -1160,7 +1155,7 @@ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool
{
struct drm_mode_cursor arg1[2], arg2[2];
struct igt_fb fb_info, fb2_info, cursor_fb;
- enum pipe pipe, pipe2;
+ igt_crtc_t *crtc, *crtc2;
igt_output_t *output, *output2;
bool enabled = false;
volatile unsigned long *shared;
@@ -1182,33 +1177,33 @@ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool
shared = mmap(NULL, PAGE_SIZE, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
igt_assert(shared != MAP_FAILED);
- pipe = find_connected_pipe(display, false, &output);
- pipe2 = find_connected_pipe(display, true, &output2);
+ crtc = find_connected_pipe(display, false, &output);
+ crtc2 = find_connected_pipe(display, true, &output2);
igt_skip_on(!output || !output2);
igt_info("Using pipe %s & %s and pipe %s & %s\n",
- kmstest_pipe_name(pipe), igt_output_name(output),
- kmstest_pipe_name(pipe2), igt_output_name(output2));
+ igt_crtc_name(crtc), igt_output_name(output),
+ igt_crtc_name(crtc2), igt_output_name(output2));
- set_fb_on_crtc(display, pipe, output, &fb_info);
- set_fb_on_crtc(display, pipe2, output2, &fb2_info);
+ set_fb_on_crtc(display, crtc, output, &fb_info);
+ set_fb_on_crtc(display, crtc2, output2, &fb2_info);
if (try_commit(display)) {
override_output_modes(display, output, output2);
- set_fb_on_crtc(display, pipe, output, &fb_info);
- set_fb_on_crtc(display, pipe2, output2, &fb2_info);
+ set_fb_on_crtc(display, crtc, output, &fb_info);
+ set_fb_on_crtc(display, crtc2, output2, &fb2_info);
}
igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
- cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
- populate_cursor_args(display, pipe, arg1, &cursor_fb);
+ cursor = set_cursor_on_pipe(display, crtc, &cursor_fb);
+ populate_cursor_args(display, crtc, arg1, &cursor_fb);
arg1[1].x = arg1[1].y = 192;
- cursor2 = set_cursor_on_pipe(display, pipe2, &cursor_fb);
- populate_cursor_args(display, pipe2, arg2, &cursor_fb);
+ cursor2 = set_cursor_on_pipe(display, crtc2, &cursor_fb);
+ populate_cursor_args(display, crtc2, arg2, &cursor_fb);
arg2[1].x = arg2[1].y = 192;
@@ -1228,7 +1223,7 @@ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool
flags = DRM_MODE_ATOMIC_ALLOW_MODESET |
DRM_MODE_ATOMIC_NONBLOCK | DRM_MODE_PAGE_FLIP_EVENT;
- /* Disable pipe2 */
+ /* Disable crtc2 */
igt_output_set_crtc(output2, NULL);
igt_display_commit_atomic(display, flags, NULL);
enabled = false;
@@ -1237,7 +1232,7 @@ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool
* Try a page flip on crtc 1, if we succeed pump page flips and
* modesets interleaved, else do a single atomic commit with both.
*/
- vblank_start = kmstest_get_vblank(display->drm_fd, pipe, DRM_VBLANK_NEXTONMISS);
+ vblank_start = kmstest_get_vblank(display->drm_fd, crtc->pipe, DRM_VBLANK_NEXTONMISS);
igt_plane_set_fb(plane, &fb_info);
ret = igt_display_try_commit_atomic(display, flags, (void*)(ptrdiff_t)vblank_start);
igt_assert(!ret || ret == -EBUSY);
@@ -1260,7 +1255,7 @@ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool
/* Commit page flip and modeset simultaneously. */
igt_plane_set_fb(plane, &fb_info);
igt_output_set_crtc(output2,
- igt_crtc_for_pipe(display, enabled ? PIPE_NONE : pipe2));
+ enabled ? NULL : crtc2);
enabled = !enabled;
wait_for_modeset(display, flags, 5, "Scheduling modeset");
@@ -1269,11 +1264,11 @@ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool
goto done;
}
} else {
- vblank_start = kmstest_get_vblank(display->drm_fd, pipe, DRM_VBLANK_NEXTONMISS);
- flip_nonblocking(display, pipe, atomic, &fb_info, (void*)(ptrdiff_t)vblank_start);
+ vblank_start = kmstest_get_vblank(display->drm_fd, crtc->pipe, DRM_VBLANK_NEXTONMISS);
+ flip_nonblocking(display, crtc, atomic, &fb_info, (void*)(ptrdiff_t)vblank_start);
- vblank_start = kmstest_get_vblank(display->drm_fd, pipe2, DRM_VBLANK_NEXTONMISS);
- flip_nonblocking(display, pipe2, atomic, &fb2_info, (void*)(ptrdiff_t)vblank_start);
+ vblank_start = kmstest_get_vblank(display->drm_fd, crtc2->pipe, DRM_VBLANK_NEXTONMISS);
+ flip_nonblocking(display, crtc2, atomic, &fb2_info, (void*)(ptrdiff_t)vblank_start);
}
while (nloops) {
@@ -1296,20 +1291,20 @@ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool
continue;
}
- if (vbl.crtc_id == igt_crtc_for_pipe(display, pipe)->crtc_id) {
- vblank_start = kmstest_get_vblank(display->drm_fd, pipe, DRM_VBLANK_NEXTONMISS);
- flip_nonblocking(display, pipe, atomic, &fb_info, (void*)(ptrdiff_t)vblank_start);
+ if (vbl.crtc_id == crtc->crtc_id) {
+ vblank_start = kmstest_get_vblank(display->drm_fd, crtc->pipe, DRM_VBLANK_NEXTONMISS);
+ flip_nonblocking(display, crtc, atomic, &fb_info, (void*)(ptrdiff_t)vblank_start);
} else {
- igt_assert(vbl.crtc_id == igt_crtc_for_pipe(display, pipe2)->crtc_id);
+ igt_assert(vbl.crtc_id == crtc2->crtc_id);
nloops--;
if (!modeset) {
- vblank_start = kmstest_get_vblank(display->drm_fd, pipe2, DRM_VBLANK_NEXTONMISS);
- flip_nonblocking(display, pipe2, atomic, &fb2_info, (void*)(ptrdiff_t)vblank_start);
+ vblank_start = kmstest_get_vblank(display->drm_fd, crtc2->pipe, DRM_VBLANK_NEXTONMISS);
+ flip_nonblocking(display, crtc2, atomic, &fb2_info, (void*)(ptrdiff_t)vblank_start);
} else {
igt_output_set_crtc(output2,
- igt_crtc_for_pipe(display, enabled ? PIPE_NONE : pipe2));
+ enabled ? NULL : crtc2);
igt_set_timeout(1, "Scheduling modeset\n");
do {
@@ -1353,7 +1348,7 @@ static void cursor_vs_flip(igt_display_t *display, enum flip_test mode, int nloo
unsigned vblank_start, vblank_last;
volatile unsigned long *shared;
long target;
- enum pipe pipe;
+ igt_crtc_t *crtc;
igt_output_t *output;
uint32_t vrefresh;
int fail_count;
@@ -1365,25 +1360,25 @@ static void cursor_vs_flip(igt_display_t *display, enum flip_test mode, int nloo
shared = mmap(NULL, PAGE_SIZE, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
igt_assert(shared != MAP_FAILED);
- pipe = find_connected_pipe(display, false, &output);
+ crtc = find_connected_pipe(display, false, &output);
igt_require(output);
igt_info("Using pipe %s & %s\n",
- kmstest_pipe_name(pipe), igt_output_name(output));
+ igt_crtc_name(crtc), igt_output_name(output));
- set_fb_on_crtc(display, pipe, output, &fb_info);
+ set_fb_on_crtc(display, crtc, output, &fb_info);
vrefresh = igt_output_get_mode(output)->vrefresh;
igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
- cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
- populate_cursor_args(display, pipe, arg, &cursor_fb);
+ cursor = set_cursor_on_pipe(display, crtc, &cursor_fb);
+ populate_cursor_args(display, crtc, arg, &cursor_fb);
- prepare_flip_test(display, mode, pipe, arg, &fb_info, &argb_fb, &cursor_fb2);
+ prepare_flip_test(display, mode, crtc, arg, &fb_info, &argb_fb, &cursor_fb2);
igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
- target = get_cursor_updates_per_vblank(display, pipe, &arg[0]);
+ target = get_cursor_updates_per_vblank(display, crtc, &arg[0]);
fail_count = 0;
@@ -1401,18 +1396,18 @@ static void cursor_vs_flip(igt_display_t *display, enum flip_test mode, int nloo
switch (mode) {
default:
- flip_nonblocking(display, pipe, mode >= flip_test_atomic, &fb_info, NULL);
+ flip_nonblocking(display, crtc, mode >= flip_test_atomic, &fb_info, NULL);
break;
case flip_test_atomic_transitions:
case flip_test_atomic_transitions_varying_size:
- transition_nonblocking(display, pipe, &fb_info, &argb_fb, (i & 2) >> 1);
+ transition_nonblocking(display, crtc, &fb_info, &argb_fb, (i & 2) >> 1);
break;
}
igt_assert_eq(read(display->drm_fd, &vbl, sizeof(vbl)), sizeof(vbl));
vblank_start = vblank_last = vbl.sequence;
for (int n = 0; n < vrefresh / 2; n++) {
- flip_nonblocking(display, pipe, mode >= flip_test_atomic, &fb_info, NULL);
+ flip_nonblocking(display, crtc, mode >= flip_test_atomic, &fb_info, NULL);
igt_assert_eq(read(display->drm_fd, &vbl, sizeof(vbl)), sizeof(vbl));
if (vbl.sequence != vblank_last + 1) {
@@ -1464,7 +1459,7 @@ static void two_screens_cursor_vs_flip(igt_display_t *display, int nloops, bool
struct igt_fb fb_info[2], cursor_fb;
volatile unsigned long *shared;
int target[2];
- enum pipe pipe[2];
+ igt_crtc_t *crtc[2];
igt_output_t *outputs[2];
igt_plane_t *cursors[2];
@@ -1474,39 +1469,39 @@ static void two_screens_cursor_vs_flip(igt_display_t *display, int nloops, bool
if (atomic)
igt_require(display->is_atomic);
- pipe[0] = find_connected_pipe(display, false, &outputs[0]);
- pipe[1] = find_connected_pipe(display, true, &outputs[1]);
+ crtc[0] = find_connected_pipe(display, false, &outputs[0]);
+ crtc[1] = find_connected_pipe(display, true, &outputs[1]);
igt_skip_on(!outputs[0] || !outputs[1]);
igt_info("Using pipe %s & %s and pipe %s & %s\n",
- kmstest_pipe_name(pipe[0]), igt_output_name(outputs[0]),
- kmstest_pipe_name(pipe[1]), igt_output_name(outputs[1]));
+ igt_crtc_name(crtc[0]), igt_output_name(outputs[0]),
+ igt_crtc_name(crtc[1]), igt_output_name(outputs[1]));
- set_fb_on_crtc(display, pipe[0], outputs[0], &fb_info[0]);
- set_fb_on_crtc(display, pipe[1], outputs[1], &fb_info[1]);
+ set_fb_on_crtc(display, crtc[0], outputs[0], &fb_info[0]);
+ set_fb_on_crtc(display, crtc[1], outputs[1], &fb_info[1]);
if (try_commit(display)) {
override_output_modes(display, outputs[0], outputs[1]);
- set_fb_on_crtc(display, pipe[0], outputs[0], &fb_info[0]);
- set_fb_on_crtc(display, pipe[1], outputs[1], &fb_info[1]);
+ set_fb_on_crtc(display, crtc[0], outputs[0], &fb_info[0]);
+ set_fb_on_crtc(display, crtc[1], outputs[1], &fb_info[1]);
}
igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
- cursors[0] = set_cursor_on_pipe(display, pipe[0], &cursor_fb);
- populate_cursor_args(display, pipe[0], arg[0], &cursor_fb);
+ cursors[0] = set_cursor_on_pipe(display, crtc[0], &cursor_fb);
+ populate_cursor_args(display, crtc[0], arg[0], &cursor_fb);
arg[0][1].x = arg[0][1].y = 192;
- cursors[1] = set_cursor_on_pipe(display, pipe[1], &cursor_fb);
- populate_cursor_args(display, pipe[1], arg[1], &cursor_fb);
+ cursors[1] = set_cursor_on_pipe(display, crtc[1], &cursor_fb);
+ populate_cursor_args(display, crtc[1], arg[1], &cursor_fb);
arg[1][1].x = arg[1][1].y = 192;
igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
- target[0] = get_cursor_updates_per_vblank(display, pipe[0], &arg[0][0]);
- target[1] = get_cursor_updates_per_vblank(display, pipe[1], &arg[1][0]);
+ target[0] = get_cursor_updates_per_vblank(display, crtc[0], &arg[0][0]);
+ target[1] = get_cursor_updates_per_vblank(display, crtc[1], &arg[1][0]);
for (int i = 0; i < nloops; i++) {
unsigned long vrefresh[2];
@@ -1529,8 +1524,8 @@ static void two_screens_cursor_vs_flip(igt_display_t *display, int nloops, bool
shared[child] = count;
}
- flip_nonblocking(display, pipe[0], atomic, &fb_info[0], (void *)0UL);
- flip_nonblocking(display, pipe[1], atomic, &fb_info[1], (void *)1UL);
+ flip_nonblocking(display, crtc[0], atomic, &fb_info[0], (void *)0UL);
+ flip_nonblocking(display, crtc[1], atomic, &fb_info[1], (void *)1UL);
for (int n = 0; n < vrefresh[0] / 2 + vrefresh[1] / 2; n++) {
unsigned long child;
@@ -1547,7 +1542,7 @@ static void two_screens_cursor_vs_flip(igt_display_t *display, int nloops, bool
vblank_last[child] = vbl.sequence;
if (done[child] < vrefresh[child] / 2) {
- flip_nonblocking(display, pipe[child], atomic, &fb_info[child], (void *)child);
+ flip_nonblocking(display, crtc[child], atomic, &fb_info[child], (void *)child);
} else {
igt_assert_lte(vbl.sequence, vblank_start[child] + 5 * vrefresh[child] / 8);
@@ -1591,7 +1586,7 @@ static void flip_vs_cursor_crc(igt_display_t *display, bool atomic)
struct drm_event_vblank vbl;
struct igt_fb fb_info, cursor_fb;
unsigned vblank_start;
- enum pipe pipe;
+ igt_crtc_t *crtc;
igt_crc_t crcs[3];
igt_output_t *output;
igt_plane_t *cursor;
@@ -1599,24 +1594,24 @@ static void flip_vs_cursor_crc(igt_display_t *display, bool atomic)
if (atomic)
igt_require(display->is_atomic);
- pipe = find_connected_pipe(display, false, &output);
+ crtc = find_connected_pipe(display, false, &output);
igt_require(output);
igt_info("Using pipe %s & %s\n",
- kmstest_pipe_name(pipe), igt_output_name(output));
+ igt_crtc_name(crtc), igt_output_name(output));
- set_fb_on_crtc(display, pipe, output, &fb_info);
+ set_fb_on_crtc(display, crtc, output, &fb_info);
igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
- populate_cursor_args(display, pipe, arg, &cursor_fb);
+ populate_cursor_args(display, crtc, arg, &cursor_fb);
igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
- pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(display, pipe),
+ pipe_crc = igt_crtc_crc_new(crtc,
IGT_PIPE_CRC_SOURCE_AUTO);
- cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
+ cursor = set_cursor_on_pipe(display, crtc, &cursor_fb);
igt_display_commit2(display, COMMIT_UNIVERSAL);
/* Collect reference crcs, crcs[0] last. */
@@ -1628,18 +1623,18 @@ static void flip_vs_cursor_crc(igt_display_t *display, bool atomic)
/* Disable cursor, and immediately queue a flip. Check if resulting crc is correct. */
for (int i = 1; i >= 0; i--) {
- vblank_start = kmstest_get_vblank(display->drm_fd, pipe, DRM_VBLANK_NEXTONMISS);
+ vblank_start = kmstest_get_vblank(display->drm_fd, crtc->pipe, DRM_VBLANK_NEXTONMISS);
- flip_nonblocking(display, pipe, atomic, &fb_info, NULL);
+ flip_nonblocking(display, crtc, atomic, &fb_info, NULL);
do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg[i]);
- igt_assert_eq(kmstest_get_vblank(display->drm_fd, pipe, 0), vblank_start);
+ igt_assert_eq(kmstest_get_vblank(display->drm_fd, crtc->pipe, 0), vblank_start);
igt_set_timeout(1, "Stuck page flip");
igt_ignore_warn(read(display->drm_fd, &vbl, sizeof(vbl)));
igt_reset_timeout();
- igt_assert_eq(kmstest_get_vblank(display->drm_fd, pipe, 0), vblank_start + 1);
+ igt_assert_eq(kmstest_get_vblank(display->drm_fd, crtc->pipe, 0), vblank_start + 1);
igt_pipe_crc_collect_crc(pipe_crc, &crcs[2]);
@@ -1663,7 +1658,7 @@ static void flip_vs_cursor_busy_crc(igt_display_t *display, bool atomic)
struct drm_event_vblank vbl;
struct igt_fb fb_info[2], cursor_fb;
unsigned vblank_start;
- enum pipe pipe;
+ igt_crtc_t *crtc;
igt_plane_t *plane_primary;
igt_crc_t crcs[2], test_crc;
uint64_t ahnd;
@@ -1677,27 +1672,27 @@ static void flip_vs_cursor_busy_crc(igt_display_t *display, bool atomic)
if (atomic)
igt_require(display->is_atomic);
- pipe = find_connected_pipe(display, false, &output);
+ crtc = find_connected_pipe(display, false, &output);
igt_require(output);
igt_info("Using pipe %s & %s\n",
- kmstest_pipe_name(pipe), igt_output_name(output));
+ igt_crtc_name(crtc), igt_output_name(output));
- set_fb_on_crtc(display, pipe, output, &fb_info[0]);
+ set_fb_on_crtc(display, crtc, output, &fb_info[0]);
plane_primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
igt_create_color_pattern_fb(display->drm_fd, fb_info[0].width, fb_info[0].height,
DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, .1, .1, .1, &fb_info[1]);
igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888,
DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
- populate_cursor_args(display, pipe, arg, &cursor_fb);
+ populate_cursor_args(display, crtc, arg, &cursor_fb);
igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
- pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(display, pipe),
+ pipe_crc = igt_crtc_crc_new(crtc,
IGT_PIPE_CRC_SOURCE_AUTO);
- cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
+ cursor = set_cursor_on_pipe(display, crtc, &cursor_fb);
igt_display_commit2(display, COMMIT_UNIVERSAL);
/* Collect reference crcs, crc[0] last for the loop. */
@@ -1733,12 +1728,12 @@ static void flip_vs_cursor_busy_crc(igt_display_t *display, bool atomic)
.dependency = fb_info[1].gem_handle,
.dependency_size = fb_info[1].size);
- vblank_start = kmstest_get_vblank(display->drm_fd, pipe, DRM_VBLANK_NEXTONMISS);
+ vblank_start = kmstest_get_vblank(display->drm_fd, crtc->pipe, DRM_VBLANK_NEXTONMISS);
- flip_nonblocking(display, pipe, atomic, &fb_info[1], NULL);
+ flip_nonblocking(display, crtc, atomic, &fb_info[1], NULL);
do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg[i]);
- igt_assert_eq(kmstest_get_vblank(display->drm_fd, pipe, 0), vblank_start);
+ igt_assert_eq(kmstest_get_vblank(display->drm_fd, crtc->pipe, 0), vblank_start);
igt_pipe_crc_get_current(display->drm_fd, pipe_crc, &test_crc);
@@ -1748,7 +1743,7 @@ static void flip_vs_cursor_busy_crc(igt_display_t *display, bool atomic)
igt_ignore_warn(read(display->drm_fd, &vbl, sizeof(vbl)));
igt_reset_timeout();
- igt_assert_lte(vblank_start + 1, kmstest_get_vblank(display->drm_fd, pipe, 0));
+ igt_assert_lte(vblank_start + 1, kmstest_get_vblank(display->drm_fd, crtc->pipe, 0));
igt_plane_set_fb(plane_primary, &fb_info[0]);
igt_display_commit2(display, COMMIT_UNIVERSAL);
@@ -1774,7 +1769,7 @@ static void modeset_atomic_cursor_hotspot(igt_display_t *display)
{
struct igt_fb cursor_fb;
igt_output_t *output;
- enum pipe pipe;
+ igt_crtc_t *crtc;
igt_plane_t *cursor = NULL;
bool has_hotspot_prop;
uint64_t cursor_width, cursor_height;
@@ -1782,11 +1777,11 @@ static void modeset_atomic_cursor_hotspot(igt_display_t *display)
igt_require(display->is_atomic);
igt_require(display->has_virt_cursor_plane);
- pipe = find_connected_pipe(display, false, &output);
+ crtc = find_connected_pipe(display, false, &output);
igt_require(output);
igt_info("Using pipe %s & %s\n",
- kmstest_pipe_name(pipe), igt_output_name(output));
+ igt_crtc_name(crtc), igt_output_name(output));
cursor_width = cursor_height = 64;
igt_create_color_fb(display->drm_fd, cursor_width, cursor_height, DRM_FORMAT_ARGB8888,
@@ -1794,7 +1789,7 @@ static void modeset_atomic_cursor_hotspot(igt_display_t *display)
igt_display_commit2(display, COMMIT_ATOMIC);
- cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
+ cursor = set_cursor_on_pipe(display, crtc, &cursor_fb);
has_hotspot_prop = cursor->props[IGT_PLANE_HOTSPOT_X] ||
cursor->props[IGT_PLANE_HOTSPOT_Y];
@@ -1888,14 +1883,16 @@ int igt_main()
igt_dynamic_f("pipe-%s",
igt_crtc_name(crtc))
- stress(&display, crtc->pipe,
+ stress(&display, crtc,
tests[i].ncpus,
tests[i].flags, 5);
}
errno = 0;
igt_dynamic("all-pipes")
- stress(&display, -1, tests[i].ncpus, tests[i].flags, 5);
+ stress(&display, NULL,
+ tests[i].ncpus,
+ tests[i].flags, 5);
}
}
}
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 09/17] tests/kms_color*: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (7 preceding siblings ...)
2026-02-11 16:33 ` [PATCH i-g-t 08/17] tests/kms_cursor_legacy: " Ville Syrjala
@ 2026-02-11 16:33 ` Ville Syrjala
2026-02-11 16:33 ` [PATCH i-g-t 10/17] tests/kms_atomic_transition: " Ville Syrjala
` (12 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:33 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Convert the use of enum pipe to igt_crtc_t in
tests/kms_color*.
The use of function pointers makes this a bit more
complicated than your average test.
#include "scripts/iterators.cocci"
@func@
typedef igt_crtc_t;
identifier FUNC, PIPE;
parameter list[N] P;
@@
FUNC(P
- ,enum pipe PIPE
+ ,igt_crtc_t *crtc
,...)
{
<...
(
- igt_crtc_for_pipe(..., PIPE)
+ crtc
|
- kmstest_pipe_name(PIPE)
+ igt_crtc_name(crtc)
|
- PIPE
+ crtc->pipe
)
...>
}
@depends on func@
identifier func.FUNC;
expression PIPE;
expression list[func.N] EP;
@@
FUNC(EP
- ,PIPE
+ ,igt_crtc_for_pipe(display, PIPE)
,...)
@@
identifier FUNC, CRTC;
@@
FUNC(..., igt_crtc_t *CRTC, ...)
{
...
(
- igt_crtc_t *CRTC = CRTC;
|
- igt_crtc_t *CRTC = igt_crtc_for_pipe(...);
|
- igt_crtc_t *CRTC;
...
- CRTC = igt_crtc_for_pipe(...);
)
...
}
@func_ptr@
parameter list[N] P;
identifier F, PIPE;
type T;
@@
struct {
...
T (*F)(P
- ,enum pipe PIPE
+ ,igt_crtc_t *crtc
,...);
...
}
@depends on func_ptr@
identifier func_ptr.F;
expression list[func_ptr.N] EP;
expression PIPE, X;
@@
X.F(EP
- ,PIPE
+ ,igt_crtc_for_pipe(display, PIPE)
,...)
@@
igt_crtc_t *CRTC;
@@
- igt_crtc_for_pipe(..., CRTC->pipe)
+ CRTC
@@
identifier DISPLAY;
expression E;
@@
- igt_display_t *DISPLAY = E;
... when != DISPLAY
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/chamelium/kms_chamelium_color.c | 49 ++++++++++++++-------------
tests/kms_color.c | 46 ++++++++++++-------------
tests/kms_color_helper.c | 23 +++++++------
tests/kms_color_helper.h | 8 ++---
tests/kms_color_pipeline.c | 10 +++---
5 files changed, 67 insertions(+), 69 deletions(-)
diff --git a/tests/chamelium/kms_chamelium_color.c b/tests/chamelium/kms_chamelium_color.c
index d77b924ac672..70dbedf82acc 100644
--- a/tests/chamelium/kms_chamelium_color.c
+++ b/tests/chamelium/kms_chamelium_color.c
@@ -429,10 +429,8 @@ static bool test_pipe_limited_range_ctm(data_t *data,
}
static void
-prep_pipe(data_t *data, enum pipe p)
+prep_pipe(data_t *data, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, p);
igt_require_pipe(&data->display, crtc->pipe);
if (igt_crtc_has_prop(crtc, IGT_CRTC_DEGAMMA_LUT_SIZE)) {
@@ -450,14 +448,12 @@ prep_pipe(data_t *data, enum pipe p)
}
}
-static int test_setup(data_t *data, enum pipe p)
+static int test_setup(data_t *data, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, p);
int i = 0;
igt_display_reset(&data->display);
- prep_pipe(data, crtc->pipe);
+ prep_pipe(data, crtc);
igt_require(crtc->n_planes >= 0);
data->primary = igt_crtc_get_plane_type(crtc, DRM_PLANE_TYPE_PRIMARY);
@@ -489,10 +485,11 @@ static int test_setup(data_t *data, enum pipe p)
}
static void
-run_gamma_degamma_tests_for_pipe(data_t *data, enum pipe p,
- bool (*test_t)(data_t*, igt_plane_t*, struct chamelium_port*))
+run_gamma_degamma_tests_for_pipe(data_t *data, igt_crtc_t *crtc,
+ bool (*test_t)(data_t*, igt_plane_t*, struct chamelium_port*))
{
- int port_idx = test_setup(data, p);
+ int port_idx = test_setup(data,
+ crtc);
igt_require(port_idx >= 0);
@@ -500,15 +497,15 @@ run_gamma_degamma_tests_for_pipe(data_t *data, enum pipe p,
data->drm_format = DRM_FORMAT_XRGB8888;
data->mode = igt_output_get_mode(data->output);
- if (!pipe_output_combo_valid(data, p))
+ if (!pipe_output_combo_valid(data, crtc))
return;
- igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(p), data->output->name)
+ igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc), data->output->name)
igt_assert(test_t(data, data->primary, data->ports[port_idx]));
}
static void
-run_ctm_tests_for_pipe(data_t *data, enum pipe p,
+run_ctm_tests_for_pipe(data_t *data, igt_crtc_t *crtc,
color_t *expected_colors,
double *ctm,
int iter)
@@ -519,7 +516,8 @@ run_ctm_tests_for_pipe(data_t *data, enum pipe p,
{ 0.0, 1.0, 0.0 },
{ 0.0, 0.0, 1.0 }
};
- int port_idx = test_setup(data, p);
+ int port_idx = test_setup(data,
+ crtc);
igt_require(port_idx >= 0);
/*
@@ -538,10 +536,10 @@ run_ctm_tests_for_pipe(data_t *data, enum pipe p,
data->drm_format = DRM_FORMAT_XRGB8888;
data->mode = igt_output_get_mode(data->output);
- if (!pipe_output_combo_valid(data, p))
+ if (!pipe_output_combo_valid(data, crtc))
return;
- igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(p), data->output->name) {
+ igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc), data->output->name) {
bool success = false;
int i;
@@ -574,10 +572,11 @@ run_ctm_tests_for_pipe(data_t *data, enum pipe p,
}
static void
-run_limited_range_ctm_test_for_pipe(data_t *data, enum pipe p,
- bool (*test_t)(data_t*, igt_plane_t*, struct chamelium_port*))
+run_limited_range_ctm_test_for_pipe(data_t *data, igt_crtc_t *crtc,
+ bool (*test_t)(data_t*, igt_plane_t*, struct chamelium_port*))
{
- int port_idx = test_setup(data, p);
+ int port_idx = test_setup(data,
+ crtc);
igt_require(port_idx >= 0);
igt_require(igt_output_has_prop(data->output, IGT_CONNECTOR_BROADCAST_RGB));
@@ -586,10 +585,10 @@ run_limited_range_ctm_test_for_pipe(data_t *data, enum pipe p,
data->drm_format = DRM_FORMAT_XRGB8888;
data->mode = igt_output_get_mode(data->output);
- if (!pipe_output_combo_valid(data, p))
+ if (!pipe_output_combo_valid(data, crtc))
return;
- igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(p), data->output->name)
+ igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc), data->output->name)
igt_assert(test_t(data, data->primary, data->ports[port_idx]));
}
@@ -689,7 +688,7 @@ run_tests_for_pipe(data_t *data)
igt_subtest_with_dynamic_f("%s", gamma_degamma_tests[i].name) {
for_each_crtc(&data->display, crtc) {
run_gamma_degamma_tests_for_pipe(data,
- crtc->pipe,
+ crtc,
gamma_degamma_tests[i].test_t);
}
}
@@ -699,7 +698,8 @@ run_tests_for_pipe(data_t *data)
igt_describe_f("%s", ctm_tests[i].desc);
igt_subtest_with_dynamic_f("%s", ctm_tests[i].name) {
for_each_crtc(&data->display, crtc) {
- run_ctm_tests_for_pipe(data, crtc->pipe,
+ run_ctm_tests_for_pipe(data,
+ crtc,
ctm_tests[i].colors,
ctm_tests[i].ctm,
ctm_tests[i].iter);
@@ -710,7 +710,8 @@ run_tests_for_pipe(data_t *data)
igt_describe("Compare after applying ctm matrix & identity matrix");
igt_subtest_with_dynamic("ctm-limited-range") {
for_each_crtc(&data->display, crtc) {
- run_limited_range_ctm_test_for_pipe(data, crtc->pipe,
+ run_limited_range_ctm_test_for_pipe(data,
+ crtc,
test_pipe_limited_range_ctm);
}
}
diff --git a/tests/kms_color.c b/tests/kms_color.c
index b05d1ba0adab..fdc97d13dad6 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -711,10 +711,8 @@ static void test_pipe_limited_range_ctm(data_t *data,
#endif
static void
-prep_pipe(data_t *data, enum pipe p)
+prep_pipe(data_t *data, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, p);
igt_require_pipe(&data->display, crtc->pipe);
if (igt_crtc_has_prop(crtc, IGT_CRTC_DEGAMMA_LUT_SIZE)) {
@@ -732,12 +730,9 @@ prep_pipe(data_t *data, enum pipe p)
}
}
-static void test_setup(data_t *data, enum pipe p)
+static void test_setup(data_t *data, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, p);
-
- prep_pipe(data, crtc->pipe);
+ prep_pipe(data, crtc);
igt_require_pipe_crc(data->drm_fd);
igt_require(crtc->n_planes >= 0);
@@ -755,10 +750,10 @@ static void test_cleanup(data_t *data)
}
static void
-run_gamma_degamma_tests_for_pipe(data_t *data, enum pipe p,
+run_gamma_degamma_tests_for_pipe(data_t *data, igt_crtc_t *crtc,
bool (*test_t)(data_t*, igt_plane_t*))
{
- test_setup(data, p);
+ test_setup(data, crtc);
/*
* We assume an 8bits depth per color for degamma/gamma LUTs
@@ -768,7 +763,7 @@ run_gamma_degamma_tests_for_pipe(data_t *data, enum pipe p,
data->drm_format = DRM_FORMAT_XRGB8888;
data->mode = igt_output_get_mode(data->output);
- igt_require(pipe_output_combo_valid(data, p));
+ igt_require(pipe_output_combo_valid(data, crtc));
igt_assert(test_t(data, data->primary));
@@ -785,7 +780,7 @@ static void transform_color(color_t *color, const double *ctm, double offset)
}
static void
-run_ctm_tests_for_pipe(data_t *data, enum pipe p,
+run_ctm_tests_for_pipe(data_t *data, igt_crtc_t *crtc,
const color_t *fb_colors,
const double *ctm,
int iter)
@@ -795,7 +790,7 @@ run_ctm_tests_for_pipe(data_t *data, enum pipe p,
double delta;
int i;
- test_setup(data, p);
+ test_setup(data, crtc);
/* MediaTek can only support bit-ture in 10-bit depth pre color */
if (is_mtk_device(data->drm_fd))
@@ -810,7 +805,7 @@ run_ctm_tests_for_pipe(data_t *data, enum pipe p,
data->drm_format = depth_10bit ? DRM_FORMAT_XRGB2101010 : DRM_FORMAT_XRGB8888;
data->mode = igt_output_get_mode(data->output);
- igt_require(pipe_output_combo_valid(data, p));
+ igt_require(pipe_output_combo_valid(data, crtc));
if (!iter)
iter = 1;
@@ -844,10 +839,8 @@ run_ctm_tests_for_pipe(data_t *data, enum pipe p,
}
static void
-run_deep_color_tests_for_pipe(data_t *data, enum pipe p)
+run_deep_color_tests_for_pipe(data_t *data, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, p);
igt_output_t *output;
static const color_t blue_green_blue[] = {
{ 0.0, 0.0, 1.0 },
@@ -869,7 +862,7 @@ run_deep_color_tests_for_pipe(data_t *data, enum pipe p)
igt_require_f((intel_display_ver(data->devid) >= 11),
"At least GEN 11 is required to validate Deep-color.\n");
- test_setup(data, crtc->pipe);
+ test_setup(data, crtc);
for_each_valid_output_on_pipe(&data->display, crtc->pipe, output) {
uint64_t max_bpc = get_max_bpc(output);
@@ -969,7 +962,7 @@ run_invalid_tests_for_pipe(data_t *data)
igt_crtc_t *crtc;
struct {
const char *name;
- void (*test_t) (data_t *data, enum pipe pipe);
+ void (*test_t) (data_t *data, igt_crtc_t *crtc);
const char *desc;
} tests[] = {
{ "invalid-gamma-lut-sizes", invalid_gamma_lut_sizes,
@@ -988,8 +981,10 @@ run_invalid_tests_for_pipe(data_t *data)
igt_subtest_with_dynamic_f("%s", tests[i].name) {
for_each_crtc(&data->display, crtc) {
igt_dynamic_f("pipe-%s", igt_crtc_name(crtc)) {
- prep_pipe(data, crtc->pipe);
- tests[i].test_t(data, crtc->pipe);
+ prep_pipe(data,
+ crtc);
+ tests[i].test_t(data,
+ crtc);
}
}
}
@@ -1132,7 +1127,8 @@ run_tests_for_pipe(data_t *data)
for_each_crtc_with_valid_output(&data->display, crtc, data->output) {
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(data->output))
- run_gamma_degamma_tests_for_pipe(data, crtc->pipe,
+ run_gamma_degamma_tests_for_pipe(data,
+ crtc,
gamma_degamma_tests[i].test_t);
}
}
@@ -1144,7 +1140,8 @@ run_tests_for_pipe(data_t *data)
for_each_crtc_with_valid_output(&data->display, crtc, data->output) {
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(data->output))
- run_ctm_tests_for_pipe(data, crtc->pipe,
+ run_ctm_tests_for_pipe(data,
+ crtc,
ctm_tests[i].fb_colors,
ctm_tests[i].ctm,
ctm_tests[i].iter);
@@ -1160,7 +1157,8 @@ run_tests_for_pipe(data_t *data)
igt_describe("Verify that deep color works correctly");
igt_subtest_with_dynamic("deep-color") {
for_each_crtc(&data->display, crtc) {
- run_deep_color_tests_for_pipe(data, crtc->pipe);
+ run_deep_color_tests_for_pipe(data,
+ crtc);
if (igt_run_in_simulation())
break;
diff --git a/tests/kms_color_helper.c b/tests/kms_color_helper.c
index 554c1c72cbf6..aa47324dff6a 100644
--- a/tests/kms_color_helper.c
+++ b/tests/kms_color_helper.c
@@ -24,12 +24,12 @@
#include "kms_color_helper.h"
-bool pipe_output_combo_valid(data_t *data, enum pipe pipe)
+bool pipe_output_combo_valid(data_t *data, igt_crtc_t *crtc)
{
bool ret = true;
igt_output_set_crtc(data->output,
- igt_crtc_for_pipe(data->output->display, pipe));
+ crtc);
if (!intel_pipe_output_combo_valid(&data->display))
ret = false;
igt_output_set_crtc(data->output, NULL);
@@ -316,11 +316,10 @@ pipe_set_property_blob(igt_crtc_t *crtc,
}
static void
-invalid_lut_sizes(data_t *data, enum pipe p,
+invalid_lut_sizes(data_t *data, igt_crtc_t *crtc,
enum igt_atomic_crtc_properties prop, int size)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, p);
struct drm_color_lut *lut;
size_t lut_size = size * sizeof(lut[0]);
@@ -349,21 +348,23 @@ invalid_lut_sizes(data_t *data, enum pipe p,
}
void
-invalid_gamma_lut_sizes(data_t *data, enum pipe p)
+invalid_gamma_lut_sizes(data_t *data, igt_crtc_t *crtc)
{
- invalid_lut_sizes(data, p, IGT_CRTC_GAMMA_LUT, data->gamma_lut_size);
+ invalid_lut_sizes(data, crtc,
+ IGT_CRTC_GAMMA_LUT,
+ data->gamma_lut_size);
}
void
-invalid_degamma_lut_sizes(data_t *data, enum pipe p)
+invalid_degamma_lut_sizes(data_t *data, igt_crtc_t *crtc)
{
- invalid_lut_sizes(data, p, IGT_CRTC_DEGAMMA_LUT, data->degamma_lut_size);
+ invalid_lut_sizes(data, crtc,
+ IGT_CRTC_DEGAMMA_LUT,
+ data->degamma_lut_size);
}
-void invalid_ctm_matrix_sizes(data_t *data, enum pipe p)
+void invalid_ctm_matrix_sizes(data_t *data, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, p);
void *ptr;
igt_require(igt_crtc_has_prop(crtc, IGT_CRTC_CTM));
diff --git a/tests/kms_color_helper.h b/tests/kms_color_helper.h
index 31f7382eb541..6a700d4610fe 100644
--- a/tests/kms_color_helper.h
+++ b/tests/kms_color_helper.h
@@ -68,7 +68,7 @@ typedef struct {
color_t coeffs[];
} gamma_lut_t;
-bool pipe_output_combo_valid(data_t *data, enum pipe pipe);
+bool pipe_output_combo_valid(data_t *data, igt_crtc_t *crtc);
bool panel_supports_deep_color(int fd, char *output_name);
uint64_t get_max_bpc(igt_output_t *output);
void paint_gradient_rectangles(data_t *data,
@@ -110,9 +110,9 @@ int pipe_set_property_blob_id(igt_crtc_t *pipe,
int pipe_set_property_blob(igt_crtc_t *pipe,
enum igt_atomic_crtc_properties prop,
void *ptr, size_t length);
-void invalid_gamma_lut_sizes(data_t *data, enum pipe p);
-void invalid_degamma_lut_sizes(data_t *data, enum pipe p);
-void invalid_ctm_matrix_sizes(data_t *data, enum pipe p);
+void invalid_gamma_lut_sizes(data_t *data, igt_crtc_t *crtc);
+void invalid_degamma_lut_sizes(data_t *data, igt_crtc_t *crtc);
+void invalid_ctm_matrix_sizes(data_t *data, igt_crtc_t *crtc);
#endif
diff --git a/tests/kms_color_pipeline.c b/tests/kms_color_pipeline.c
index 733ead1cd55c..7445b14568c5 100644
--- a/tests/kms_color_pipeline.c
+++ b/tests/kms_color_pipeline.c
@@ -46,11 +46,8 @@ static void test_cleanup(data_t *data)
igt_display_commit2(&data->display, COMMIT_ATOMIC);
}
-static void test_setup(data_t *data, enum pipe p)
+static void test_setup(data_t *data, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, p);
-
igt_require_pipe_crc(data->drm_fd);
igt_require(crtc);
igt_require(crtc->n_planes > 0);
@@ -279,10 +276,11 @@ run_tests_for_plane(data_t *data)
output) {
data->output = output;
- if (!pipe_output_combo_valid(data, crtc->pipe))
+ if (!pipe_output_combo_valid(data, crtc))
continue;
- test_setup(data, crtc->pipe);
+ test_setup(data,
+ crtc);
if (!igt_plane_has_prop(data->primary, IGT_PLANE_COLOR_PIPELINE)) {
test_cleanup(data);
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 10/17] tests/kms_atomic_transition: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (8 preceding siblings ...)
2026-02-11 16:33 ` [PATCH i-g-t 09/17] tests/kms_color*: " Ville Syrjala
@ 2026-02-11 16:33 ` Ville Syrjala
2026-02-11 16:33 ` [PATCH i-g-t 11/17] tests/kms_plane: " Ville Syrjala
` (11 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:33 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Convert the use of enum pipe to igt_crtc_t in
tests/kms_atomic_transition.
The somewhat unusual part here is the old vs. new
pipe/crtc handling for planes in set_combinations().
#include "scripts/iterators.cocci"
@func@
identifier FUNC, PIPE;
parameter list[N] P;
@@
FUNC(P
- ,enum pipe PIPE
+ ,igt_crtc_t *crtc
,...)
{
<...
(
- igt_crtc_for_pipe(..., PIPE)
+ crtc
|
- kmstest_pipe_name(PIPE)
+ igt_crtc_name(crtc)
|
- PIPE
+ crtc->pipe
)
...>
}
@depends on func@
identifier func.FUNC;
expression PIPE;
expression list[func.N] EP;
@@
FUNC(EP
- ,PIPE
+ ,igt_crtc_for_pipe(display, PIPE)
,...)
@@
identifier FUNC, CRTC;
@@
FUNC(..., igt_crtc_t *CRTC, ...)
{
...
(
- igt_crtc_t *CRTC = CRTC;
|
- igt_crtc_t *CRTC = igt_crtc_for_pipe(...);
|
- igt_crtc_t *CRTC;
...
- CRTC = igt_crtc_for_pipe(...);
)
...
}
@@
typedef igt_plane_t;
identifier PLANE;
identifier PIPE;
@@
{...
igt_plane_t *PLANE = ...;
...
- enum pipe PIPE = PLANE->ref->crtc->pipe;
+ igt_crtc_t *old_crtc = PLANE->ref->crtc;
<+...
- PIPE
+ old_crtc->pipe
...+>
}
@@
igt_crtc_t *CRTC;
@@
- igt_crtc_for_pipe(..., CRTC->pipe)
+ CRTC
@@
igt_crtc_t *CRTC1;
igt_crtc_t *CRTC2;
binary operator OP = { ==, != };
@@
- CRTC1->pipe OP CRTC2->pipe
+ CRTC1 OP CRTC2
@@
identifier DISPLAY;
expression E;
@@
- igt_display_t *DISPLAY = E;
... when != DISPLAY
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/kms_atomic_transition.c | 147 +++++++++++++++++++---------------
1 file changed, 84 insertions(+), 63 deletions(-)
diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index 27072c4f1d06..701503136b92 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -131,10 +131,8 @@ pthread_t *thread;
int *seqno;
static void
-run_primary_test(data_t *data, enum pipe pipe, igt_output_t *output)
+run_primary_test(data_t *data, igt_crtc_t *crtc, igt_output_t *output)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
drmModeModeInfo *mode;
igt_plane_t *primary;
igt_fb_t *fb = &data->fbs[0];
@@ -229,7 +227,7 @@ static bool skip_plane(data_t *data, igt_plane_t *plane)
}
static int
-wm_setup_plane(data_t *data, enum pipe pipe,
+wm_setup_plane(data_t *data, igt_crtc_t *crtc,
uint32_t mask, struct plane_parms *parms, bool fencing)
{
igt_plane_t *plane;
@@ -240,7 +238,7 @@ wm_setup_plane(data_t *data, enum pipe pipe,
* because most of the modeset operations must be fast
* later on.
*/
- for_each_plane_on_pipe(&data->display, pipe, plane) {
+ for_each_plane_on_pipe(&data->display, crtc->pipe, plane) {
int i = plane->index;
if (skip_plane(data, plane))
@@ -284,13 +282,13 @@ enum transition_type {
TRANSITION_MODESET_DISABLE,
};
-static void set_sprite_wh(data_t *data, enum pipe pipe,
+static void set_sprite_wh(data_t *data, igt_crtc_t *crtc,
struct plane_parms *parms, struct igt_fb *sprite_fb,
bool alpha, unsigned w, unsigned h)
{
igt_plane_t *plane;
- for_each_plane_on_pipe(&data->display, pipe, plane) {
+ for_each_plane_on_pipe(&data->display, crtc->pipe, plane) {
int i = plane->index;
if (plane->type == DRM_PLANE_TYPE_PRIMARY ||
@@ -316,7 +314,7 @@ static void set_sprite_wh(data_t *data, enum pipe pipe,
#define is_atomic_check_plane_size_errno(errno) \
(errno == -EINVAL)
-static void setup_parms(data_t *data, enum pipe pipe,
+static void setup_parms(data_t *data, igt_crtc_t *crtc,
const drmModeModeInfo *mode,
struct igt_fb *primary_fb,
struct igt_fb *argb_fb,
@@ -324,8 +322,6 @@ static void setup_parms(data_t *data, enum pipe pipe,
struct plane_parms *parms,
unsigned *iter_max)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
uint64_t cursor_width, cursor_height;
unsigned sprite_width, sprite_height, prev_w, prev_h;
bool max_sprite_width, max_sprite_height, alpha = true;
@@ -408,10 +404,12 @@ static void setup_parms(data_t *data, enum pipe pipe,
while (!max_sprite_width && !max_sprite_height) {
int ret;
- set_sprite_wh(data, crtc->pipe, parms, sprite_fb,
+ set_sprite_wh(data, crtc,
+ parms, sprite_fb,
alpha, sprite_width, sprite_height);
- wm_setup_plane(data, crtc->pipe, (1 << n_planes) - 1, parms,
+ wm_setup_plane(data, crtc,
+ (1 << n_planes) - 1, parms,
false);
ret = igt_display_try_commit_atomic(&data->display, DRM_MODE_ATOMIC_TEST_ONLY | DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
igt_assert(!is_atomic_check_failure_errno(ret));
@@ -467,7 +465,8 @@ static void setup_parms(data_t *data, enum pipe pipe,
max_sprite_height = true;
}
- set_sprite_wh(data, crtc->pipe, parms, sprite_fb,
+ set_sprite_wh(data, crtc, parms,
+ sprite_fb,
alpha, sprite_width, sprite_height);
igt_info("Running test on pipe %s with resolution %dx%d and sprite size %dx%d alpha %i\n",
@@ -475,10 +474,8 @@ static void setup_parms(data_t *data, enum pipe pipe,
sprite_width, sprite_height, alpha);
}
-static void prepare_fencing(data_t *data, enum pipe pipe)
+static void prepare_fencing(data_t *data, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_plane_t *plane;
int n_planes;
@@ -496,7 +493,7 @@ static void prepare_fencing(data_t *data, enum pipe pipe)
timeline[plane->index] = sw_sync_timeline_create();
}
-static void unprepare_fencing(data_t *data, enum pipe pipe)
+static void unprepare_fencing(data_t *data, igt_crtc_t *crtc)
{
igt_plane_t *plane;
@@ -504,7 +501,7 @@ static void unprepare_fencing(data_t *data, enum pipe pipe)
if (!timeline)
return;
- for_each_plane_on_pipe(&data->display, pipe, plane)
+ for_each_plane_on_pipe(&data->display, crtc->pipe, plane)
close(timeline[plane->index]);
free(timeline);
@@ -512,10 +509,9 @@ static void unprepare_fencing(data_t *data, enum pipe pipe)
free(seqno);
}
-static void atomic_commit(data_t *data_v, enum pipe pipe, unsigned int flags, void *data, bool fencing)
+static void atomic_commit(data_t *data_v, igt_crtc_t *crtc,
+ unsigned int flags, void *data, bool fencing)
{
- igt_display_t *display = &data_v->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
if (fencing)
igt_crtc_request_out_fence(crtc);
@@ -532,10 +528,9 @@ static int fd_completed(int fd)
return ret;
}
-static void wait_for_transition(data_t *data, enum pipe pipe, bool nonblocking, bool fencing)
+static void wait_for_transition(data_t *data, igt_crtc_t *crtc,
+ bool nonblocking, bool fencing)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
if (fencing) {
int fence_fd = crtc->out_fence_fd;
@@ -561,11 +556,9 @@ static void wait_for_transition(data_t *data, enum pipe pipe, bool nonblocking,
* so test this and make sure it works.
*/
static void
-run_transition_test(data_t *data, enum pipe pipe, igt_output_t *output,
- enum transition_type type, bool nonblocking, bool fencing)
+run_transition_test(data_t *data, igt_crtc_t *crtc, igt_output_t *output,
+ enum transition_type type, bool nonblocking, bool fencing)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
drmModeModeInfo *mode, override_mode;
igt_plane_t *plane;
uint32_t iter_max, i;
@@ -577,7 +570,7 @@ run_transition_test(data_t *data, enum pipe pipe, igt_output_t *output,
igt_crtc_name(crtc), igt_output_name(output));
if (fencing)
- prepare_fencing(data, crtc->pipe);
+ prepare_fencing(data, crtc);
else
flags |= DRM_MODE_PAGE_FLIP_EVENT;
@@ -597,7 +590,8 @@ run_transition_test(data_t *data, enum pipe pipe, igt_output_t *output,
igt_output_set_crtc(output, crtc);
- wm_setup_plane(data, crtc->pipe, 0, NULL, false);
+ wm_setup_plane(data, crtc, 0, NULL,
+ false);
if (flags & DRM_MODE_ATOMIC_ALLOW_MODESET) {
igt_output_set_crtc(output, NULL);
@@ -608,7 +602,8 @@ run_transition_test(data_t *data, enum pipe pipe, igt_output_t *output,
crtc);
}
- setup_parms(data, crtc->pipe, mode, &data->fbs[0], &data->argb_fb,
+ setup_parms(data, crtc, mode,
+ &data->fbs[0], &data->argb_fb,
&data->sprite_fb, parms, &iter_max);
igt_display_commit2(&data->display, COMMIT_ATOMIC);
@@ -619,7 +614,8 @@ run_transition_test(data_t *data, enum pipe pipe, igt_output_t *output,
* planes to fix this
*/
while (1) {
- wm_setup_plane(data, crtc->pipe, iter_max - 1, parms, false);
+ wm_setup_plane(data, crtc,
+ iter_max - 1, parms, false);
if (fencing)
igt_crtc_request_out_fence(crtc);
@@ -653,9 +649,11 @@ run_transition_test(data_t *data, enum pipe pipe, igt_output_t *output,
if (type == TRANSITION_AFTER_FREE) {
int fence_fd = -1;
- wm_setup_plane(data, crtc->pipe, 0, parms, fencing);
+ wm_setup_plane(data, crtc,
+ 0, parms, fencing);
- atomic_commit(data, crtc->pipe, flags,
+ atomic_commit(data, crtc,
+ flags,
(void *)(unsigned long)0, fencing);
if (fencing) {
fence_fd = crtc->out_fence_fd;
@@ -675,7 +673,9 @@ run_transition_test(data_t *data, enum pipe pipe, igt_output_t *output,
close(fence_fd);
} else {
igt_assert(fd_completed(data->drm_fd));
- wait_for_transition(data, crtc->pipe, false, fencing);
+ wait_for_transition(data,
+ crtc,
+ false, fencing);
}
return;
}
@@ -691,22 +691,29 @@ run_transition_test(data_t *data, enum pipe pipe, igt_output_t *output,
igt_output_set_crtc(output,
crtc);
- if (!wm_setup_plane(data, crtc->pipe, i, parms, fencing))
+ if (!wm_setup_plane(data, crtc, i, parms, fencing))
continue;
- atomic_commit(data, crtc->pipe, flags,
+ atomic_commit(data, crtc,
+ flags,
(void *)(unsigned long)i, fencing);
- wait_for_transition(data, crtc->pipe, nonblocking, fencing);
+ wait_for_transition(data,
+ crtc,
+ nonblocking, fencing);
if (type == TRANSITION_MODESET_DISABLE) {
igt_output_set_crtc(output, NULL);
- if (!wm_setup_plane(data, crtc->pipe, 0, parms, fencing))
+ if (!wm_setup_plane(data, crtc, 0, parms, fencing))
continue;
- atomic_commit(data, crtc->pipe, flags, (void *) 0UL,
+ atomic_commit(data,
+ crtc,
+ flags, (void *) 0UL,
fencing);
- wait_for_transition(data, crtc->pipe, nonblocking,
+ wait_for_transition(data,
+ crtc,
+ nonblocking,
fencing);
} else {
uint32_t j;
@@ -720,44 +727,52 @@ run_transition_test(data_t *data, enum pipe pipe, igt_output_t *output,
n_enable_planes < crtc->n_planes)
continue;
- if (!wm_setup_plane(data, crtc->pipe, j, parms, fencing))
+ if (!wm_setup_plane(data, crtc, j, parms, fencing))
continue;
if (type >= TRANSITION_MODESET)
igt_output_override_mode(output, &override_mode);
- atomic_commit(data, crtc->pipe, flags,
+ atomic_commit(data,
+ crtc,
+ flags,
(void *)(unsigned long) j,
fencing);
- wait_for_transition(data, crtc->pipe,
+ wait_for_transition(data,
+ crtc,
nonblocking, fencing);
- if (!wm_setup_plane(data, crtc->pipe, i, parms, fencing))
+ if (!wm_setup_plane(data, crtc, i, parms, fencing))
continue;
if (type >= TRANSITION_MODESET)
igt_output_override_mode(output, NULL);
- atomic_commit(data, crtc->pipe, flags,
+ atomic_commit(data,
+ crtc,
+ flags,
(void *)(unsigned long) i,
fencing);
- wait_for_transition(data, crtc->pipe,
+ wait_for_transition(data,
+ crtc,
nonblocking, fencing);
}
}
}
}
-static void test_cleanup(data_t *data, enum pipe pipe, igt_output_t *output, bool fencing)
+static void test_cleanup(data_t *data, igt_crtc_t *crtc, igt_output_t *output,
+ bool fencing)
{
igt_plane_t *plane;
if (fencing)
- unprepare_fencing(data, pipe);
+ unprepare_fencing(data,
+ crtc);
igt_output_set_crtc(output, NULL);
- for_each_plane_on_pipe(&data->display, pipe, plane)
+ for_each_plane_on_pipe(&data->display, crtc->pipe, plane)
igt_plane_set_fb(plane, NULL);
igt_display_commit2(&data->display, COMMIT_ATOMIC);
@@ -820,7 +835,6 @@ static void unset_output_pipe(igt_display_t *display)
static unsigned set_combinations(data_t *data, unsigned mask, struct igt_fb *fb)
{
- igt_display_t *display = &data->display;
igt_output_t *output;
igt_crtc_t *crtc;
unsigned event_mask = 0;
@@ -831,14 +845,14 @@ static unsigned set_combinations(data_t *data, unsigned mask, struct igt_fb *fb)
igt_plane_t *plane = igt_crtc_get_plane_type(crtc,
DRM_PLANE_TYPE_PRIMARY);
- enum pipe old_pipe = plane->ref->crtc->pipe;
+ igt_crtc_t *old_crtc = plane->ref->crtc;
/*
* If a plane is being shared by multiple pipes, we must disable the pipe that
* currently is holding the plane
*/
- if (old_pipe != crtc->pipe) {
- igt_plane_t *old_plane = igt_crtc_get_plane_type(igt_crtc_for_pipe(display, old_pipe),
+ if (old_crtc != crtc) {
+ igt_plane_t *old_plane = igt_crtc_get_plane_type(old_crtc,
DRM_PLANE_TYPE_PRIMARY);
igt_plane_set_fb(old_plane, NULL);
@@ -1113,14 +1127,14 @@ static void run_modeset_transition(data_t *data, int requested_outputs, bool non
run_modeset_tests(data, requested_outputs, nonblocking, fencing);
}
-static bool pipe_output_combo_valid(igt_display_t *display,
- enum pipe pipe, igt_output_t *output)
+static bool pipe_output_combo_valid(igt_display_t *display, igt_crtc_t *crtc,
+ igt_output_t *output)
{
bool ret = true;
igt_display_reset(display);
- igt_output_set_crtc(output, igt_crtc_for_pipe(display, pipe));
+ igt_output_set_crtc(output, crtc);
if (!intel_pipe_output_combo_valid(display))
ret = false;
igt_output_set_crtc(output, NULL);
@@ -1231,14 +1245,18 @@ int igt_main_args("", long_opts, help_str, opt_handler, &data)
if (pipe_count == 2 * count && !data.extended)
break;
- if (!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data.display, crtc, output))
continue;
pipe_count++;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- run_primary_test(&data, crtc->pipe, output);
- test_cleanup(&data, crtc->pipe, output, false);
+ run_primary_test(&data,
+ crtc,
+ output);
+ test_cleanup(&data,
+ crtc,
+ output, false);
}
}
@@ -1268,20 +1286,23 @@ int igt_main_args("", long_opts, help_str, opt_handler, &data)
if (pipe_count == 2 * count && !data.extended)
break;
- if (!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data.display, crtc, output))
continue;
pipe_count++;
igt_dynamic_f("pipe-%s-%s",
igt_crtc_name(crtc),
igt_output_name(output))
- run_transition_test(&data, crtc->pipe,
+ run_transition_test(&data,
+ crtc,
output,
transition_tests[i].type,
transition_tests[i].nonblocking,
transition_tests[i].fencing);
- test_cleanup(&data, crtc->pipe, output,
+ test_cleanup(&data,
+ crtc,
+ output,
transition_tests[i].fencing);
}
}
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 11/17] tests/kms_plane: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (9 preceding siblings ...)
2026-02-11 16:33 ` [PATCH i-g-t 10/17] tests/kms_atomic_transition: " Ville Syrjala
@ 2026-02-11 16:33 ` Ville Syrjala
2026-02-11 16:33 ` [PATCH i-g-t 12/17] tests/intel/kms_pipe_b_c_ivb: " Ville Syrjala
` (10 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:33 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Convert the use of enum pipe to igt_crtc_t in
tests/kms_plane.
The use of function pointers makes this a bit more
complicated than your average test.
#include "scripts/iterators.cocci"
@@
typedef igt_crtc_t;
typedef igt_display_t;
identifier DISPLAY, PIPE;
expression E;
constant P;
@@
{...
igt_display_t *DISPLAY = E;
...
- enum pipe PIPE = P;
+ igt_crtc_t *crtc = igt_crtc_for_pipe(DISPLAY, P);
<+... when != PIPE = ...
(
- PIPE
+ crtc->pipe
)
...+>
}
@func@
typedef igt_crtc_t;
identifier FUNC, PIPE;
parameter list[N] P;
@@
FUNC(P
- ,enum pipe PIPE
+ ,igt_crtc_t *crtc
,...)
{
<...
(
- igt_crtc_for_pipe(..., PIPE)
+ crtc
|
- kmstest_pipe_name(PIPE)
+ igt_crtc_name(crtc)
|
- PIPE
+ crtc->pipe
)
...>
}
@depends on func@
identifier func.FUNC;
expression list[func.N] EP;
expression PIPE;
@@
FUNC(EP
- ,PIPE
+ ,igt_crtc_for_pipe(display, PIPE)
,...)
@func_ptr@
identifier FUNC;
parameter list[N] P;
type T;
@@
run_test(..., T (*FUNC)(P
- ,enum pipe
+ ,igt_crtc_t *crtc
,...), ...)
{...}
@depends on func_ptr@
identifier func_ptr.FUNC;
expression list[func_ptr.N] EP;
expression PIPE;
@@
FUNC(EP
- ,PIPE
+ ,igt_crtc_for_pipe(display, PIPE)
,...)
@@
identifier FUNC, CRTC;
@@
FUNC(..., igt_crtc_t *CRTC, ...)
{
...
(
- igt_crtc_t *CRTC = CRTC;
|
- igt_crtc_t *CRTC = igt_crtc_for_pipe(...);
|
- igt_crtc_t *CRTC;
...
- CRTC = igt_crtc_for_pipe(...);
)
...
}
@@
igt_crtc_t *CRTC;
@@
- igt_crtc_for_pipe(..., CRTC->pipe)
+ CRTC
@@
identifier DISPLAY;
expression E;
@@
{...
- igt_display_t *DISPLAY = E;
... when != DISPLAY
}
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/kms_plane.c | 179 ++++++++++++++++++++++++++--------------------
1 file changed, 101 insertions(+), 78 deletions(-)
diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index 1ce3d98041ec..46459383d3c5 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -145,10 +145,8 @@ static color_t blue = { 0.0f, 0.0f, 1.0f };
/*
* Common code across all tests, acting on data_t
*/
-static void test_init(data_t *data, enum pipe pipe)
+static void test_init(data_t *data, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_require(crtc->n_planes > 0);
if (data->pipe_crc)
igt_pipe_crc_free(data->pipe_crc);
@@ -231,11 +229,9 @@ create_fb_for_mode(data_t *data, drmModeModeInfo *mode,
}
static void
-test_grab_crc(data_t *data, igt_output_t *output, enum pipe pipe,
+test_grab_crc(data_t *data, igt_output_t *output, igt_crtc_t *crtc,
color_t *fb_color, unsigned int flags, igt_crc_t *crc /* out */)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
struct igt_fb fb;
drmModeModeInfo *mode;
igt_plane_t *primary;
@@ -303,15 +299,12 @@ typedef struct {
} test_position_t;
static void
-test_plane_position_with_output(data_t *data,
- enum pipe pipe,
+test_plane_position_with_output(data_t *data, igt_crtc_t *crtc,
int plane,
igt_output_t *output,
igt_crc_t *reference_crc,
unsigned int flags)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
rectangle_t rect = { .x = 100, .y = 100, .color = { 0.0, 0.0, 0.0 }};
igt_plane_t *primary, *sprite;
struct igt_fb primary_fb, sprite_fb;
@@ -385,10 +378,8 @@ test_plane_position_with_output(data_t *data,
}
static void
-test_plane_position(data_t *data, enum pipe pipe)
+test_plane_position(data_t *data, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
int n_planes = crtc->n_planes;
igt_output_t *output = data->output;
igt_crc_t reference_crc;
@@ -396,13 +387,15 @@ test_plane_position(data_t *data, enum pipe pipe)
igt_info("Using (pipe %s + %s) to run the subtest.\n",
igt_crtc_name(crtc), igt_output_name(output));
- test_init(data, crtc->pipe);
- test_grab_crc(data, output, crtc->pipe, &green, data->flags,
+ test_init(data, crtc);
+ test_grab_crc(data, output, crtc,
+ &green, data->flags,
&reference_crc);
for (int plane = 1; plane < n_planes; plane++) {
igt_dynamic_f("pipe-%s-plane-%d", igt_crtc_name(crtc), plane)
- test_plane_position_with_output(data, crtc->pipe,
+ test_plane_position_with_output(data,
+ crtc,
plane, output,
&reference_crc, data->flags);
}
@@ -450,14 +443,11 @@ create_fb_for_mode_panning(data_t *data, drmModeModeInfo *mode,
}
static void
-test_plane_panning_with_output(data_t *data,
- enum pipe pipe,
+test_plane_panning_with_output(data_t *data, igt_crtc_t *crtc,
igt_output_t *output,
igt_crc_t *ref_crc,
unsigned int flags)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_plane_t *primary;
struct igt_fb primary_fb;
drmModeModeInfo *mode;
@@ -500,7 +490,7 @@ test_plane_panning_with_output(data_t *data,
}
static void
-test_plane_panning(data_t *data, enum pipe pipe)
+test_plane_panning(data_t *data, igt_crtc_t *crtc)
{
bool mode_found = false;
uint64_t mem_size = 0;
@@ -508,9 +498,9 @@ test_plane_panning(data_t *data, enum pipe pipe)
igt_crc_t ref_crc;
igt_info("Using (pipe %s + %s) to run the subtest.\n",
- kmstest_pipe_name(pipe), igt_output_name(output));
+ igt_crtc_name(crtc), igt_output_name(output));
- test_init(data, pipe);
+ test_init(data, crtc);
if (is_i915_device(data->drm_fd)) {
for_each_memory_region(r, data->drm_fd)
@@ -548,11 +538,20 @@ test_plane_panning(data_t *data, enum pipe pipe)
igt_require_f(mode_found, "All connector modes are skipped due to low memory\n");
if (data->flags & TEST_PANNING_TOP_LEFT)
- test_grab_crc(data, output, pipe, &red, data->flags, &ref_crc);
+ test_grab_crc(data, output,
+ crtc, &red,
+ data->flags,
+ &ref_crc);
else
- test_grab_crc(data, output, pipe, &blue, data->flags, &ref_crc);
+ test_grab_crc(data, output,
+ crtc, &blue,
+ data->flags,
+ &ref_crc);
- test_plane_panning_with_output(data, pipe, output, &ref_crc, data->flags);
+ test_plane_panning_with_output(data,
+ crtc,
+ output, &ref_crc,
+ data->flags);
test_fini(data);
}
@@ -575,11 +574,9 @@ static const color_t colors_reduced[] = {
{ 0.0f, 1.0f, 1.0f, },
};
-static void set_legacy_lut(data_t *data, enum pipe pipe,
+static void set_legacy_lut(data_t *data, igt_crtc_t *crtc,
uint16_t mask)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
drmModeCrtc *drm_crtc;
uint16_t *lut;
int i, lut_size;
@@ -603,11 +600,9 @@ static void set_legacy_lut(data_t *data, enum pipe pipe,
free(lut);
}
-static bool set_c8_legacy_lut(data_t *data, enum pipe pipe,
+static bool set_c8_legacy_lut(data_t *data, igt_crtc_t *crtc,
uint16_t mask)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
drmModeCrtc *drm_crtc;
uint16_t *r, *g, *b;
int i, lut_size;
@@ -745,7 +740,7 @@ static void capture_crc(data_t *data, unsigned int vblank, igt_crc_t *crc)
crc->frame, vblank);
}
-static void capture_format_crcs_single(data_t *data, enum pipe pipe,
+static void capture_format_crcs_single(data_t *data, igt_crtc_t *crtc,
igt_plane_t *plane,
uint32_t format, uint64_t modifier,
int width, int height,
@@ -767,7 +762,7 @@ static void capture_format_crcs_single(data_t *data, enum pipe pipe,
igt_pipe_crc_get_current(data->drm_fd, data->pipe_crc, &crc[0]);
}
-static void capture_format_crcs_multiple(data_t *data, enum pipe pipe,
+static void capture_format_crcs_multiple(data_t *data, igt_crtc_t *crtc,
igt_plane_t *plane,
uint32_t format, uint64_t modifier,
int width, int height,
@@ -837,7 +832,9 @@ restart_round:
* is when the next flip latches.
*/
if (i >= 1)
- vblank[i - 1] = kmstest_get_vblank(data->drm_fd, pipe, 0) + 1;
+ vblank[i - 1] = kmstest_get_vblank(data->drm_fd,
+ crtc->pipe,
+ 0) + 1;
/*
* Can't use drmModePageFlip() since we need to
@@ -848,9 +845,7 @@ restart_round:
/* setplane for the cursor does not block */
if (plane->type == DRM_PLANE_TYPE_CURSOR) {
- igt_display_t *display = &data->display;
-
- igt_wait_for_vblank(igt_crtc_for_pipe(display, pipe));
+ igt_wait_for_vblank(crtc);
}
}
@@ -875,7 +870,8 @@ restart_round:
* The last crc is available earliest one
* frame after the last flip latched.
*/
- vblank[i - 1] = kmstest_get_vblank(data->drm_fd, pipe, 0) + 1;
+ vblank[i - 1] = kmstest_get_vblank(data->drm_fd, crtc->pipe,
+ 0) + 1;
}
/*
@@ -894,7 +890,7 @@ static bool use_multiple_colors(data_t *data, uint32_t format)
return data->extended || igt_format_is_yuv_semiplanar(format);
}
-static bool test_format_plane_colors(data_t *data, enum pipe pipe,
+static bool test_format_plane_colors(data_t *data, igt_crtc_t *crtc,
igt_plane_t *plane,
uint32_t format, uint64_t modifier,
int width, int height,
@@ -910,12 +906,18 @@ static bool test_format_plane_colors(data_t *data, enum pipe pipe,
int i, total_crcs = 1;
if (use_multiple_colors(data, format)) {
- capture_format_crcs_multiple(data, pipe, plane, format, modifier,
+ capture_format_crcs_multiple(data,
+ crtc,
+ plane, format,
+ modifier,
width, height, encoding, range, crc,
fb);
total_crcs = data->num_colors;
} else {
- capture_format_crcs_single(data, pipe, plane, format, modifier,
+ capture_format_crcs_single(data,
+ crtc,
+ plane, format,
+ modifier,
width, height, encoding, range, crc,
fb);
}
@@ -930,14 +932,14 @@ static bool test_format_plane_colors(data_t *data, enum pipe pipe,
igt_warn_on_f(crc_mismatch_count,
"CRC mismatches with format " IGT_FORMAT_FMT " on %s.%u with %d/%d solid colors tested (0x%X)\n",
- IGT_FORMAT_ARGS(format), kmstest_pipe_name(pipe),
+ IGT_FORMAT_ARGS(format), igt_crtc_name(crtc),
plane->index, crc_mismatch_count, data->num_colors,
crc_mismatch_mask);
return result;
}
-static bool test_format_plane_rgb(data_t *data, enum pipe pipe,
+static bool test_format_plane_rgb(data_t *data, igt_crtc_t *crtc,
igt_plane_t *plane,
uint32_t format, uint64_t modifier,
int width, int height,
@@ -946,9 +948,11 @@ static bool test_format_plane_rgb(data_t *data, enum pipe pipe,
{
igt_info("Testing format " IGT_FORMAT_FMT " / modifier " IGT_MODIFIER_FMT " on %s.%u\n",
IGT_FORMAT_ARGS(format), IGT_MODIFIER_ARGS(modifier),
- kmstest_pipe_name(pipe), plane->index);
+ igt_crtc_name(crtc), plane->index);
- return test_format_plane_colors(data, pipe, plane,
+ return test_format_plane_colors(data,
+ crtc,
+ plane,
format, modifier,
width, height,
IGT_COLOR_YCBCR_BT601,
@@ -956,7 +960,7 @@ static bool test_format_plane_rgb(data_t *data, enum pipe pipe,
ref_crc, fb);
}
-static bool test_format_plane_yuv(data_t *data, enum pipe pipe,
+static bool test_format_plane_yuv(data_t *data, igt_crtc_t *crtc,
igt_plane_t *plane,
uint32_t format, uint64_t modifier,
int width, int height,
@@ -991,10 +995,12 @@ static bool test_format_plane_yuv(data_t *data, enum pipe pipe,
IGT_MODIFIER_ARGS(modifier),
igt_color_encoding_to_str(e),
igt_color_range_to_str(r),
- kmstest_pipe_name(pipe),
+ igt_crtc_name(crtc),
plane->index);
- result &= test_format_plane_colors(data, pipe, plane,
+ result &= test_format_plane_colors(data,
+ crtc,
+ plane,
format, modifier,
width, height,
e, r, ref_crc, fb);
@@ -1090,7 +1096,7 @@ static bool skip_format_mod(data_t *data,
return false;
}
-static void test_format_plane(data_t *data, enum pipe pipe,
+static void test_format_plane(data_t *data, igt_crtc_t *crtc,
igt_output_t *output, igt_plane_t *plane, igt_fb_t *primary_fb)
{
struct igt_fb fb = {};
@@ -1141,22 +1147,28 @@ static void test_format_plane(data_t *data, enum pipe pipe,
igt_debug("Testing connector %s on %s plane %s.%u\n",
igt_output_name(output), kmstest_plane_type_name(plane->type),
- kmstest_pipe_name(pipe), plane->index);
+ igt_crtc_name(crtc), plane->index);
igt_pipe_crc_start(data->pipe_crc);
igt_info("Testing format " IGT_FORMAT_FMT " / modifier " IGT_MODIFIER_FMT " on %s.%u\n",
IGT_FORMAT_ARGS(ref.format), IGT_MODIFIER_ARGS(ref.modifier),
- kmstest_pipe_name(pipe), plane->index);
+ igt_crtc_name(crtc), plane->index);
check_allowed_plane_size_64x64(data, plane, &width, &height, ref.format);
- capture_format_crcs_single(data, pipe, plane, ref.format, ref.modifier,
+ capture_format_crcs_single(data,
+ crtc,
+ plane, ref.format,
+ ref.modifier,
width, height, IGT_COLOR_YCBCR_BT709,
IGT_COLOR_YCBCR_LIMITED_RANGE,
ref_crc[SINGLE_CRC_SET], &fb);
- capture_format_crcs_multiple(data, pipe, plane, ref.format, ref.modifier,
+ capture_format_crcs_multiple(data,
+ crtc,
+ plane, ref.format,
+ ref.modifier,
width, height, IGT_COLOR_YCBCR_BT709,
IGT_COLOR_YCBCR_LIMITED_RANGE,
ref_crc[MULTIPLE_CRC_SET], &fb);
@@ -1186,13 +1198,13 @@ static void test_format_plane(data_t *data, enum pipe pipe,
IGT_MODIFIER_FMT " on %s.%u\n",
IGT_FORMAT_ARGS(f.format),
IGT_MODIFIER_ARGS(f.modifier),
- kmstest_pipe_name(pipe),
+ igt_crtc_name(crtc),
plane->index);
continue;
}
if (f.format == DRM_FORMAT_C8) {
- if (!set_c8_legacy_lut(data, pipe, LUT_MASK))
+ if (!set_c8_legacy_lut(data, crtc, LUT_MASK))
continue;
} else {
if (!igt_fb_supported_format(f.format))
@@ -1203,18 +1215,24 @@ static void test_format_plane(data_t *data, enum pipe pipe,
MULTIPLE_CRC_SET : SINGLE_CRC_SET];
if (igt_format_is_yuv(f.format))
- result &= test_format_plane_yuv(data, pipe, plane,
+ result &= test_format_plane_yuv(data,
+ crtc,
+ plane,
f.format, f.modifier,
width, height,
crcset, &fb);
else
- result &= test_format_plane_rgb(data, pipe, plane,
+ result &= test_format_plane_rgb(data,
+ crtc,
+ plane,
f.format, f.modifier,
width, height,
crcset, &fb);
if (f.format == DRM_FORMAT_C8)
- set_legacy_lut(data, pipe, LUT_MASK);
+ set_legacy_lut(data,
+ crtc,
+ LUT_MASK);
}
igt_pipe_crc_stop(data->pipe_crc);
@@ -1265,10 +1283,8 @@ static bool skip_plane(data_t *data, igt_plane_t *plane)
}
static void
-test_pixel_formats(data_t *data, enum pipe pipe)
+test_pixel_formats(data_t *data, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
struct igt_fb primary_fb;
igt_plane_t *primary;
drmModeModeInfo *mode;
@@ -1286,7 +1302,7 @@ test_pixel_formats(data_t *data, enum pipe pipe)
igt_info("Using (pipe %s + %s) to run the subtest.\n",
igt_crtc_name(crtc), igt_output_name(output));
- test_init(data, crtc->pipe);
+ test_init(data, crtc);
mode = igt_output_get_mode(output);
@@ -1299,20 +1315,22 @@ test_pixel_formats(data_t *data, enum pipe pipe)
igt_display_commit2(&data->display, data->display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
- set_legacy_lut(data, crtc->pipe, LUT_MASK);
+ set_legacy_lut(data, crtc, LUT_MASK);
for_each_plane_on_pipe(&data->display, crtc->pipe, plane) {
if (skip_plane(data, plane))
continue;
igt_dynamic_f("pipe-%s-plane-%u", igt_crtc_name(crtc),
plane->index)
- test_format_plane(data, crtc->pipe, output, plane,
+ test_format_plane(data,
+ crtc,
+ output, plane,
&primary_fb);
}
test_fini(data);
- set_legacy_lut(data, crtc->pipe, 0xffff);
+ set_legacy_lut(data, crtc, 0xffff);
igt_plane_set_fb(primary, NULL);
igt_output_set_crtc(output, NULL);
@@ -1324,7 +1342,7 @@ test_pixel_formats(data_t *data, enum pipe pipe)
static void test_planar_settings(data_t *data)
{
igt_display_t *display = &data->display;
- enum pipe pipe = PIPE_A;
+ igt_crtc_t *crtc = igt_crtc_for_pipe(display, PIPE_A);
igt_output_t *output;
igt_fb_t fb, fb_ref;
igt_plane_t *primary;
@@ -1346,10 +1364,10 @@ static void test_planar_settings(data_t *data)
igt_require(display_ver >= 9);
}
- output = igt_get_single_output_for_pipe(&data->display, pipe);
+ output = igt_get_single_output_for_pipe(&data->display, crtc->pipe);
igt_require(output);
- igt_output_set_crtc(output, igt_crtc_for_pipe(display, pipe));
+ igt_output_set_crtc(output, crtc);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
igt_display_commit_atomic(&data->display,
@@ -1443,10 +1461,12 @@ static void test_planar_settings(data_t *data)
DRM_MODE_ATOMIC_ALLOW_MODESET,
NULL);
if (rval == 0) {
- set_legacy_lut(data, pipe, LUT_MASK);
- igt_wait_for_vblank_count(igt_crtc_for_pipe(display, pipe),
+ set_legacy_lut(data,
+ crtc,
+ LUT_MASK);
+ igt_wait_for_vblank_count(crtc,
1);
- data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(display, pipe),
+ data->pipe_crc = igt_crtc_crc_new(crtc,
IGT_PIPE_CRC_SOURCE_AUTO);
igt_pipe_crc_collect_crc(data->pipe_crc, &crc);
@@ -1461,7 +1481,9 @@ static void test_planar_settings(data_t *data)
NULL);
igt_pipe_crc_collect_crc(data->pipe_crc, &crc_ref);
- set_legacy_lut(data, pipe, 0xffff);
+ set_legacy_lut(data,
+ crtc,
+ 0xffff);
igt_pipe_crc_free(data->pipe_crc);
data->pipe_crc = NULL;
@@ -1485,7 +1507,7 @@ static bool is_pipe_limit_reached(int count)
return count >= CRTC_RESTRICT_CNT && !all_pipes;
}
-static void run_test(data_t *data, void (*test)(data_t *, enum pipe))
+static void run_test(data_t *data, void (*test)(data_t *, igt_crtc_t *crtc))
{
igt_crtc_t *crtc;
int count = 0;
@@ -1499,17 +1521,18 @@ static void run_test(data_t *data, void (*test)(data_t *, enum pipe))
continue;
igt_output_set_crtc(data->output, NULL);
- test(data, crtc->pipe);
+ test(data, crtc);
if (is_pipe_limit_reached(++count))
break;
}
}
-static void dynamic_test_handler(data_t *data, enum pipe pipe)
+static void dynamic_test_handler(data_t *data, igt_crtc_t *crtc)
{
- igt_dynamic_f("pipe-%s", kmstest_pipe_name(pipe))
- test_plane_panning(data, pipe);
+ igt_dynamic_f("pipe-%s", igt_crtc_name(crtc))
+ test_plane_panning(data,
+ crtc);
}
static void
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 12/17] tests/intel/kms_pipe_b_c_ivb: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (10 preceding siblings ...)
2026-02-11 16:33 ` [PATCH i-g-t 11/17] tests/kms_plane: " Ville Syrjala
@ 2026-02-11 16:33 ` Ville Syrjala
2026-02-11 16:34 ` [PATCH i-g-t 13/17] tests/kms_vrr: " Ville Syrjala
` (9 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:33 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Convert the use of enum pipe to igt_crtc_t in
tests/intel/kms_pipe_b_c_ivb.
This test wants to specifically use pipes B and C,
thus we are left with a few igt_crtc_for_pipe()
calls even after the conversion.
#include "scripts/iterators.cocci"
@func1@
typedef igt_crtc_t;
identifier FUNC, PIPE, CRTC;
parameter list[N] P;
@@
FUNC(P
- ,enum pipe PIPE
+ ,igt_crtc_t *CRTC
,...)
{
...
(
- igt_crtc_t *CRTC = igt_crtc_for_pipe(..., PIPE);
|
- igt_crtc_t *CRTC;
... when != PIPE = ...
- CRTC = igt_crtc_for_pipe(..., PIPE);
)
<... when != PIPE = ...
(
- igt_crtc_for_pipe(..., PIPE)
+ CRTC
|
- kmsetst_crtc_name(PIPE)
+ igt_crtc_name(CRTC)
|
- PIPE
+ CRTC->pipe
)
...>
}
@depends on func1@
identifier func1.FUNC;
expression list[func1.N] EP;
expression PIPE;
@@
FUNC(EP
- ,PIPE
+ ,igt_crtc_for_pipe(&data->display, PIPE)
,...)
@func2@
typedef igt_crtc_t;
identifier FUNC, PIPE;
parameter list[N] P;
@@
FUNC(P
- ,enum pipe PIPE
+ ,igt_crtc_t *crtc
,...)
{
<+... when != PIPE = ...
(
- igt_crtc_for_pipe(..., PIPE)
+ crtc
|
- kmsetst_crtc_name(PIPE)
+ igt_crtc_name(crtc)
|
- PIPE
+ crtc->pipe
)
...+>
}
@depends on func2@
identifier func2.FUNC;
expression list[func2.N] EP;
expression PIPE;
@@
FUNC(EP
- ,PIPE
+ ,igt_crtc_for_pipe(&data->display, PIPE)
,...)
@@
identifier FUNC;
expression DISPLAY;
@@
FUNC(...)
{
+ igt_crtc_t *crtc_b = igt_crtc_for_pipe(DISPLAY, PIPE_B);
+ igt_crtc_t *crtc_c = igt_crtc_for_pipe(DISPLAY, PIPE_C);
<+...
(
- igt_crtc_for_pipe(DISPLAY, PIPE_B)
+ crtc_b
|
- igt_crtc_for_pipe(DISPLAY, PIPE_C)
+ crtc_c
)
...+>
}
@@
identifier CRTC;
expression PIPE;
@@
igt_crtc_t *CRTC = igt_crtc_for_pipe(..., PIPE);
<+...
(
- kmstest_pipe_name(PIPE)
+ igt_crtc_name(CRTC)
|
- PIPE
+ CRTC->pipe
)
...+>
@@
igt_crtc_t *CRTC;
@@
- igt_crtc_for_pipe(..., CRTC->pipe)
+ CRTC
@@
typedef igt_display_t;
identifier DISPLAY;
@@
- igt_display_t *DISPLAY = ...;
... when != DISPLAY
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/intel/kms_pipe_b_c_ivb.c | 102 ++++++++++++++++++++++-----------
1 file changed, 68 insertions(+), 34 deletions(-)
diff --git a/tests/intel/kms_pipe_b_c_ivb.c b/tests/intel/kms_pipe_b_c_ivb.c
index 184d3b38fee7..d5c1ab3ff758 100644
--- a/tests/intel/kms_pipe_b_c_ivb.c
+++ b/tests/intel/kms_pipe_b_c_ivb.c
@@ -98,10 +98,8 @@ drmModeModeInfo mode_2_lanes = {
};
static int
-disable_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
+disable_pipe(data_t *data, igt_crtc_t *crtc, igt_output_t *output)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_plane_t *primary;
igt_output_set_crtc(output, crtc);
@@ -111,10 +109,8 @@ disable_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
}
static int
-set_mode_on_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
+set_mode_on_pipe(data_t *data, igt_crtc_t *crtc, igt_output_t *output)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_plane_t *primary;
drmModeModeInfo *mode;
struct igt_fb fb;
@@ -137,17 +133,19 @@ set_mode_on_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
}
static int
-set_big_mode_on_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
+set_big_mode_on_pipe(data_t *data, igt_crtc_t *crtc, igt_output_t *output)
{
igt_output_override_mode(output, &mode_3_lanes);
- return set_mode_on_pipe(data, pipe, output);
+ return set_mode_on_pipe(data, crtc,
+ output);
}
static int
-set_normal_mode_on_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
+set_normal_mode_on_pipe(data_t *data, igt_crtc_t *crtc, igt_output_t *output)
{
igt_output_override_mode(output, &mode_2_lanes);
- return set_mode_on_pipe(data, pipe, output);
+ return set_mode_on_pipe(data, crtc,
+ output);
}
static void
@@ -175,6 +173,8 @@ find_outputs(data_t *data, igt_output_t **output1, igt_output_t **output2)
static void
test_dpms(data_t *data)
{
+ igt_crtc_t *crtc_b = igt_crtc_for_pipe(&data->display, PIPE_B);
+ igt_crtc_t *crtc_c = igt_crtc_for_pipe(&data->display, PIPE_C);
igt_output_t *output1, *output2;
int ret;
@@ -182,22 +182,28 @@ test_dpms(data_t *data)
find_outputs(data, &output1, &output2);
igt_info("Pipe %s will use connector %s\n",
- kmstest_pipe_name(PIPE_B), igt_output_name(output1));
+ igt_crtc_name(crtc_b), igt_output_name(output1));
igt_info("Pipe %s will use connector %s\n",
- kmstest_pipe_name(PIPE_C), igt_output_name(output2));
+ igt_crtc_name(crtc_c), igt_output_name(output2));
- ret = set_big_mode_on_pipe(data, PIPE_B, output1);
+ ret = set_big_mode_on_pipe(data,
+ crtc_b,
+ output1);
igt_assert_eq(ret, 0);
kmstest_set_connector_dpms(data->drm_fd, output1->config.connector, DRM_MODE_DPMS_OFF);
- ret = set_big_mode_on_pipe(data, PIPE_C, output2);
+ ret = set_big_mode_on_pipe(data,
+ crtc_c,
+ output2);
igt_assert_neq(ret, 0);
}
static void
test_lane_reduction(data_t *data)
{
+ igt_crtc_t *crtc_b = igt_crtc_for_pipe(&data->display, PIPE_B);
+ igt_crtc_t *crtc_c = igt_crtc_for_pipe(&data->display, PIPE_C);
igt_output_t *output1, *output2;
int ret;
@@ -206,23 +212,31 @@ test_lane_reduction(data_t *data)
find_outputs(data, &output1, &output2);
igt_info("Pipe %s will use connector %s\n",
- kmstest_pipe_name(PIPE_B), igt_output_name(output1));
+ igt_crtc_name(crtc_b), igt_output_name(output1));
igt_info("Pipe %s will use connector %s\n",
- kmstest_pipe_name(PIPE_C), igt_output_name(output2));
+ igt_crtc_name(crtc_c), igt_output_name(output2));
- ret = set_big_mode_on_pipe(data, PIPE_B, output1);
+ ret = set_big_mode_on_pipe(data,
+ crtc_b,
+ output1);
igt_assert_eq(ret, 0);
- ret = set_normal_mode_on_pipe(data, PIPE_B, output1);
+ ret = set_normal_mode_on_pipe(data,
+ crtc_b,
+ output1);
igt_assert_eq(ret, 0);
- ret = set_normal_mode_on_pipe(data, PIPE_C, output2);
+ ret = set_normal_mode_on_pipe(data,
+ crtc_c,
+ output2);
igt_assert_eq(ret, 0);
}
static void
test_disable_pipe_B(data_t *data)
{
+ igt_crtc_t *crtc_b = igt_crtc_for_pipe(&data->display, PIPE_B);
+ igt_crtc_t *crtc_c = igt_crtc_for_pipe(&data->display, PIPE_C);
igt_output_t *output1, *output2;
int ret;
@@ -230,26 +244,35 @@ test_disable_pipe_B(data_t *data)
find_outputs(data, &output1, &output2);
igt_info("Pipe %s will use connector %s\n",
- kmstest_pipe_name(PIPE_B), igt_output_name(output1));
+ igt_crtc_name(crtc_b), igt_output_name(output1));
igt_info("Pipe %s will use connector %s\n",
- kmstest_pipe_name(PIPE_C), igt_output_name(output2));
+ igt_crtc_name(crtc_c), igt_output_name(output2));
- ret = set_big_mode_on_pipe(data, PIPE_B, output1);
+ ret = set_big_mode_on_pipe(data,
+ crtc_b,
+ output1);
igt_assert_eq(ret, 0);
- ret = disable_pipe(data, PIPE_B, output1);
+ ret = disable_pipe(data, crtc_b,
+ output1);
igt_assert_eq(ret, 0);
- ret = set_normal_mode_on_pipe(data, PIPE_C, output2);
+ ret = set_normal_mode_on_pipe(data,
+ crtc_c,
+ output2);
igt_assert_eq(ret, 0);
- ret = set_normal_mode_on_pipe(data, PIPE_B, output1);
+ ret = set_normal_mode_on_pipe(data,
+ crtc_b,
+ output1);
igt_assert_eq(ret, 0);
}
static void
test_from_C_to_B_with_3_lanes(data_t *data)
{
+ igt_crtc_t *crtc_b = igt_crtc_for_pipe(&data->display, PIPE_B);
+ igt_crtc_t *crtc_c = igt_crtc_for_pipe(&data->display, PIPE_C);
igt_output_t *output1, *output2;
int ret;
@@ -257,23 +280,30 @@ test_from_C_to_B_with_3_lanes(data_t *data)
find_outputs(data, &output1, &output2);
igt_info("Pipe %s will use connector %s\n",
- kmstest_pipe_name(PIPE_B), igt_output_name(output1));
+ igt_crtc_name(crtc_b), igt_output_name(output1));
igt_info("Pipe %s will use connector %s\n",
- kmstest_pipe_name(PIPE_C), igt_output_name(output2));
+ igt_crtc_name(crtc_c), igt_output_name(output2));
- ret = set_normal_mode_on_pipe(data, PIPE_C, output2);
+ ret = set_normal_mode_on_pipe(data,
+ crtc_c,
+ output2);
igt_assert_eq(ret, 0);
- ret = disable_pipe(data, PIPE_C, output2);
+ ret = disable_pipe(data, crtc_c,
+ output2);
igt_assert_eq(ret, 0);
- ret = set_big_mode_on_pipe(data, PIPE_B, output1);
+ ret = set_big_mode_on_pipe(data,
+ crtc_b,
+ output1);
igt_assert_eq(ret, 0);
}
static void
test_fail_enable_pipe_C_while_B_has_3_lanes(data_t *data)
{
+ igt_crtc_t *crtc_b = igt_crtc_for_pipe(&data->display, PIPE_B);
+ igt_crtc_t *crtc_c = igt_crtc_for_pipe(&data->display, PIPE_C);
igt_output_t *output1, *output2;
int ret;
@@ -281,14 +311,18 @@ test_fail_enable_pipe_C_while_B_has_3_lanes(data_t *data)
find_outputs(data, &output1, &output2);
igt_info("Pipe %s will use connector %s\n",
- kmstest_pipe_name(PIPE_B), igt_output_name(output1));
+ igt_crtc_name(crtc_b), igt_output_name(output1));
igt_info("Pipe %s will use connector %s\n",
- kmstest_pipe_name(PIPE_C), igt_output_name(output2));
+ igt_crtc_name(crtc_c), igt_output_name(output2));
- ret = set_big_mode_on_pipe(data, PIPE_B, output1);
+ ret = set_big_mode_on_pipe(data,
+ crtc_b,
+ output1);
igt_assert_eq(ret, 0);
- ret = set_normal_mode_on_pipe(data, PIPE_C, output2);
+ ret = set_normal_mode_on_pipe(data,
+ crtc_c,
+ output2);
igt_assert_neq(ret, 0);
}
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 13/17] tests/kms_vrr: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (11 preceding siblings ...)
2026-02-11 16:33 ` [PATCH i-g-t 12/17] tests/intel/kms_pipe_b_c_ivb: " Ville Syrjala
@ 2026-02-11 16:34 ` Ville Syrjala
2026-02-11 16:34 ` [PATCH i-g-t 14/17] tests/kms_display_modes: " Ville Syrjala
` (8 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:34 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Convert the use of enum pipe to igt_crtc_t in
tests/kms_vrr.
The use of function pointers makes this a bit more
complicated than your average test.
#include "scripts/iterators.cocci"
@func@
typedef igt_crtc_t;
identifier FUNC;
identifier PIPE;
parameter list[N] P;
@@
FUNC(P
- ,enum pipe PIPE
+ ,igt_crtc_t *crtc
,...)
{
<...
(
- igt_crtc_for_pipe(..., PIPE)
+ crtc
|
- kmstest_pipe_name(PIPE)
+ igt_crtc_name(crtc)
|
- PIPE
+ crtc->pipe
)
...>
}
@depends on func@
identifier func.FUNC;
expression list[func.N] EP;
expression PIPE;
@@
FUNC(EP
- ,PIPE
+ ,igt_crtc_for_pipe(display, PIPE)
,...)
@@
identifier FUNC, CRTC;
@@
FUNC(..., igt_crtc_t *CRTC, ...)
{
...
(
- igt_crtc_t *CRTC = CRTC;
|
- igt_crtc_t *CRTC = igt_crtc_for_pipe(...);
|
- igt_crtc_t *CRTC;
...
- CRTC = igt_crtc_for_pipe(...);
)
...
}
@func_ptr@
parameter list[N] P;
type T, FT;
@@
typedef T (*FT)(P
- ,enum pipe
+ ,igt_crtc_t *crtc
,...);
@depends on func_ptr@
func_ptr.FT FUNC;
expression list[func_ptr.N] EP;
expression PIPE;
@@
FUNC(EP
- ,PIPE
+ ,igt_crtc_for_pipe(display, PIPE)
,...)
@@
igt_crtc_t *CRTC;
@@
- igt_crtc_for_pipe(..., CRTC->pipe)
+ CRTC
@@
identifier DISPLAY;
expression E;
@@
- igt_display_t *DISPLAY = E;
... when != DISPLAY
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/kms_vrr.c | 66 ++++++++++++++++++++++++++++---------------------
1 file changed, 38 insertions(+), 28 deletions(-)
diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c
index 55671c71e095..f500d7a59120 100644
--- a/tests/kms_vrr.c
+++ b/tests/kms_vrr.c
@@ -158,7 +158,7 @@ typedef struct data {
uint32_t flag;
} data_t;
-typedef void (*test_t)(data_t*, enum pipe, igt_output_t*, uint32_t);
+typedef void (*test_t)(data_t*, igt_crtc_t *crtc, igt_output_t*, uint32_t);
/* Converts a timespec structure to nanoseconds. */
static uint64_t timespec_to_ns(struct timespec *ts)
@@ -306,11 +306,9 @@ static bool vrr_capable(igt_output_t *output)
}
/* Toggles variable refresh rate on the pipe. */
-static void set_vrr_on_pipe(data_t *data, enum pipe pipe,
+static void set_vrr_on_pipe(data_t *data, igt_crtc_t *crtc,
bool need_modeset, bool enabled)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_crtc_set_prop_value(crtc,
IGT_CRTC_VRR_ENABLED,
enabled);
@@ -339,10 +337,8 @@ static void paint_bar(cairo_t *cr, unsigned int x, unsigned int y,
}
/* Prepare the display for testing on the given pipe. */
-static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe)
+static void prepare_test(data_t *data, igt_output_t *output, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
unsigned int num_bars = 256;
drmModeModeInfo mode;
cairo_t *cr;
@@ -657,24 +653,26 @@ flip_and_measure_cmrr(data_t *data, igt_output_t *output,
/* Basic VRR flip functionality test - enable, measure, disable, measure */
static void
-test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
+test_basic(data_t *data, igt_crtc_t *crtc, igt_output_t *output,
+ uint32_t flags)
{
uint32_t result;
vtest_ns_t vtest_ns;
range_t range;
uint64_t rate[] = {0};
- prepare_test(data, output, pipe);
+ prepare_test(data, output, crtc);
range = data->range;
vtest_ns = data->vtest_ns;
rate[0] = vtest_ns.rate_ns;
igt_info("VRR Test execution on %s, PIPE_%s with VRR range: (%u-%u) Hz\n",
- output->name, kmstest_pipe_name(pipe), range.min, range.max);
+ output->name, igt_crtc_name(crtc), range.min, range.max);
igt_info("Override Mode: ");
kmstest_dump_mode(&data->switch_modes[HIGH_RR_MODE]);
- set_vrr_on_pipe(data, pipe, !(flags & TEST_FASTSET), true);
+ set_vrr_on_pipe(data, crtc,
+ !(flags & TEST_FASTSET), true);
/*
* Do a short run with VRR, but don't check the result.
@@ -756,7 +754,9 @@ test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
* modeset. And the expected behavior is the same as disabling VRR on
* a VRR capable panel.
*/
- set_vrr_on_pipe(data, pipe, !(flags & TEST_FASTSET), (flags & TEST_NEGATIVE) ? true : false);
+ set_vrr_on_pipe(data, crtc,
+ !(flags & TEST_FASTSET),
+ (flags & TEST_NEGATIVE) ? true : false);
rate[0] = vtest_ns.rate_ns;
result = flip_and_measure(data, output, rate, 1, data->duration_ns);
igt_assert_f(result < 10,
@@ -765,7 +765,8 @@ test_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
}
static void
-test_seamless_rr_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
+test_seamless_rr_basic(data_t *data, igt_crtc_t *crtc, igt_output_t *output,
+ uint32_t flags)
{
uint32_t result;
vtest_ns_t vtest_ns;
@@ -775,11 +776,12 @@ test_seamless_rr_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint3
igt_info("Use HIGH_RR Mode as default (VRR: %s): ", vrr ? "ON" : "OFF");
kmstest_dump_mode(&data->switch_modes[HIGH_RR_MODE]);
- prepare_test(data, output, pipe);
+ prepare_test(data, output, crtc);
vtest_ns = data->vtest_ns;
if (vrr)
- set_vrr_on_pipe(data, pipe, false, true);
+ set_vrr_on_pipe(data, crtc,
+ false, true);
else {
/*
* Sink with DRRS and VRR can be in downclock mode.
@@ -822,7 +824,8 @@ test_seamless_rr_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint3
}
static void
-test_seamless_virtual_rr_basic(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
+test_seamless_virtual_rr_basic(data_t *data, igt_crtc_t *crtc,
+ igt_output_t *output, uint32_t flags)
{
uint32_t result;
unsigned int vrefresh;
@@ -833,7 +836,7 @@ test_seamless_virtual_rr_basic(data_t *data, enum pipe pipe, igt_output_t *outpu
igt_info("Use HIGH_RR Mode as default\n");
kmstest_dump_mode(&data->switch_modes[HIGH_RR_MODE]);
- prepare_test(data, output, pipe);
+ prepare_test(data, output, crtc);
rate[0] = igt_kms_frame_time_from_vrefresh(data->switch_modes[HIGH_RR_MODE].vrefresh);
/*
@@ -889,18 +892,20 @@ test_seamless_virtual_rr_basic(data_t *data, enum pipe pipe, igt_output_t *outpu
*/
static void
-test_lobf(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
+test_lobf(data_t *data, igt_crtc_t *crtc, igt_output_t *output,
+ uint32_t flags)
{
uint64_t rate[] = {0};
uint32_t step_size, vrefresh;
bool lobf_enabled = false;
rate[0] = igt_kms_frame_time_from_vrefresh(data->switch_modes[HIGH_RR_MODE].vrefresh);
- prepare_test(data, output, pipe);
+ prepare_test(data, output, crtc);
data->flag |= flags;
igt_info("LOBF test execution on %s, PIPE %s with VRR range: (%u-%u) Hz\n",
- output->name, kmstest_pipe_name(pipe), data->range.min, data->range.max);
+ output->name, igt_crtc_name(crtc), data->range.min,
+ data->range.max);
igt_output_override_mode(output, &data->switch_modes[HIGH_RR_MODE]);
flip_and_measure(data, output, rate, 1, TEST_DURATION_NS);
@@ -928,7 +933,8 @@ test_lobf(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
}
static void
-test_cmrr(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
+test_cmrr(data_t *data, igt_crtc_t *crtc, igt_output_t *output,
+ uint32_t flags)
{
uint32_t result;
int i;
@@ -937,7 +943,8 @@ test_cmrr(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
drmModeModeInfo mode = *igt_output_get_mode(output);
igt_info("CMRR test execution on %s, PIPE_%s with VRR range: (%u-%u) Hz\n",
- output->name, kmstest_pipe_name(pipe), data->range.min, data->range.max);
+ output->name, igt_crtc_name(crtc), data->range.min,
+ data->range.max);
for (i = 0; i < connector->count_modes; i++) {
if (is_cmrr_mode(&connector->modes[i])) {
@@ -963,7 +970,8 @@ test_cmrr(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
igt_output_override_mode(output, &mode);
if (!igt_display_try_commit2(&data->display, COMMIT_ATOMIC)) {
- prepare_test(data, output, pipe);
+ prepare_test(data, output,
+ crtc);
result = flip_and_measure_cmrr(data, output, TEST_DURATION_NS * 2);
igt_assert_f(result > 75,
"Refresh rate (%u Hz) %"PRIu64"ns: Target CMRR on threshold not reached, result was %u%%\n",
@@ -972,10 +980,8 @@ test_cmrr(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t flags)
}
}
-static void test_cleanup(data_t *data, enum pipe pipe, igt_output_t *output)
+static void test_cleanup(data_t *data, igt_crtc_t *crtc, igt_output_t *output)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_crtc_set_prop_value(crtc,
IGT_CRTC_VRR_ENABLED, false);
@@ -1112,9 +1118,13 @@ run_vrr_test(data_t *data, test_t test, uint32_t flags)
igt_dynamic_f("pipe-%s-%s",
igt_crtc_name(crtc), output->name)
- test(data, crtc->pipe, output, flags);
+ test(data,
+ crtc,
+ output, flags);
- test_cleanup(data, crtc->pipe, output);
+ test_cleanup(data,
+ crtc,
+ output);
break;
}
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 14/17] tests/kms_display_modes: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (12 preceding siblings ...)
2026-02-11 16:34 ` [PATCH i-g-t 13/17] tests/kms_vrr: " Ville Syrjala
@ 2026-02-11 16:34 ` Ville Syrjala
2026-02-11 16:34 ` [PATCH i-g-t 15/17] tests/kms_rotation_crc: " Ville Syrjala
` (7 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:34 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Convert the use of enum pipe to igt_crtc_t in
tests/kms_display_modes.
The complication here is the use of multiple pipes/crtcs
simultaneously.
#include "scripts/iterators.cocci"
@func@
typedef igt_crtc_t;
identifier FUNC, PIPE1, PIPE2;
parameter list[N] P;
parameter list[N2] P2;
@@
FUNC(P
- ,enum pipe PIPE1
+ ,igt_crtc_t *crtc1
,P2
- ,enum pipe PIPE2
+ ,igt_crtc_t *crtc2
,...)
{
<+...
(
- igt_crtc_for_pipe(..., PIPE1)
+ crtc1
|
- kmsetst_crtc_name(PIPE1)
+ igt_crtc_name(crtc1)
|
- PIPE1
+ crtc1->pipe
|
- igt_crtc_for_pipe(..., PIPE2)
+ crtc2
|
- kmsetst_crtc_name(PIPE2)
+ igt_crtc_name(crtc2)
|
- PIPE2
+ crtc2->pipe
)
...+>
}
@depends on func@
identifier func.FUNC;
expression PIPE1, PIPE2;
expression list[func.N] EP;
expression list[func.N2] EP2;
@@
FUNC(EP
- ,PIPE1
+ ,igt_crtc_for_pipe(display, PIPE1)
,EP2
- ,PIPE2
+ ,igt_crtc_for_pipe(display, PIPE2)
,...)
@@
igt_crtc_t *CRTC;
@@
- igt_crtc_for_pipe(..., CRTC->pipe)
+ CRTC
@@
typedef igt_display_t;
identifier DISPLAY;
expression E;
@@
- igt_display_t *DISPLAY = E;
... when != DISPLAY
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/kms_display_modes.c | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c
index f3888375c966..60585bed0218 100644
--- a/tests/kms_display_modes.c
+++ b/tests/kms_display_modes.c
@@ -72,9 +72,9 @@ static bool output_is_dp_mst(data_t *data, igt_output_t *output, int i)
return true;
}
-static void run_extendedmode_basic(data_t *data,
- enum pipe pipe1, igt_output_t *output1,
- enum pipe pipe2, igt_output_t *output2)
+static void run_extendedmode_basic(data_t *data, igt_crtc_t *crtc1,
+ igt_output_t *output1, igt_crtc_t *crtc2,
+ igt_output_t *output2)
{
struct igt_fb fb, fbs[2];
drmModeModeInfo *mode[2];
@@ -88,18 +88,18 @@ static void run_extendedmode_basic(data_t *data,
igt_display_reset(display);
igt_output_set_crtc(output1,
- igt_crtc_for_pipe(display, pipe1));
+ crtc1);
igt_output_set_crtc(output2,
- igt_crtc_for_pipe(display, pipe2));
+ crtc2);
mode[0] = igt_output_get_mode(output1);
mode[1] = igt_output_get_mode(output2);
igt_assert_f(igt_fit_modes_in_bw(display), "Unable to fit modes in bw\n");
- pipe_crc[0] = igt_crtc_crc_new(igt_crtc_for_pipe(display, pipe1),
+ pipe_crc[0] = igt_crtc_crc_new(crtc1,
IGT_PIPE_CRC_SOURCE_AUTO);
- pipe_crc[1] = igt_crtc_crc_new(igt_crtc_for_pipe(display, pipe2),
+ pipe_crc[1] = igt_crtc_crc_new(crtc2,
IGT_PIPE_CRC_SOURCE_AUTO);
igt_create_color_fb(data->drm_fd, mode[0]->hdisplay, mode[0]->vdisplay,
@@ -107,9 +107,9 @@ static void run_extendedmode_basic(data_t *data,
igt_create_color_fb(data->drm_fd, mode[1]->hdisplay, mode[1]->vdisplay,
DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0, 0, 1, &fbs[1]);
- plane[0] = igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe1),
+ plane[0] = igt_crtc_get_plane_type(crtc1,
DRM_PLANE_TYPE_PRIMARY);
- plane[1] = igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe2),
+ plane[1] = igt_crtc_get_plane_type(crtc2,
DRM_PLANE_TYPE_PRIMARY);
igt_plane_set_fb(plane[0], &fbs[0]);
@@ -163,10 +163,10 @@ static void run_extendedmode_basic(data_t *data,
igt_output_set_crtc(output1, NULL);
igt_output_set_crtc(output2, NULL);
- igt_plane_set_fb(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe1),
+ igt_plane_set_fb(igt_crtc_get_plane_type(crtc1,
DRM_PLANE_TYPE_PRIMARY),
NULL);
- igt_plane_set_fb(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe2),
+ igt_plane_set_fb(igt_crtc_get_plane_type(crtc2,
DRM_PLANE_TYPE_PRIMARY),
NULL);
igt_assert_f(igt_fit_modes_in_bw(display), "Unable to fit modes in bw\n");
@@ -224,10 +224,10 @@ static void run_extendedmode_test(data_t *data) {
igt_crtc_name(crtc2),
igt_output_name(output2))
run_extendedmode_basic(data,
- crtc->pipe,
- output1,
- crtc2->pipe,
- output2);
+ crtc,
+ output1,
+ crtc2,
+ output2);
}
}
/*
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 15/17] tests/kms_rotation_crc: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (13 preceding siblings ...)
2026-02-11 16:34 ` [PATCH i-g-t 14/17] tests/kms_display_modes: " Ville Syrjala
@ 2026-02-11 16:34 ` Ville Syrjala
2026-02-11 16:34 ` [PATCH i-g-t 16/17] tests/kms_properties: " Ville Syrjala
` (6 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:34 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Convert the use of enum pipe to igt_crtc_t in
tests/kms_rotation_crc.
The oddball thing here is the explicit use of PIPE_A
for some of the tests. Thus we are left with a few
igt_crtc_for_pipe() calls even after the tests. Someone
should probably review what this test actually doing and
try do something a bit more sensible.
#include "scripts/iterators.cocci"
@func1@
typedef igt_crtc_t;
identifier FUNC, PIPE, CRTC;
parameter list[N] P;
@@
FUNC(P
- ,enum pipe PIPE
+ ,igt_crtc_t *CRTC
,...)
{
...
(
- igt_crtc_t *CRTC = igt_crtc_for_pipe(..., PIPE);
|
- igt_crtc_t *CRTC;
... when != PIPE = ...
- CRTC = igt_crtc_for_pipe(..., PIPE);
)
<... when != PIPE = ...
(
- igt_crtc_for_pipe(..., PIPE)
+ CRTC
|
- kmsetst_crtc_name(PIPE)
+ igt_crtc_name(CRTC)
|
- PIPE
+ CRTC->pipe
)
...>
}
@depends on func1@
identifier func1.FUNC;
expression PIPE;
expression list[func1.N] EP;
@@
FUNC(EP
- ,PIPE
+ ,igt_crtc_for_pipe(&data.display, PIPE)
,...)
@func2@
typedef igt_crtc_t;
identifier FUNC, PIPE;
parameter list[N] P;
@@
FUNC(P
- ,enum pipe PIPE
+ ,igt_crtc_t *crtc
,...)
{
<+... when != PIPE = ...
(
- igt_crtc_for_pipe(..., PIPE)
+ crtc
|
- kmsetst_crtc_name(PIPE)
+ igt_crtc_name(crtc)
|
- PIPE
+ crtc->pipe
)
...+>
}
@depends on func2@
identifier func2.FUNC;
expression PIPE;
expression list[func2.N] EP;
@@
FUNC(EP
- ,PIPE
+ ,igt_crtc_for_pipe(&data.display, PIPE)
,...)
@@
igt_crtc_t *CRTC;
@@
- igt_crtc_for_pipe(..., CRTC->pipe)
+ CRTC
@@
typedef igt_display_t;
identifier DISPLAY;
@@
- igt_display_t *DISPLAY = ...;
... when != DISPLAY
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/kms_rotation_crc.c | 42 ++++++++++++++++++++++++----------------
1 file changed, 25 insertions(+), 17 deletions(-)
diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
index 8721a8311b8c..cd0873b3bf8d 100644
--- a/tests/kms_rotation_crc.c
+++ b/tests/kms_rotation_crc.c
@@ -292,11 +292,10 @@ static void cleanup_crtc(data_t *data)
igt_display_reset(display);
}
-static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
+static void prepare_crtc(data_t *data, igt_output_t *output, igt_crtc_t *crtc,
igt_plane_t *plane, bool start_crc)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
cleanup_crtc(data);
@@ -462,13 +461,12 @@ static void prepare_fbs(data_t *data, igt_output_t *output,
igt_plane_set_position(plane, data->pos_x, data->pos_y);
}
-static void test_single_case(data_t *data, enum pipe pipe,
+static void test_single_case(data_t *data, igt_crtc_t *crtc,
igt_output_t *output, igt_plane_t *plane,
enum rectangle_type rect,
uint32_t format, bool test_bad_format)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_crc_t crc_output;
int ret;
@@ -655,7 +653,9 @@ static void test_plane_rotation(data_t *data, int plane_type, bool test_bad_form
plane = igt_output_get_plane_type(output, plane_type);
igt_require(plane_rotation_requirements(data, plane));
- prepare_crtc(data, output, crtc->pipe, plane, true);
+ prepare_crtc(data, output,
+ crtc,
+ plane, true);
for (i = 0; i < num_rectangle_types; i++) {
/* Unsupported on intel */
@@ -687,13 +687,17 @@ static void test_plane_rotation(data_t *data, int plane_type, bool test_bad_form
if (!test_format(data, &tested_formats, format))
continue;
- test_single_case(data, crtc->pipe, output, plane, i,
+ test_single_case(data,
+ crtc,
+ output, plane, i,
format, test_bad_format);
}
igt_vec_fini(&tested_formats);
} else {
- test_single_case(data, crtc->pipe, output, plane, i,
+ test_single_case(data,
+ crtc,
+ output, plane, i,
data->override_fmt, test_bad_format);
}
}
@@ -904,10 +908,9 @@ static bool reusecrcfromlastround(planeinfos p[2], int lastroundp1format,
* It is left here if this test ever was wanted to be run on
* different pipes.
*/
-static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
+static void test_multi_plane_rotation(data_t *data, igt_crtc_t *crtc)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_output_t *output;
igt_crc_t retcrc_sw, retcrc_hw;
planeinfos p[2];
@@ -1102,13 +1105,11 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
igt_require_f(found, "No valid pipe/output combo found.\n");
}
-static void test_plane_rotation_exhaust_fences(data_t *data,
- enum pipe pipe,
+static void test_plane_rotation_exhaust_fences(data_t *data, igt_crtc_t *crtc,
igt_output_t *output,
igt_plane_t *plane)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
uint64_t modifier = I915_FORMAT_MOD_Y_TILED;
uint32_t format = DRM_FORMAT_XRGB8888;
int fd = data->gfx_fd;
@@ -1123,7 +1124,9 @@ static void test_plane_rotation_exhaust_fences(data_t *data,
igt_require(igt_plane_has_rotation(plane, IGT_ROTATION_0 | IGT_ROTATION_90));
igt_require(gem_available_fences(display->drm_fd) > 0);
- prepare_crtc(data, output, crtc->pipe, plane, false);
+ prepare_crtc(data, output,
+ crtc, plane,
+ false);
mode = igt_output_get_mode(output);
w = mode->hdisplay;
@@ -1319,7 +1322,8 @@ int igt_main_args("", long_opts, help_str, opt_handler, &data)
data.planepos[1].origo = p_top | p_right;
data.planepos[1].x = -.4f;
data.planepos[1].y = .1f;
- test_multi_plane_rotation(&data, PIPE_A);
+ test_multi_plane_rotation(&data,
+ igt_crtc_for_pipe(&data.display, PIPE_A));
}
igt_describe("Rotation test on both planes by cropping left/top corner of primary plane and"
@@ -1333,7 +1337,8 @@ int igt_main_args("", long_opts, help_str, opt_handler, &data)
data.planepos[1].origo = p_top | p_right;
data.planepos[1].x = -.15f;
data.planepos[1].y = -.15f;
- test_multi_plane_rotation(&data, PIPE_A);
+ test_multi_plane_rotation(&data,
+ igt_crtc_for_pipe(&data.display, PIPE_A));
}
igt_describe("Rotation test on both planes by cropping left/bottom corner of primary plane"
@@ -1347,7 +1352,8 @@ int igt_main_args("", long_opts, help_str, opt_handler, &data)
data.planepos[1].origo = p_bottom | p_right;
data.planepos[1].x = -.15f;
data.planepos[1].y = -.20f;
- test_multi_plane_rotation(&data, PIPE_A);
+ test_multi_plane_rotation(&data,
+ igt_crtc_for_pipe(&data.display, PIPE_A));
}
/*
@@ -1365,7 +1371,9 @@ int igt_main_args("", long_opts, help_str, opt_handler, &data)
for_each_crtc_with_valid_output(&data.display, crtc, output) {
igt_plane_t *primary = &crtc->planes[0];
- test_plane_rotation_exhaust_fences(&data, crtc->pipe, output, primary);
+ test_plane_rotation_exhaust_fences(&data,
+ crtc,
+ output, primary);
break;
}
}
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 16/17] tests/kms_properties: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (14 preceding siblings ...)
2026-02-11 16:34 ` [PATCH i-g-t 15/17] tests/kms_rotation_crc: " Ville Syrjala
@ 2026-02-11 16:34 ` Ville Syrjala
2026-02-11 16:34 ` [PATCH i-g-t 17/17] tests/kms: " Ville Syrjala
` (5 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:34 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Convert the use of enum pipe to igt_crtc_t in
tests/kms_properties.
The explicit use of pipe==PIPE_NONE (now converted to
crtc==NULL) complicates this one a bit.
#include "scripts/iterators.cocci"
@func@
typedef igt_crtc_t;
identifier FUNC, PIPE;
parameter list[N] P;
@@
FUNC(P
- ,enum pipe PIPE
+ ,igt_crtc_t *crtc
,...)
{
<+... when != PIPE = ...
(
- igt_crtc_for_pipe(..., PIPE);
+ crtc
|
- kmstest_pipe_name(PIPE)
+ igt_crtc_name(crtc)
|
- PIPE
+ crtc->pipe
)
...+>
}
@depends on func@
identifier func.FUNC;
expression PIPE;
expression list[func.N] EP;
@@
FUNC(EP
- ,PIPE
+ ,igt_crtc_for_pipe(display, PIPE)
,...)
@@
igt_crtc_t *CRTC;
@@
- igt_crtc_for_pipe(..., CRTC->pipe)
+ CRTC
@@
@@
- igt_crtc_for_pipe(..., PIPE_NONE)
+ NULL
@@
igt_crtc_t *CRTC;
binary operator OP = { ==, != };
@@
- CRTC->pipe OP PIPE_NONE
+ CRTC OP NULL
@@
typedef igt_display_t;
identifier DISPLAY;
@@
- igt_display_t *DISPLAY = ...;
... when != DISPLAY
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/kms_properties.c | 91 ++++++++++++++++++++++++++++--------------
1 file changed, 60 insertions(+), 31 deletions(-)
diff --git a/tests/kms_properties.c b/tests/kms_properties.c
index 34bb6ac42618..2fbcce6ad864 100644
--- a/tests/kms_properties.c
+++ b/tests/kms_properties.c
@@ -73,25 +73,27 @@ struct additional_test {
uint32_t prop_id, uint64_t prop_value, bool atomic);
};
-static void prepare_pipe(igt_display_t *display, enum pipe pipe, igt_output_t *output, struct igt_fb *fb)
+static void prepare_pipe(igt_display_t *display, igt_crtc_t *crtc,
+ igt_output_t *output, struct igt_fb *fb)
{
drmModeModeInfo *mode = igt_output_get_mode(output);
igt_create_pattern_fb(display->drm_fd, mode->hdisplay, mode->vdisplay,
DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, fb);
- igt_output_set_crtc(output, igt_crtc_for_pipe(display, pipe));
+ igt_output_set_crtc(output, crtc);
igt_plane_set_fb(igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY), fb);
igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
}
-static void cleanup_pipe(igt_display_t *display, enum pipe pipe, igt_output_t *output, struct igt_fb *fb)
+static void cleanup_pipe(igt_display_t *display, igt_crtc_t *crtc,
+ igt_output_t *output, struct igt_fb *fb)
{
igt_plane_t *plane;
- for_each_plane_on_pipe(display, pipe, plane)
+ for_each_plane_on_pipe(display, crtc->pipe, plane)
igt_plane_set_fb(plane, NULL);
igt_output_set_crtc(output, NULL);
@@ -231,7 +233,9 @@ static void test_properties(int fd, uint32_t type, uint32_t id, bool atomic, boo
}
}
-static void run_colorop_property_tests(igt_display_t *display, enum pipe pipe, igt_output_t *output, bool atomic)
+static void run_colorop_property_tests(igt_display_t *display,
+ igt_crtc_t *crtc, igt_output_t *output,
+ bool atomic)
{
struct igt_fb fb;
igt_plane_t *plane;
@@ -239,11 +243,13 @@ static void run_colorop_property_tests(igt_display_t *display, enum pipe pipe, i
int i;
int colorop_id = 0;
- prepare_pipe(display, pipe, output, &fb);
+ prepare_pipe(display, crtc, output,
+ &fb);
- for_each_plane_on_pipe(display, pipe, plane) {
+ for_each_plane_on_pipe(display, crtc->pipe, plane) {
igt_info("Testing colorop properties on plane %s.#%d-%s (output: %s)\n",
- kmstest_pipe_name(pipe), plane->index, kmstest_plane_type_name(plane->type), output->name);
+ igt_crtc_name(crtc), plane->index,
+ kmstest_plane_type_name(plane->type), output->name);
/* iterate over all color pipelines on plane */
for (i = 0; i < plane->num_color_pipelines; ++i) {
@@ -251,7 +257,8 @@ static void run_colorop_property_tests(igt_display_t *display, enum pipe pipe, i
colorop = plane->color_pipelines[i];
while (colorop) {
igt_info("Testing colorop properties on %s.#%d.#%d-%s (output: %s)\n",
- kmstest_pipe_name(pipe), plane->index, colorop->id,
+ igt_crtc_name(crtc), plane->index,
+ colorop->id,
kmstest_plane_type_name(plane->type), output->name);
test_properties(display->drm_fd, DRM_MODE_OBJECT_COLOROP, colorop->id,
atomic, display->has_plane_color_pipeline);
@@ -263,54 +270,69 @@ static void run_colorop_property_tests(igt_display_t *display, enum pipe pipe, i
}
}
- cleanup_pipe(display, pipe, output, &fb);
+ cleanup_pipe(display, crtc, output,
+ &fb);
}
-static void run_plane_property_tests(igt_display_t *display, enum pipe pipe, igt_output_t *output, bool atomic)
+static void run_plane_property_tests(igt_display_t *display, igt_crtc_t *crtc,
+ igt_output_t *output, bool atomic)
{
struct igt_fb fb;
igt_plane_t *plane;
- prepare_pipe(display, pipe, output, &fb);
+ prepare_pipe(display, crtc, output,
+ &fb);
- for_each_plane_on_pipe(display, pipe, plane) {
+ for_each_plane_on_pipe(display, crtc->pipe, plane) {
igt_info("Testing plane properties on %s.#%d-%s (output: %s)\n",
- kmstest_pipe_name(pipe), plane->index, kmstest_plane_type_name(plane->type), output->name);
+ igt_crtc_name(crtc), plane->index,
+ kmstest_plane_type_name(plane->type), output->name);
test_properties(display->drm_fd, DRM_MODE_OBJECT_PLANE, plane->drm_plane->plane_id, atomic, display->has_plane_color_pipeline);
}
- cleanup_pipe(display, pipe, output, &fb);
+ cleanup_pipe(display, crtc, output,
+ &fb);
}
-static void run_crtc_property_tests(igt_display_t *display, enum pipe pipe, igt_output_t *output, bool atomic)
+static void run_crtc_property_tests(igt_display_t *display, igt_crtc_t *crtc,
+ igt_output_t *output, bool atomic)
{
struct igt_fb fb;
- prepare_pipe(display, pipe, output, &fb);
+ prepare_pipe(display, crtc, output,
+ &fb);
- igt_info("Testing crtc properties on %s (output: %s)\n", kmstest_pipe_name(pipe), output->name);
+ igt_info("Testing crtc properties on %s (output: %s)\n",
+ igt_crtc_name(crtc), output->name);
test_properties(display->drm_fd, DRM_MODE_OBJECT_CRTC,
- igt_crtc_for_pipe(display, pipe)->crtc_id, atomic,
+ crtc->crtc_id,
+ atomic,
false);
- cleanup_pipe(display, pipe, output, &fb);
+ cleanup_pipe(display, crtc, output,
+ &fb);
}
-static void run_connector_property_tests(igt_display_t *display, enum pipe pipe, igt_output_t *output, bool atomic)
+static void run_connector_property_tests(igt_display_t *display,
+ igt_crtc_t *crtc,
+ igt_output_t *output, bool atomic)
{
struct igt_fb fb;
- if (pipe != PIPE_NONE)
- prepare_pipe(display, pipe, output, &fb);
+ if (crtc != NULL)
+ prepare_pipe(display, crtc,
+ output, &fb);
- igt_info("Testing connector properties on output %s (pipe: %s)\n", output->name, kmstest_pipe_name(pipe));
+ igt_info("Testing connector properties on output %s (pipe: %s)\n", output->name,
+ igt_crtc_name(crtc));
test_properties(display->drm_fd, DRM_MODE_OBJECT_CONNECTOR, output->id, atomic, false);
- if (pipe != PIPE_NONE)
- cleanup_pipe(display, pipe, output, &fb);
+ if (crtc != NULL)
+ cleanup_pipe(display, crtc,
+ output, &fb);
}
static void colorop_properties(igt_display_t *display, bool atomic)
@@ -338,7 +360,8 @@ static void colorop_properties(igt_display_t *display, bool atomic)
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
run_colorop_property_tests(display,
- crtc->pipe, output,
+ crtc,
+ output,
atomic);
}
}
@@ -362,7 +385,9 @@ static void plane_properties(igt_display_t *display, bool atomic)
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
- run_plane_property_tests(display, crtc->pipe, output,
+ run_plane_property_tests(display,
+ crtc,
+ output,
atomic);
}
}
@@ -383,7 +408,9 @@ static void crtc_properties(igt_display_t *display, bool atomic)
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
- run_crtc_property_tests(display, crtc->pipe, output,
+ run_crtc_property_tests(display,
+ crtc,
+ output,
atomic);
}
}
@@ -410,7 +437,7 @@ static void connector_properties(igt_display_t *display, bool atomic)
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
run_connector_property_tests(display,
- crtc->pipe,
+ crtc,
output, atomic);
}
@@ -422,7 +449,9 @@ static void connector_properties(igt_display_t *display, bool atomic)
igt_display_reset(display);
igt_dynamic_f("pipe-None-%s", igt_output_name(output))
- run_connector_property_tests(display, PIPE_NONE, output, atomic);
+ run_connector_property_tests(display,
+ NULL,
+ output, atomic);
}
}
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH i-g-t 17/17] tests/kms: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (15 preceding siblings ...)
2026-02-11 16:34 ` [PATCH i-g-t 16/17] tests/kms_properties: " Ville Syrjala
@ 2026-02-11 16:34 ` Ville Syrjala
2026-02-11 17:35 ` ✗ Xe.CI.BAT: failure for " Patchwork
` (4 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjala @ 2026-02-11 16:34 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Convert the use of enum pipe to igt_crtc_t in
various kms tests.
These are all pretty straightforward conversions.
#include "scripts/iterators.cocci"
@func1@
typedef igt_output_t;
typedef igt_crtc_t;
identifier FUNC, PIPE, CRTC;
parameter list[N] P;
@@
FUNC(P
- ,enum pipe PIPE
+ ,igt_crtc_t *CRTC
,...)
{
...
(
- igt_crtc_t *CRTC = igt_crtc_for_pipe(..., PIPE);
|
- igt_crtc_t *CRTC;
... when != PIPE = ...
- CRTC = igt_crtc_for_pipe(..., PIPE);
)
<... when != PIPE = ...
(
- igt_crtc_for_pipe(..., PIPE)
+ CRTC
|
- kmstest_pipe_name(PIPE)
+ igt_crtc_name(CRTC)
|
- PIPE
+ CRTC->pipe
)
...>
}
@depends on func1@
identifier func1.FUNC;
expression list[func1.N] EP;
expression PIPE;
@@
FUNC(EP
- ,PIPE
+ ,igt_crtc_for_pipe(display, PIPE)
,...)
@func2@
typedef igt_crtc_t;
identifier FUNC, PIPE;
parameter list[N] P;
@@
FUNC(P
- ,enum pipe PIPE
+ ,igt_crtc_t *crtc
,...)
{
<+... when != PIPE = ...
(
- igt_crtc_for_pipe(..., PIPE)
+ crtc
|
- kmstest_pipe_name(PIPE)
+ igt_crtc_name(crtc)
|
- PIPE
+ crtc->pipe
)
...+>
}
@depends on func2@
identifier func2.FUNC;
expression list[func2.N] EP;
expression PIPE;
@@
FUNC(EP
- ,PIPE
+ ,igt_crtc_for_pipe(display, PIPE)
,...)
@@
igt_crtc_t *CRTC;
@@
- igt_crtc_for_pipe(..., CRTC->pipe)
+ CRTC
@@
typedef igt_display_t;
identifier DISPLAY;
@@
- igt_display_t *DISPLAY = ...;
... when != DISPLAY
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
tests/amdgpu/amd_freesync_video_mode.c | 15 +--
tests/intel/kms_busy.c | 80 +++++++------
tests/intel/kms_fence_pin_leak.c | 7 +-
tests/intel/kms_flip_scaled_crc.c | 36 +++---
tests/kms_atomic.c | 151 ++++++++++++++++---------
tests/kms_atomic_interruptible.c | 57 ++++++----
tests/kms_dither.c | 25 ++--
tests/kms_panel_fitting.c | 40 ++++---
tests/kms_pipe_crc_basic.c | 59 +++++-----
tests/kms_rmfb.c | 8 +-
tests/kms_scaling_modes.c | 8 +-
tests/kms_universal_plane.c | 81 +++++++------
12 files changed, 327 insertions(+), 240 deletions(-)
diff --git a/tests/amdgpu/amd_freesync_video_mode.c b/tests/amdgpu/amd_freesync_video_mode.c
index 31c842ee8917..3a82464e8d69 100644
--- a/tests/amdgpu/amd_freesync_video_mode.c
+++ b/tests/amdgpu/amd_freesync_video_mode.c
@@ -546,10 +546,8 @@ static bool has_vrr(igt_output_t *output)
}
/* Toggles variable refresh rate on the pipe. */
-static void set_vrr_on_pipe(data_t *data, enum pipe pipe, bool enabled)
+static void set_vrr_on_pipe(data_t *data, igt_crtc_t *crtc, bool enabled)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_crtc_set_prop_value(crtc,
IGT_CRTC_VRR_ENABLED,
enabled);
@@ -772,7 +770,8 @@ static void finish_test(data_t *data, igt_output_t *output)
}
static void
-mode_transition(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t scene)
+mode_transition(data_t *data, igt_crtc_t *crtc, igt_output_t *output,
+ uint32_t scene)
{
int ret;
uint32_t result;
@@ -815,7 +814,7 @@ mode_transition(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t sce
igt_info("stage-1: fps:%d\n", mode_start->vrefresh);
prepare_test(data, output, mode_start);
interval = nsec_per_frame(mode_start->vrefresh);
- set_vrr_on_pipe(data, pipe, true);
+ set_vrr_on_pipe(data, crtc, true);
result = flip_and_measure(data, output, interval, TEST_DURATION_NS, ANIM_TYPE_SMPTE);
igt_info("stage-2: simple animation as video playback fps:%d\n", mode_playback->vrefresh);
@@ -825,7 +824,7 @@ mode_transition(data_t *data, enum pipe pipe, igt_output_t *output, uint32_t sce
result = flip_and_measure(data, output, interval, 2 * NSECS_PER_SEC, ANIM_TYPE_CIRCLE_WAVE);
result = flip_and_measure(data, output, interval, TEST_DURATION_NS, ANIM_TYPE_CIRCLE_WAVE);
igt_assert_f(result > 75, "Target refresh rate not meet 75%% (result=%d%%\n", result);
- set_vrr_on_pipe(data, pipe, false);
+ set_vrr_on_pipe(data, crtc, false);
finish_test(data, output);
}
@@ -854,7 +853,9 @@ run_test(data_t *data, uint32_t scene)
igt_dynamic_f("pipe-%s-%s",
igt_crtc_name(crtc),
output->name)
- mode_transition(data, crtc->pipe, output,
+ mode_transition(data,
+ crtc,
+ output,
scene);
found = true;
break;
diff --git a/tests/intel/kms_busy.c b/tests/intel/kms_busy.c
index dd65585d41a2..b109766fc4f0 100644
--- a/tests/intel/kms_busy.c
+++ b/tests/intel/kms_busy.c
@@ -73,13 +73,13 @@ IGT_TEST_DESCRIPTION("Basic check of KMS ABI with busy framebuffers.");
static bool all_pipes = false;
static void
-set_fb_on_crtc(igt_display_t *dpy, enum pipe pipe,
+set_fb_on_crtc(igt_display_t *dpy, igt_crtc_t *crtc,
igt_output_t *output, struct igt_fb *fb)
{
drmModeModeInfoPtr mode;
igt_plane_t *primary;
- igt_output_set_crtc(output, igt_crtc_for_pipe(dpy, pipe));
+ igt_output_set_crtc(output, crtc);
mode = igt_output_get_mode(output);
igt_create_pattern_fb(dpy->drm_fd, mode->hdisplay, mode->vdisplay,
@@ -106,7 +106,7 @@ static void do_cleanup_display(igt_display_t *dpy)
igt_display_commit2(dpy, dpy->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
}
-static void flip_to_fb(igt_display_t *dpy, enum pipe pipe,
+static void flip_to_fb(igt_display_t *dpy, igt_crtc_t *crtc,
igt_output_t *output,
struct igt_fb *fb, int timeout,
const char *name, bool modeset)
@@ -130,7 +130,7 @@ static void flip_to_fb(igt_display_t *dpy, enum pipe pipe,
igt_assert(gem_bo_busy(dpy->drm_fd, fb->gem_handle));
if (!modeset)
do_or_die(drmModePageFlip(dpy->drm_fd,
- igt_crtc_for_pipe(dpy, pipe)->crtc_id, fb->fb_id,
+ crtc->crtc_id, fb->fb_id,
DRM_MODE_PAGE_FLIP_EVENT, fb));
else {
igt_plane_set_fb(igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY), fb);
@@ -161,10 +161,10 @@ static void flip_to_fb(igt_display_t *dpy, enum pipe pipe,
gem_quiescent_gpu(dpy->drm_fd);
/* Clear old mode blob. */
- igt_crtc_refresh(igt_crtc_for_pipe(dpy, pipe), true);
+ igt_crtc_refresh(crtc, true);
igt_output_set_crtc(output,
- igt_crtc_for_pipe(dpy, pipe));
+ crtc);
igt_display_commit2(dpy, COMMIT_ATOMIC);
}
@@ -172,7 +172,7 @@ static void flip_to_fb(igt_display_t *dpy, enum pipe pipe,
put_ahnd(ahnd);
}
-static void test_flip(igt_display_t *dpy, enum pipe pipe,
+static void test_flip(igt_display_t *dpy, igt_crtc_t *crtc,
igt_output_t *output, bool modeset)
{
struct igt_fb fb[2];
@@ -184,11 +184,12 @@ static void test_flip(igt_display_t *dpy, enum pipe pipe,
igt_require(dpy->is_atomic);
igt_info("Using (pipe %s + %s) to run the subtest.\n",
- kmstest_pipe_name(pipe), igt_output_name(output));
+ igt_crtc_name(crtc), igt_output_name(output));
igt_display_reset(dpy);
- set_fb_on_crtc(dpy, pipe, output, &fb[0]);
+ set_fb_on_crtc(dpy, crtc, output,
+ &fb[0]);
igt_display_commit2(dpy, COMMIT_LEGACY);
igt_create_pattern_fb(dpy->drm_fd,
@@ -205,7 +206,7 @@ static void test_flip(igt_display_t *dpy, enum pipe pipe,
struct drm_event_vblank ev;
do_or_die(drmModePageFlip(dpy->drm_fd,
- igt_crtc_for_pipe(dpy, pipe)->crtc_id,
+ crtc->crtc_id,
fb[warmup[i]].fb_id,
DRM_MODE_PAGE_FLIP_EVENT,
&fb[warmup[i]]));
@@ -215,10 +216,12 @@ static void test_flip(igt_display_t *dpy, enum pipe pipe,
igt_info("Using timeout of %dms\n", timeout);
/* Make the frontbuffer busy and try to flip to itself */
- flip_to_fb(dpy, pipe, output, &fb[0], timeout, "fb[0]", modeset);
+ flip_to_fb(dpy, crtc, output,
+ &fb[0], timeout, "fb[0]", modeset);
/* Repeat for flip to second buffer */
- flip_to_fb(dpy, pipe, output, &fb[1], timeout, "fb[1]", modeset);
+ flip_to_fb(dpy, crtc, output,
+ &fb[1], timeout, "fb[1]", modeset);
do_cleanup_display(dpy);
igt_remove_fb(dpy->drm_fd, &fb[1]);
@@ -264,19 +267,20 @@ static void test_atomic_commit_hang(igt_display_t *dpy, igt_plane_t *primary,
put_ahnd(ahnd);
}
-static void test_hang(igt_display_t *dpy,
- enum pipe pipe, igt_output_t *output,
+static void test_hang(igt_display_t *dpy, igt_crtc_t *crtc,
+ igt_output_t *output,
bool modeset, bool hang_newfb)
{
struct igt_fb fb[2];
igt_plane_t *primary;
igt_info("Using (pipe %s + %s) to run the subtest.\n",
- kmstest_pipe_name(pipe), igt_output_name(output));
+ igt_crtc_name(crtc), igt_output_name(output));
igt_display_reset(dpy);
- set_fb_on_crtc(dpy, pipe, output, &fb[0]);
+ set_fb_on_crtc(dpy, crtc, output,
+ &fb[0]);
igt_display_commit2(dpy, COMMIT_ATOMIC);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
@@ -295,7 +299,7 @@ static void test_hang(igt_display_t *dpy,
/* Test modeset enable with hang */
igt_plane_set_fb(primary, &fb[0]);
igt_output_set_crtc(output,
- igt_crtc_for_pipe(dpy, pipe));
+ crtc);
test_atomic_commit_hang(dpy, primary, &fb[!hang_newfb]);
} else {
/*
@@ -314,7 +318,7 @@ static void test_hang(igt_display_t *dpy,
static void
test_pageflip_modeset_hang(igt_display_t *dpy,
- igt_output_t *output, enum pipe pipe)
+ igt_output_t *output, igt_crtc_t *crtc)
{
struct igt_fb fb;
struct drm_event_vblank ev;
@@ -323,11 +327,12 @@ test_pageflip_modeset_hang(igt_display_t *dpy,
uint64_t ahnd = get_reloc_ahnd(dpy->drm_fd, 0);
igt_info("Using (pipe %s + %s) to run the subtest.\n",
- kmstest_pipe_name(pipe), igt_output_name(output));
+ igt_crtc_name(crtc), igt_output_name(output));
igt_display_reset(dpy);
- set_fb_on_crtc(dpy, pipe, output, &fb);
+ set_fb_on_crtc(dpy, crtc, output,
+ &fb);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
igt_display_commit2(dpy, dpy->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
@@ -337,7 +342,7 @@ test_pageflip_modeset_hang(igt_display_t *dpy,
.dependency = fb.gem_handle,
.flags = IGT_SPIN_NO_PREEMPTION);
- do_or_die(drmModePageFlip(dpy->drm_fd, igt_crtc_for_pipe(dpy, pipe)->crtc_id, fb.fb_id, DRM_MODE_PAGE_FLIP_EVENT, &fb));
+ do_or_die(drmModePageFlip(dpy->drm_fd, crtc->crtc_id, fb.fb_id, DRM_MODE_PAGE_FLIP_EVENT, &fb));
/* Kill crtc with hung fb */
igt_plane_set_fb(primary, NULL);
@@ -353,13 +358,13 @@ test_pageflip_modeset_hang(igt_display_t *dpy,
static bool
pipe_output_combo_valid(igt_display_t *dpy,
- igt_output_t *output, enum pipe pipe)
+ igt_output_t *output, igt_crtc_t *crtc)
{
bool ret = true;
igt_display_reset(dpy);
- igt_output_set_crtc(output, igt_crtc_for_pipe(dpy, pipe));
+ igt_output_set_crtc(output, crtc);
if (!intel_pipe_output_combo_valid(dpy))
ret = false;
igt_output_set_crtc(output, NULL);
@@ -455,13 +460,17 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
igt_describe("Test for basic check of KMS ABI with busy framebuffers.");
igt_subtest_with_dynamic("basic") { /* just run on the first pipe */
for_each_crtc_with_single_output(&display, crtc, output) {
- if (!pipe_output_combo_valid(&display, output, crtc->pipe))
+ if (!pipe_output_combo_valid(&display, output, crtc))
continue;
igt_dynamic("flip")
- test_flip(&display, crtc->pipe, output, false);
+ test_flip(&display,
+ crtc,
+ output, false);
igt_dynamic("modeset")
- test_flip(&display, crtc->pipe, output, true);
+ test_flip(&display,
+ crtc,
+ output, true);
break;
}
}
@@ -471,7 +480,7 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
errno = 0;
for_each_crtc_with_single_output(&display, crtc, output) {
- if (!pipe_output_combo_valid(&display, output, crtc->pipe))
+ if (!pipe_output_combo_valid(&display, output, crtc))
continue;
if (!all_pipes && crtc->pipe != active_pipes[0] &&
@@ -479,9 +488,13 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
continue;
igt_dynamic_f("flip-pipe-%s", igt_crtc_name(crtc))
- test_flip(&display, crtc->pipe, output, false);
+ test_flip(&display,
+ crtc,
+ output, false);
igt_dynamic_f("modeset-pipe-%s", igt_crtc_name(crtc))
- test_flip(&display, crtc->pipe, output, true);
+ test_flip(&display,
+ crtc,
+ output, true);
}
igt_disallow_hang(display.drm_fd, hang);
@@ -492,7 +505,7 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
errno = 0;
for_each_crtc_with_single_output(&display, crtc, output) {
- if (!pipe_output_combo_valid(&display, output, crtc->pipe))
+ if (!pipe_output_combo_valid(&display, output, crtc))
continue;
if (!all_pipes && crtc->pipe != active_pipes[0] &&
@@ -501,7 +514,7 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
igt_dynamic_f("pipe-%s", igt_crtc_name(crtc))
test_pageflip_modeset_hang(&display, output,
- crtc->pipe);
+ crtc);
}
igt_disallow_hang(display.drm_fd, hang);
@@ -527,7 +540,7 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
for_each_crtc_with_single_output(&display, crtc,
output) {
- if (!pipe_output_combo_valid(&display, output, crtc->pipe))
+ if (!pipe_output_combo_valid(&display, output, crtc))
continue;
if (!all_pipes && crtc->pipe != active_pipes[0] &&
@@ -538,7 +551,8 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
if (tests[i].reset)
igt_set_module_param_int(display.drm_fd, "force_reset_modeset_test", 1);
- test_hang(&display, crtc->pipe,
+ test_hang(&display,
+ crtc,
output,
tests[i].modeset, tests[i].hang_newfb);
diff --git a/tests/intel/kms_fence_pin_leak.c b/tests/intel/kms_fence_pin_leak.c
index 3d9ce4fc1563..aad6550f7498 100644
--- a/tests/intel/kms_fence_pin_leak.c
+++ b/tests/intel/kms_fence_pin_leak.c
@@ -130,10 +130,10 @@ static void free_fence_objs(data_t *data)
intel_buf_destroy(data->bos[i]);
}
-static void run_single_test(data_t *data, enum pipe pipe, igt_output_t *output)
+static void run_single_test(data_t *data, igt_crtc_t *crtc,
+ igt_output_t *output)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
drmModeModeInfo *mode;
igt_plane_t *primary;
struct igt_fb fb[2];
@@ -221,7 +221,8 @@ static void run_test(data_t *data)
if (!intel_pipe_output_combo_valid(display))
continue;
- run_single_test(data, crtc->pipe, output);
+ run_single_test(data, crtc,
+ output);
return; /* one time ought to be enough */
}
diff --git a/tests/intel/kms_flip_scaled_crc.c b/tests/intel/kms_flip_scaled_crc.c
index 0dc594f45fe9..9a0b99e46ddd 100644
--- a/tests/intel/kms_flip_scaled_crc.c
+++ b/tests/intel/kms_flip_scaled_crc.c
@@ -680,10 +680,8 @@ static void free_fbs(data_t *data)
igt_remove_fb(data->drm_fd, &data->big_fb);
}
-static void set_lut(data_t *data, enum pipe pipe)
+static void set_lut(data_t *data, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
struct drm_color_lut *lut;
drmModeCrtc *drm_crtc;
int i, lut_size;
@@ -713,20 +711,15 @@ static void set_lut(data_t *data, enum pipe pipe)
free(lut);
}
-static void clear_lut(data_t *data, enum pipe pipe)
+static void clear_lut(data_t *data, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
-
igt_crtc_set_prop_value(crtc, IGT_CRTC_GAMMA_LUT, 0);
}
static void test_flip_to_scaled(data_t *data, uint32_t index,
- enum pipe pipe, igt_output_t *output,
+ igt_crtc_t *crtc, igt_output_t *output,
drmModeModeInfoPtr modetoset, int flags)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_plane_t *primary;
igt_crc_t small_crc, big_crc;
struct drm_event_vblank ev;
@@ -778,7 +771,7 @@ static void test_flip_to_scaled(data_t *data, uint32_t index,
data->big_fb.modifier), "No requested format/modifier on pipe %s\n",
igt_crtc_name(crtc));
- set_lut(data, crtc->pipe);
+ set_lut(data, crtc);
igt_display_commit_atomic(&data->display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
if (data->pipe_crc) {
@@ -833,7 +826,7 @@ static void test_flip_to_scaled(data_t *data, uint32_t index,
igt_pipe_crc_free(data->pipe_crc);
data->pipe_crc = NULL;
- clear_lut(data, crtc->pipe);
+ clear_lut(data, crtc);
modetoset = NULL;
igt_output_set_crtc(output, NULL);
@@ -860,10 +853,11 @@ static drmModeModeInfoPtr find_mode(data_t *data, igt_output_t *output)
return modetoset;
}
-static void run_tests(data_t *data, uint32_t index, enum pipe pipe,
+static void run_tests(data_t *data, uint32_t index, igt_crtc_t *crtc,
igt_output_t * output, drmModeModeInfoPtr modetoset)
{
- test_flip_to_scaled(data, index, pipe, output, modetoset, 0);
+ test_flip_to_scaled(data, index, crtc,
+ output, modetoset, 0);
/*
* test Nearest Neighbor filter. For scaler indexes see
@@ -871,7 +865,9 @@ static void run_tests(data_t *data, uint32_t index, enum pipe pipe,
* Platform scaling filter property is supported only gen >= 11.
*/
if (data->gen >= 11)
- test_flip_to_scaled(data, index, pipe, output, modetoset, 1);
+ test_flip_to_scaled(data, index,
+ crtc, output,
+ modetoset, 1);
}
int igt_main()
@@ -932,8 +928,9 @@ int igt_main()
found = true;
igt_dynamic_f("pipe-%s-valid-mode",
igt_crtc_name(crtc))
- run_tests(&data, index,
- crtc->pipe,
+ run_tests(&data,
+ index,
+ crtc,
output,
modetoset);
break;
@@ -953,8 +950,9 @@ int igt_main()
modetoset = NULL;
igt_dynamic_f("pipe-%s-default-mode",
igt_crtc_name(crtc))
- run_tests(&data, index,
- crtc->pipe,
+ run_tests(&data,
+ index,
+ crtc,
output,
modetoset);
}
diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
index 5b3cc4a94c99..5e6d1123874e 100644
--- a/tests/kms_atomic.c
+++ b/tests/kms_atomic.c
@@ -438,10 +438,9 @@ plane_primary_overlay_mutable_zpos(data_t *data, igt_output_t *output, igt_plane
}
static void
-plane_immutable_zpos(data_t *data, igt_output_t *output, enum pipe pipe, int n_planes)
+plane_immutable_zpos(data_t *data, igt_output_t *output, igt_crtc_t *crtc,
+ int n_planes)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
cairo_t *cr;
struct igt_fb fb_ref;
drmModeModeInfo *mode;
@@ -671,10 +670,9 @@ static void plane_primary(data_t *data)
* Test to ensure that DRM_MODE_ATOMIC_TEST_ONLY really only touches the
* free-standing state objects and nothing else.
*/
-static void test_only(data_t *data, igt_output_t *output, enum pipe pipe, uint32_t format)
+static void test_only(data_t *data, igt_output_t *output, igt_crtc_t *crtc,
+ uint32_t format)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
struct igt_fb fb;
uint64_t old_plane_values[IGT_NUM_PLANE_PROPS], old_crtc_values[IGT_NUM_CRTC_PROPS];
drmModeModeInfo *mode = igt_output_get_mode(output);
@@ -1382,10 +1380,8 @@ static void atomic_plane_damage(data_t *data)
igt_remove_fb(data->drm_fd, &fb_2);
}
-static void atomic_setup(data_t *data, enum pipe pipe, igt_output_t *output)
+static void atomic_setup(data_t *data, igt_crtc_t *crtc, igt_output_t *output)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
drmModeModeInfo *mode;
igt_display_reset(&data->display);
igt_output_set_crtc(output, crtc);
@@ -1406,11 +1402,11 @@ static void atomic_setup(data_t *data, enum pipe pipe, igt_output_t *output)
ATOMIC_RELAX_NONE);
}
-static void atomic_clear(data_t *data, enum pipe pipe, igt_output_t *output)
+static void atomic_clear(data_t *data, igt_crtc_t *crtc, igt_output_t *output)
{
igt_plane_t *plane;
- for_each_plane_on_pipe(&data->display, pipe, plane) {
+ for_each_plane_on_pipe(&data->display, crtc->pipe, plane) {
igt_plane_set_fb(plane, NULL);
igt_plane_set_position(plane, 0, 0);
}
@@ -1428,14 +1424,14 @@ static bool has_mutable_zpos(igt_plane_t *plane)
}
static bool
-pipe_output_combo_valid(igt_display_t *display,
- enum pipe pipe, igt_output_t *output)
+pipe_output_combo_valid(igt_display_t *display, igt_crtc_t *crtc,
+ igt_output_t *output)
{
bool ret = true;
igt_display_reset(display);
- igt_output_set_crtc(output, igt_crtc_for_pipe(display, pipe));
+ igt_output_set_crtc(output, crtc);
if (!intel_pipe_output_combo_valid(display))
ret = false;
igt_output_set_crtc(output, NULL);
@@ -1482,15 +1478,19 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
DRM_PLANE_TYPE_OVERLAY);
uint32_t format = plane_get_igt_format(overlay);
- if (!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data.display, crtc, output))
continue;
if (!overlay || !format)
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
- atomic_setup(&data, crtc->pipe, output);
+ atomic_setup(&data,
+ crtc,
+ output);
plane_overlay(&data, output, overlay, format);
- atomic_clear(&data, crtc->pipe, output);
+ atomic_clear(&data,
+ crtc,
+ output);
}
if (!all_pipes)
break;
@@ -1501,13 +1501,17 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
"the legacy and atomic interfaces.");
igt_subtest_with_dynamic("plane-primary-legacy") {
for_each_crtc_with_single_output(&data.display, crtc, output) {
- if (!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data.display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
- atomic_setup(&data, crtc->pipe, output);
+ atomic_setup(&data,
+ crtc,
+ output);
plane_primary(&data);
- atomic_clear(&data, crtc->pipe, output);
+ atomic_clear(&data,
+ crtc,
+ output);
}
if (!all_pipes)
break;
@@ -1522,10 +1526,12 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
igt_crtc_get_plane_type(crtc,
DRM_PLANE_TYPE_OVERLAY);
- if (!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data.display, crtc, output))
continue;
- atomic_setup(&data, crtc->pipe, output);
+ atomic_setup(&data,
+ crtc,
+ output);
if (!overlay)
continue;
if (!has_mutable_zpos(data.primary) || !has_mutable_zpos(overlay))
@@ -1537,7 +1543,9 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
igt_output_name(output)) {
plane_primary_overlay_mutable_zpos(&data, output, overlay,
DRM_FORMAT_ARGB8888, DRM_FORMAT_ARGB1555);
- atomic_clear(&data, crtc->pipe, output);
+ atomic_clear(&data,
+ crtc,
+ output);
}
if (!all_pipes)
break;
@@ -1550,16 +1558,21 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
for_each_crtc_with_single_output(&data.display, crtc, output) {
int n_planes = crtc->n_planes;
- if (!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data.display, crtc, output))
continue;
if (n_planes < 2)
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
- atomic_setup(&data, crtc->pipe, output);
+ atomic_setup(&data,
+ crtc,
+ output);
plane_immutable_zpos(&data, output,
- crtc->pipe, n_planes);
- atomic_clear(&data, crtc->pipe, output);
+ crtc,
+ n_planes);
+ atomic_clear(&data,
+ crtc,
+ output);
}
if (!all_pipes)
break;
@@ -1572,18 +1585,24 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
for_each_crtc_with_single_output(&data.display, crtc, output) {
uint32_t format;
- if (!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data.display, crtc, output))
continue;
- atomic_setup(&data, crtc->pipe, output);
+ atomic_setup(&data,
+ crtc,
+ output);
format = plane_get_igt_format(data.primary);
if (!format)
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
- atomic_clear(&data, crtc->pipe, output);
- test_only(&data, output, crtc->pipe, format);
+ atomic_clear(&data,
+ crtc,
+ output);
+ test_only(&data, output,
+ crtc,
+ format);
}
if (!all_pipes)
break;
@@ -1598,15 +1617,19 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
igt_crtc_get_plane_type(crtc,
DRM_PLANE_TYPE_CURSOR);
- if (!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data.display, crtc, output))
continue;
if (!cursor)
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
- atomic_setup(&data, crtc->pipe, output);
+ atomic_setup(&data,
+ crtc,
+ output);
plane_cursor(&data, output, cursor);
- atomic_clear(&data, crtc->pipe, output);
+ atomic_clear(&data,
+ crtc,
+ output);
}
if (!all_pipes)
break;
@@ -1616,13 +1639,17 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
igt_describe("Test error handling when invalid plane parameters are passed");
igt_subtest_with_dynamic("plane-invalid-params") {
for_each_crtc_with_single_output(&data.display, crtc, output) {
- if (!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data.display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
- atomic_setup(&data, crtc->pipe, output);
+ atomic_setup(&data,
+ crtc,
+ output);
plane_invalid_params(&data, output);
- atomic_clear(&data, crtc->pipe, output);
+ atomic_clear(&data,
+ crtc,
+ output);
}
if (!all_pipes)
break;
@@ -1632,13 +1659,17 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
igt_describe("Test error handling when invalid plane fence parameters are passed");
igt_subtest_with_dynamic("plane-invalid-params-fence") {
for_each_crtc_with_single_output(&data.display, crtc, output) {
- if (!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data.display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
- atomic_setup(&data, crtc->pipe, output);
+ atomic_setup(&data,
+ crtc,
+ output);
plane_invalid_params_fence(&data, output);
- atomic_clear(&data, crtc->pipe, output);
+ atomic_clear(&data,
+ crtc,
+ output);
}
if (!all_pipes)
break;
@@ -1648,13 +1679,17 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
igt_describe("Test error handling when invalid crtc parameters are passed");
igt_subtest_with_dynamic("crtc-invalid-params") {
for_each_crtc_with_single_output(&data.display, crtc, output) {
- if (!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data.display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
- atomic_setup(&data, crtc->pipe, output);
+ atomic_setup(&data,
+ crtc,
+ output);
crtc_invalid_params(&data, output);
- atomic_clear(&data, crtc->pipe, output);
+ atomic_clear(&data,
+ crtc,
+ output);
}
if (!all_pipes)
break;
@@ -1664,13 +1699,17 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
igt_describe("Test error handling when invalid crtc fence parameters are passed");
igt_subtest_with_dynamic("crtc-invalid-params-fence") {
for_each_crtc_with_single_output(&data.display, crtc, output) {
- if (!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data.display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
- atomic_setup(&data, crtc->pipe, output);
+ atomic_setup(&data,
+ crtc,
+ output);
crtc_invalid_params_fence(&data, output);
- atomic_clear(&data, crtc->pipe, output);
+ atomic_clear(&data,
+ crtc,
+ output);
}
if (!all_pipes)
break;
@@ -1682,13 +1721,17 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
"allow us to create.");
igt_subtest_with_dynamic("atomic-invalid-params") {
for_each_crtc_with_single_output(&data.display, crtc, output) {
- if (!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data.display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
- atomic_setup(&data, crtc->pipe, output);
+ atomic_setup(&data,
+ crtc,
+ output);
atomic_invalid_params(&data, output);
- atomic_clear(&data, crtc->pipe, output);
+ atomic_clear(&data,
+ crtc,
+ output);
}
if (!all_pipes)
break;
@@ -1698,17 +1741,21 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
igt_describe("Simple test cases to use FB_DAMAGE_CLIPS plane property");
igt_subtest_with_dynamic("atomic-plane-damage") {
for_each_crtc_with_single_output(&data.display, crtc, output) {
- if (!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data.display, crtc, output))
continue;
- atomic_setup(&data, crtc->pipe, output);
+ atomic_setup(&data,
+ crtc,
+ output);
if (!igt_plane_has_prop(data.primary, IGT_PLANE_FB_DAMAGE_CLIPS))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output)) {
atomic_plane_damage(&data);
- atomic_clear(&data, crtc->pipe, output);
+ atomic_clear(&data,
+ crtc,
+ output);
}
if (!all_pipes)
break;
diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c
index 4b29a196d807..b9d36ba54527 100644
--- a/tests/kms_atomic_interruptible.c
+++ b/tests/kms_atomic_interruptible.c
@@ -111,7 +111,8 @@ static drmEventContext drm_events = {
.page_flip_handler = ev_page_flip
};
-static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t *output,
+static void run_plane_test(igt_display_t *display, igt_crtc_t *crtc,
+ igt_output_t *output,
enum plane_test_type test_type, unsigned plane_type)
{
drmModeModeInfo *mode;
@@ -120,7 +121,7 @@ static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t
int block;
igt_info("Using (pipe %s + %s) to run the subtest.\n",
- kmstest_pipe_name(pipe), igt_output_name(output));
+ igt_crtc_name(crtc), igt_output_name(output));
/*
* Make sure we start with everything disabled to force a real modeset.
@@ -130,7 +131,7 @@ static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t
igt_display_reset(display);
igt_display_commit2(display, COMMIT_ATOMIC);
- igt_output_set_crtc(output, igt_crtc_for_pipe(display, pipe));
+ igt_output_set_crtc(output, crtc);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
plane = igt_output_get_plane_type(output, plane_type);
@@ -297,7 +298,7 @@ static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t
/* The mode is unset by the forked helper, force a refresh here */
if (test_type == test_legacy_modeset || test_type == test_atomic_modeset)
- igt_crtc_refresh(igt_crtc_for_pipe(display, pipe), true);
+ igt_crtc_refresh(crtc, true);
igt_plane_set_fb(plane, NULL);
igt_plane_set_fb(primary, NULL);
@@ -306,14 +307,14 @@ static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t
igt_remove_fb(display->drm_fd, &fb);
}
-static bool pipe_output_combo_valid(igt_display_t *display,
- enum pipe pipe, igt_output_t *output)
+static bool pipe_output_combo_valid(igt_display_t *display, igt_crtc_t *crtc,
+ igt_output_t *output)
{
bool ret = true;
igt_display_reset(display);
- igt_output_set_crtc(output, igt_crtc_for_pipe(display, pipe));
+ igt_output_set_crtc(output, crtc);
if (!intel_pipe_output_combo_valid(display))
ret = false;
igt_output_set_crtc(output, NULL);
@@ -342,12 +343,14 @@ int igt_main()
igt_describe("Tests the interrupt properties of legacy modeset");
igt_subtest_with_dynamic("legacy-setmode") {
for_each_crtc_with_valid_output(&display, crtc, output) {
- if (!pipe_output_combo_valid(&display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- run_plane_test(&display, crtc->pipe, output,
+ run_plane_test(&display,
+ crtc,
+ output,
test_legacy_modeset,
DRM_PLANE_TYPE_PRIMARY);
break;
@@ -357,12 +360,14 @@ int igt_main()
igt_describe("Tests the interrupt properties of atomic modeset");
igt_subtest_with_dynamic("atomic-setmode") {
for_each_crtc_with_valid_output(&display, crtc, output) {
- if (!pipe_output_combo_valid(&display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- run_plane_test(&display, crtc->pipe, output,
+ run_plane_test(&display,
+ crtc,
+ output,
test_atomic_modeset,
DRM_PLANE_TYPE_PRIMARY);
break;
@@ -372,12 +377,14 @@ int igt_main()
igt_describe("Tests the interrupt properties for DPMS");
igt_subtest_with_dynamic("legacy-dpms") {
for_each_crtc_with_valid_output(&display, crtc, output) {
- if (!pipe_output_combo_valid(&display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- run_plane_test(&display, crtc->pipe, output,
+ run_plane_test(&display,
+ crtc,
+ output,
test_legacy_dpms,
DRM_PLANE_TYPE_PRIMARY);
break;
@@ -387,12 +394,14 @@ int igt_main()
igt_describe("Tests the interrupt properties for pageflip");
igt_subtest_with_dynamic("legacy-pageflip") {
for_each_crtc_with_valid_output(&display, crtc, output) {
- if (!pipe_output_combo_valid(&display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- run_plane_test(&display, crtc->pipe, output,
+ run_plane_test(&display,
+ crtc,
+ output,
test_pageflip,
DRM_PLANE_TYPE_PRIMARY);
break;
@@ -402,12 +411,14 @@ int igt_main()
igt_describe("Tests the interrupt properties for cursor");
igt_subtest_with_dynamic("legacy-cursor") {
for_each_crtc_with_valid_output(&display, crtc, output) {
- if (!pipe_output_combo_valid(&display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- run_plane_test(&display, crtc->pipe, output,
+ run_plane_test(&display,
+ crtc,
+ output,
test_setcursor,
DRM_PLANE_TYPE_CURSOR);
break;
@@ -417,12 +428,14 @@ int igt_main()
igt_describe("Tests the interrupt properties for primary plane");
igt_subtest_with_dynamic("universal-setplane-primary") {
for_each_crtc_with_valid_output(&display, crtc, output) {
- if (!pipe_output_combo_valid(&display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- run_plane_test(&display, crtc->pipe, output,
+ run_plane_test(&display,
+ crtc,
+ output,
test_setplane,
DRM_PLANE_TYPE_PRIMARY);
break;
@@ -432,12 +445,14 @@ int igt_main()
igt_describe("Tests the interrupt properties for cursor plane");
igt_subtest_with_dynamic("universal-setplane-cursor") {
for_each_crtc_with_valid_output(&display, crtc, output) {
- if (!pipe_output_combo_valid(&display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- run_plane_test(&display, crtc->pipe, output,
+ run_plane_test(&display,
+ crtc,
+ output,
test_setplane,
DRM_PLANE_TYPE_CURSOR);
break;
diff --git a/tests/kms_dither.c b/tests/kms_dither.c
index d308d49abd09..347580e60f4e 100644
--- a/tests/kms_dither.c
+++ b/tests/kms_dither.c
@@ -72,11 +72,8 @@ typedef struct {
} dither_status_t;
/* Prepare test data. */
-static void prepare_test(data_t *data, igt_output_t *output, enum pipe p)
+static void prepare_test(data_t *data, igt_output_t *output, igt_crtc_t *crtc)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, p);
-
igt_assert(crtc);
data->primary =
@@ -86,7 +83,7 @@ static void prepare_test(data_t *data, igt_output_t *output, enum pipe p)
}
/* Returns the current state of dithering from the crtc debugfs. */
-static dither_status_t get_dither_state(data_t *data, enum pipe pipe)
+static dither_status_t get_dither_state(data_t *data, igt_crtc_t *crtc)
{
char buf[512], tmp[5];
char *start_loc;
@@ -106,25 +103,24 @@ static dither_status_t get_dither_state(data_t *data, enum pipe pipe)
igt_assert_eq(sscanf(start_loc, ", dither=%s", tmp), 1);
status.dither = !strcmp(tmp, "yes,");
- status.bpc = igt_get_pipe_current_bpc(data->drm_fd, pipe);
+ status.bpc = igt_get_pipe_current_bpc(data->drm_fd, crtc->pipe);
return status;
}
-static void test_dithering(data_t *data, enum pipe pipe,
+static void test_dithering(data_t *data, igt_crtc_t *crtc,
igt_output_t *output,
int fb_bpc, int fb_format,
int output_bpc)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
dither_status_t status;
int bpc, ret;
bool constraint;
igt_info("Dithering test execution on %s PIPE_%s\n",
output->name, igt_crtc_name(crtc));
- prepare_test(data, output, crtc->pipe);
+ prepare_test(data, output, crtc);
igt_assert(igt_create_fb(data->drm_fd, 512, 512, fb_format,
DRM_FORMAT_MOD_LINEAR, &data->fb));
@@ -156,7 +152,8 @@ static void test_dithering(data_t *data, enum pipe pipe,
* If fb_bpc is greater than output_bpc, Dithering should be enabled
* Else disabled
*/
- status = get_dither_state(data, crtc->pipe);
+ status = get_dither_state(data,
+ crtc);
igt_info("FB BPC:%d, Panel BPC:%d, Pipe BPC:%d, Expected Dither:%s, Actual result:%s\n",
fb_bpc, output_bpc, status.bpc,
@@ -232,9 +229,11 @@ run_dither_test(data_t *data, int fb_bpc, int fb_format, int output_bpc)
igt_dynamic_f("pipe-%s-%s",
igt_crtc_name(crtc),
output->name)
- test_dithering(data, crtc->pipe, output,
- fb_bpc,
- fb_format, output_bpc);
+ test_dithering(data,
+ crtc,
+ output,
+ fb_bpc,
+ fb_format, output_bpc);
/* One pipe is enough */
break;
diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c
index 723336c7ba35..bc78d9a6f41d 100644
--- a/tests/kms_panel_fitting.c
+++ b/tests/kms_panel_fitting.c
@@ -68,11 +68,11 @@ static void cleanup_crtc(data_t *data)
igt_remove_fb(data->drm_fd, &data->fb2);
}
-static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
- igt_plane_t *plane, drmModeModeInfo *mode, enum igt_commit_style s)
+static void prepare_crtc(data_t *data, igt_output_t *output, igt_crtc_t *crtc,
+ igt_plane_t *plane, drmModeModeInfo *mode,
+ enum igt_commit_style s)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_output_override_mode(output, mode);
igt_output_set_crtc(output, crtc);
@@ -104,13 +104,13 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
}
static void
-test_panel_fitting_legacy(data_t *d, igt_display_t *display,
- enum pipe pipe, igt_output_t *output)
+test_panel_fitting_legacy(data_t *d, igt_display_t *display, igt_crtc_t *crtc,
+ igt_output_t *output)
{
drmModeModeInfo *mode, native_mode;
bool is_plane_scaling_active = true;
- igt_output_set_crtc(output, igt_crtc_for_pipe(display, pipe));
+ igt_output_set_crtc(output, crtc);
mode = igt_output_get_mode(output);
native_mode = *mode;
@@ -129,18 +129,22 @@ test_panel_fitting_legacy(data_t *d, igt_display_t *display,
mode->vdisplay = 480;
}
d->plane1 = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
- prepare_crtc(d, output, pipe, d->plane1, mode, COMMIT_LEGACY);
+ prepare_crtc(d, output, crtc, d->plane1,
+ mode, COMMIT_LEGACY);
/* disable panel fitting */
- prepare_crtc(d, output, pipe, d->plane1, &native_mode, COMMIT_LEGACY);
+ prepare_crtc(d, output, crtc, d->plane1,
+ &native_mode, COMMIT_LEGACY);
/* enable panel fitting */
mode->hdisplay = 800;
mode->vdisplay = 600;
- prepare_crtc(d, output, pipe, d->plane1, mode, COMMIT_LEGACY);
+ prepare_crtc(d, output, crtc, d->plane1,
+ mode, COMMIT_LEGACY);
/* disable panel fitting */
- prepare_crtc(d, output, pipe, d->plane1, &native_mode, COMMIT_LEGACY);
+ prepare_crtc(d, output, crtc, d->plane1,
+ &native_mode, COMMIT_LEGACY);
/* set up fb2->plane2 mapping. */
d->plane2 = igt_output_get_plane_type(output, DRM_PLANE_TYPE_OVERLAY);
@@ -166,7 +170,7 @@ test_panel_fitting_legacy(data_t *d, igt_display_t *display,
*/
if (IS_GEN8(devid) ||
(IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) ||
- (IS_GEN9(devid) && pipe == PIPE_C)) {
+ (IS_GEN9(devid) && crtc->pipe == PIPE_C)) {
is_plane_scaling_active = false;
}
}
@@ -191,11 +195,13 @@ test_panel_fitting_legacy(data_t *d, igt_display_t *display,
/* enable panel fitting along with sprite scaling */
mode->hdisplay = 1024;
mode->vdisplay = 768;
- prepare_crtc(d, output, pipe, d->plane1, mode, COMMIT_LEGACY);
+ prepare_crtc(d, output, crtc, d->plane1,
+ mode, COMMIT_LEGACY);
}
static void
-test_panel_fitting_fastset(igt_display_t *display, enum pipe pipe, igt_output_t *output)
+test_panel_fitting_fastset(igt_display_t *display, igt_crtc_t *crtc,
+ igt_output_t *output)
{
igt_plane_t *primary, *sprite;
drmModeModeInfo mode;
@@ -203,7 +209,7 @@ test_panel_fitting_fastset(igt_display_t *display, enum pipe pipe, igt_output_t
mode = *igt_output_get_mode(output);
- igt_output_set_crtc(output, igt_crtc_for_pipe(display, pipe));
+ igt_output_set_crtc(output, crtc);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
sprite = igt_output_get_plane_type(output, DRM_PLANE_TYPE_OVERLAY);
@@ -276,10 +282,12 @@ static void test_panel_fitting(data_t *data, enum test_type type)
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc), output->name) {
if (type == TEST_ATOMIC)
test_panel_fitting_fastset(display,
- crtc->pipe, output);
+ crtc,
+ output);
if (type == TEST_LEGACY)
test_panel_fitting_legacy(data, display,
- crtc->pipe, output);
+ crtc,
+ output);
}
}
}
diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
index 8c928754b469..f7b6ec2937c2 100644
--- a/tests/kms_pipe_crc_basic.c
+++ b/tests/kms_pipe_crc_basic.c
@@ -96,11 +96,11 @@ static struct {
{ .r = 0.0, .g = 1.0, .b = 1.0 },
};
-static bool simulation_constraint(enum pipe pipe)
+static bool simulation_constraint(igt_crtc_t *crtc)
{
if (igt_run_in_simulation() && !extended &&
- pipe != active_pipes[0] &&
- pipe != active_pipes[last_pipe])
+ crtc->pipe != active_pipes[0] &&
+ crtc->pipe != active_pipes[last_pipe])
return true;
return false;
@@ -127,11 +127,10 @@ enum {
TEST_HANG = 1 << 3,
};
-static void test_read_crc(data_t *data, enum pipe pipe,
+static void test_read_crc(data_t *data, igt_crtc_t *crtc,
igt_output_t *output, unsigned flags)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_plane_t *primary;
drmModeModeInfo *mode;
igt_crc_t *crcs = NULL;
@@ -235,11 +234,11 @@ static void test_read_crc(data_t *data, enum pipe pipe,
*
* No CRC mismatch should happen
*/
-static void test_compare_crc(data_t *data, enum pipe pipe, igt_output_t *output,
+static void test_compare_crc(data_t *data, igt_crtc_t *crtc,
+ igt_output_t *output,
uint32_t plane_format)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_plane_t *primary;
drmModeModeInfo *mode;
igt_crc_t ref_crc, crc;
@@ -291,11 +290,10 @@ static void test_compare_crc(data_t *data, enum pipe pipe, igt_output_t *output,
igt_remove_fb(data->drm_fd, &fb1);
}
-static void test_disable_crc_after_crtc(data_t *data, enum pipe pipe,
+static void test_disable_crc_after_crtc(data_t *data, igt_crtc_t *crtc,
igt_output_t *output)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_pipe_crc_t *pipe_crc;
drmModeModeInfo *mode;
igt_crc_t crc[2];
@@ -338,14 +336,14 @@ static void test_disable_crc_after_crtc(data_t *data, enum pipe pipe,
igt_remove_fb(data->drm_fd, &data->fb);
}
-static bool pipe_output_combo_valid(igt_display_t *display,
- enum pipe pipe, igt_output_t *output)
+static bool pipe_output_combo_valid(igt_display_t *display, igt_crtc_t *crtc,
+ igt_output_t *output)
{
bool ret = true;
igt_display_reset(display);
- igt_output_set_crtc(output, igt_crtc_for_pipe(display, pipe));
+ igt_output_set_crtc(output, crtc);
if (!intel_pipe_output_combo_valid(display))
ret = false;
igt_output_set_crtc(output, NULL);
@@ -424,10 +422,10 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
igt_subtest_with_dynamic(tests[i].name) {
for_each_crtc_with_single_output(&data.display, crtc,
output) {
- if (simulation_constraint(crtc->pipe))
+ if (simulation_constraint(crtc))
continue;
- if(!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if(!pipe_output_combo_valid(&data.display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s",
@@ -437,7 +435,7 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
enum igt_suspend_test test = SUSPEND_TEST_NONE;
test_read_crc(&data,
- crtc->pipe,
+ crtc,
output, 0);
/* rtcwake cmd is not supported on MTK devices */
@@ -448,23 +446,23 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
test);
test_read_crc(&data,
- crtc->pipe,
+ crtc,
output, 0);
} else if (tests[i].flags & TEST_HANG) {
igt_hang_t hang = igt_allow_hang(data.drm_fd, 0, 0);
test_read_crc(&data,
- crtc->pipe,
+ crtc,
output, 0);
igt_force_gpu_reset(data.drm_fd);
test_read_crc(&data,
- crtc->pipe,
+ crtc,
output, 0);
igt_disallow_hang(data.drm_fd, hang);
} else {
test_read_crc(&data,
- crtc->pipe,
+ crtc,
output,
tests[i].flags);
}
@@ -477,15 +475,16 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
"does not cause issues.");
igt_subtest_with_dynamic("disable-crc-after-crtc") {
for_each_crtc_with_single_output(&data.display, crtc, output) {
- if (simulation_constraint(crtc->pipe))
+ if (simulation_constraint(crtc))
continue;
- if(!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if(!pipe_output_combo_valid(&data.display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
output->name)
- test_disable_crc_after_crtc(&data, crtc->pipe,
+ test_disable_crc_after_crtc(&data,
+ crtc,
output);
}
}
@@ -493,15 +492,17 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
igt_describe("Basic sanity check for CRC mismatches with XR24 format");
igt_subtest_with_dynamic("compare-crc-sanitycheck-xr24") {
for_each_crtc_with_single_output(&data.display, crtc, output) {
- if (simulation_constraint(crtc->pipe))
+ if (simulation_constraint(crtc))
continue;
- if(!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if(!pipe_output_combo_valid(&data.display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
output->name)
- test_compare_crc(&data, crtc->pipe, output,
+ test_compare_crc(&data,
+ crtc,
+ output,
DRM_FORMAT_XRGB8888);
}
}
@@ -509,15 +510,17 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
igt_describe("Basic sanity check for CRC mismatches with NV12 format");
igt_subtest_with_dynamic("compare-crc-sanitycheck-nv12") {
for_each_crtc_with_single_output(&data.display, crtc, output) {
- if (simulation_constraint(crtc->pipe))
+ if (simulation_constraint(crtc))
continue;
- if(!pipe_output_combo_valid(&data.display, crtc->pipe, output))
+ if(!pipe_output_combo_valid(&data.display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
output->name)
- test_compare_crc(&data, crtc->pipe, output,
+ test_compare_crc(&data,
+ crtc,
+ output,
DRM_FORMAT_NV12);
}
}
diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c
index d57b4cc818b7..3055dd3b0fe8 100644
--- a/tests/kms_rmfb.c
+++ b/tests/kms_rmfb.c
@@ -74,11 +74,11 @@ struct rmfb_data {
* so test this and make sure it works.
*/
static void
-test_rmfb(struct rmfb_data *data, igt_output_t *output, enum pipe pipe, bool reopen)
+test_rmfb(struct rmfb_data *data, igt_output_t *output, igt_crtc_t *crtc,
+ bool reopen)
{
struct igt_fb fb, argb_fb;
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
drmModeModeInfo *mode;
igt_plane_t *plane;
drmModeCrtc *drm_crtc;
@@ -189,7 +189,9 @@ run_rmfb_test(struct rmfb_data *data, bool reopen)
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- test_rmfb(data, output, crtc->pipe, reopen);
+ test_rmfb(data, output,
+ crtc,
+ reopen);
}
}
diff --git a/tests/kms_scaling_modes.c b/tests/kms_scaling_modes.c
index 5b0d6485ebb3..b6a04d33338a 100644
--- a/tests/kms_scaling_modes.c
+++ b/tests/kms_scaling_modes.c
@@ -54,7 +54,8 @@ typedef struct data {
int drm_fd;
} data_t;
-static void test_scaling_mode_on_output(igt_display_t *display, enum pipe pipe,
+static void test_scaling_mode_on_output(igt_display_t *display,
+ igt_crtc_t *crtc,
igt_output_t *output, uint32_t flags)
{
igt_plane_t *primary, *sprite;
@@ -62,7 +63,7 @@ static void test_scaling_mode_on_output(igt_display_t *display, enum pipe pipe,
struct igt_fb red, blue;
int ret;
- igt_output_set_crtc(output, igt_crtc_for_pipe(display, pipe));
+ igt_output_set_crtc(output, crtc);
mode = *igt_output_get_mode(output);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
@@ -128,7 +129,8 @@ static void test_scaling_mode(data_t *data, uint32_t flags)
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- test_scaling_mode_on_output(display, crtc->pipe,
+ test_scaling_mode_on_output(display,
+ crtc,
output, flags);
}
}
diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c
index 7844658d8337..67b61e1d2ea0 100644
--- a/tests/kms_universal_plane.c
+++ b/tests/kms_universal_plane.c
@@ -91,11 +91,10 @@ typedef struct {
} gen9_test_t;
static void
-functional_test_init(functional_test_t *test, igt_output_t *output, enum pipe pipe)
+functional_test_init(functional_test_t *test, igt_output_t *output,
+ igt_crtc_t *crtc)
{
data_t *data = test->data;
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
drmModeModeInfo *mode;
test->pipe_crc = igt_crtc_crc_new(crtc,
@@ -158,16 +157,16 @@ functional_test_fini(functional_test_t *test, igt_output_t *output)
* - Enable CRTC, grab CRC:6 (should be same as CRC:2)
*/
static void
-functional_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
+functional_test_pipe(data_t *data, igt_crtc_t *crtc, igt_output_t *output)
{
functional_test_t test = { .data = data };
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_plane_t *primary, *sprite;
int num_primary = 0, num_cursor = 0;
int i;
- functional_test_init(&test, output, crtc->pipe);
+ functional_test_init(&test, output,
+ crtc);
/*
* Make sure we have no more than one primary or cursor plane per crtc.
@@ -347,11 +346,9 @@ functional_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
}
static void
-sanity_test_init(sanity_test_t *test, igt_output_t *output, enum pipe pipe)
+sanity_test_init(sanity_test_t *test, igt_output_t *output, igt_crtc_t *crtc)
{
data_t *data = test->data;
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
drmModeModeInfo *mode;
igt_output_set_crtc(output, crtc);
@@ -399,10 +396,8 @@ sanity_test_fini(sanity_test_t *test, igt_output_t *output)
* - Primary plane tries to scale up
*/
static void
-sanity_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
+sanity_test_pipe(data_t *data, igt_crtc_t *crtc, igt_output_t *output)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
sanity_test_t test = { .data = data };
igt_plane_t *primary;
drmModeModeInfo *mode;
@@ -412,7 +407,8 @@ sanity_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
igt_output_set_crtc(output, crtc);
mode = igt_output_get_mode(output);
- sanity_test_init(&test, output, crtc->pipe);
+ sanity_test_init(&test, output,
+ crtc);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
@@ -494,11 +490,10 @@ sanity_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
}
static void
-pageflip_test_init(pageflip_test_t *test, igt_output_t *output, enum pipe pipe)
+pageflip_test_init(pageflip_test_t *test, igt_output_t *output,
+ igt_crtc_t *crtc)
{
data_t *data = test->data;
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
drmModeModeInfo *mode;
igt_output_set_crtc(output, crtc);
@@ -527,10 +522,8 @@ pageflip_test_fini(pageflip_test_t *test, igt_output_t *output)
}
static void
-pageflip_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
+pageflip_test_pipe(data_t *data, igt_crtc_t *crtc, igt_output_t *output)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
pageflip_test_t test = { .data = data };
igt_plane_t *primary;
struct timeval timeout = { .tv_sec = 0, .tv_usec = 500 };
@@ -541,7 +534,8 @@ pageflip_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
igt_output_set_crtc(output, crtc);
- pageflip_test_init(&test, output, crtc->pipe);
+ pageflip_test_init(&test, output,
+ crtc);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
@@ -639,10 +633,9 @@ intel_gem_fb_count(data_t *data)
}
static void
-cursor_leak_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
+cursor_leak_test_pipe(data_t *data, igt_crtc_t *crtc, igt_output_t *output)
{
igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
igt_plane_t *primary, *cursor;
drmModeModeInfo *mode;
struct igt_fb background_fb;
@@ -734,11 +727,9 @@ cursor_leak_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
}
static void
-gen9_test_init(gen9_test_t *test, igt_output_t *output, enum pipe pipe)
+gen9_test_init(gen9_test_t *test, igt_output_t *output, igt_crtc_t *crtc)
{
data_t *data = test->data;
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
drmModeModeInfo *mode;
igt_output_set_crtc(output, crtc);
@@ -785,10 +776,8 @@ gen9_test_fini(gen9_test_t *test, igt_output_t *output)
* windowing)
*/
static void
-pageflip_win_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
+pageflip_win_test_pipe(data_t *data, igt_crtc_t *crtc, igt_output_t *output)
{
- igt_display_t *display = &data->display;
- igt_crtc_t *crtc = igt_crtc_for_pipe(display, pipe);
gen9_test_t test = { .data = data };
igt_plane_t *primary;
@@ -796,7 +785,7 @@ pageflip_win_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
igt_output_set_crtc(output, crtc);
- gen9_test_init(&test, output, crtc->pipe);
+ gen9_test_init(&test, output, crtc);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
@@ -830,14 +819,14 @@ pageflip_win_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
}
static bool
-pipe_output_combo_valid(igt_display_t *display,
- enum pipe pipe, igt_output_t *output)
+pipe_output_combo_valid(igt_display_t *display, igt_crtc_t *crtc,
+ igt_output_t *output)
{
bool ret = true;
igt_display_reset(display);
- igt_output_set_crtc(output, igt_crtc_for_pipe(display, pipe));
+ igt_output_set_crtc(output, crtc);
if (!intel_pipe_output_combo_valid(display))
ret = false;
igt_output_set_crtc(output, NULL);
@@ -854,24 +843,28 @@ run_tests(data_t *data)
igt_describe("Check the switching between different primary plane fbs with CRTC off");
igt_subtest_with_dynamic("universal-plane-functional") {
for_each_crtc_with_single_output(&data->display, crtc, output) {
- if (!pipe_output_combo_valid(&data->display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data->display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- functional_test_pipe(data, crtc->pipe, output);
+ functional_test_pipe(data,
+ crtc,
+ output);
}
}
igt_describe("Test for scale-up or scale-down using universal plane API without covering CRTC");
igt_subtest_with_dynamic("universal-plane-sanity") {
for_each_crtc_with_single_output(&data->display, crtc, output) {
- if (!pipe_output_combo_valid(&data->display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data->display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- sanity_test_pipe(data, crtc->pipe, output);
+ sanity_test_pipe(data,
+ crtc,
+ output);
}
}
@@ -879,24 +872,27 @@ run_tests(data_t *data)
" and pageflip execution");
igt_subtest_with_dynamic("disable-primary-vs-flip") {
for_each_crtc_with_single_output(&data->display, crtc, output) {
- if (!pipe_output_combo_valid(&data->display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data->display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- pageflip_test_pipe(data, crtc->pipe, output);
+ pageflip_test_pipe(data,
+ crtc,
+ output);
}
}
igt_describe("Check for cursor leaks after performing cursor operations");
igt_subtest_with_dynamic("cursor-fb-leak") {
for_each_crtc_with_single_output(&data->display, crtc, output) {
- if (!pipe_output_combo_valid(&data->display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data->display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- cursor_leak_test_pipe(data, crtc->pipe,
+ cursor_leak_test_pipe(data,
+ crtc,
output);
}
}
@@ -905,12 +901,13 @@ run_tests(data_t *data)
igt_subtest_with_dynamic("universal-plane-pageflip-windowed") {
igt_require(is_intel_device(data->drm_fd) && data->display_ver >= 9);
for_each_crtc_with_single_output(&data->display, crtc, output) {
- if (!pipe_output_combo_valid(&data->display, crtc->pipe, output))
+ if (!pipe_output_combo_valid(&data->display, crtc, output))
continue;
igt_dynamic_f("pipe-%s-%s", igt_crtc_name(crtc),
igt_output_name(output))
- pageflip_win_test_pipe(data, crtc->pipe,
+ pageflip_win_test_pipe(data,
+ crtc,
output);
}
}
--
2.52.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* ✗ Xe.CI.BAT: failure for tests/kms: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (16 preceding siblings ...)
2026-02-11 16:34 ` [PATCH i-g-t 17/17] tests/kms: " Ville Syrjala
@ 2026-02-11 17:35 ` Patchwork
2026-02-11 17:47 ` ✓ i915.CI.BAT: success " Patchwork
` (3 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2026-02-11 17:35 UTC (permalink / raw)
To: Ville Syrjala; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 2563 bytes --]
== Series Details ==
Series: tests/kms: Use igt_crtc_t instead of enum pipe
URL : https://patchwork.freedesktop.org/series/161505/
State : failure
== Summary ==
CI Bug Log - changes from XEIGT_8751_BAT -> XEIGTPW_14542_BAT
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with XEIGTPW_14542_BAT absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in XEIGTPW_14542_BAT, 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 (12 -> 12)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in XEIGTPW_14542_BAT:
### IGT changes ###
#### Possible regressions ####
* igt@xe_peer2peer@write@write-gpua-system-gpub-vram01-p2p:
- bat-bmg-3: [PASS][1] -> [INCOMPLETE][2] +1 other test incomplete
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/bat-bmg-3/igt@xe_peer2peer@write@write-gpua-system-gpub-vram01-p2p.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/bat-bmg-3/igt@xe_peer2peer@write@write-gpua-system-gpub-vram01-p2p.html
Known issues
------------
Here are the changes found in XEIGTPW_14542_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit:
- bat-bmg-2: NOTRUN -> [SKIP][3] ([Intel XE#2229])
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/bat-bmg-2/igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit.html
#### Possible fixes ####
* igt@core_hotunplug@unbind-rebind:
- bat-bmg-2: [ABORT][4] -> [PASS][5]
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/bat-bmg-2/igt@core_hotunplug@unbind-rebind.html
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/bat-bmg-2/igt@core_hotunplug@unbind-rebind.html
[Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
Build changes
-------------
* IGT: IGT_8751 -> IGTPW_14542
IGTPW_14542: 14542
IGT_8751: af788251f1ef729d17c802aec2c4547b52059e58 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-4544-2938ce73d01357a5816ed7dbd041154b58635a37: 2938ce73d01357a5816ed7dbd041154b58635a37
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/index.html
[-- Attachment #2: Type: text/html, Size: 3194 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread* ✓ i915.CI.BAT: success for tests/kms: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (17 preceding siblings ...)
2026-02-11 17:35 ` ✗ Xe.CI.BAT: failure for " Patchwork
@ 2026-02-11 17:47 ` Patchwork
2026-02-12 6:18 ` ✗ i915.CI.Full: failure " Patchwork
` (2 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2026-02-11 17:47 UTC (permalink / raw)
To: Ville Syrjala; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 2514 bytes --]
== Series Details ==
Series: tests/kms: Use igt_crtc_t instead of enum pipe
URL : https://patchwork.freedesktop.org/series/161505/
State : success
== Summary ==
CI Bug Log - changes from IGT_8751 -> IGTPW_14542
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/index.html
Participating hosts (43 -> 41)
------------------------------
Missing (2): bat-dg2-13 fi-snb-2520m
Known issues
------------
Here are the changes found in IGTPW_14542 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live:
- bat-mtlp-8: [PASS][1] -> [DMESG-FAIL][2] ([i915#12061]) +1 other test dmesg-fail
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/bat-mtlp-8/igt@i915_selftest@live.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/bat-mtlp-8/igt@i915_selftest@live.html
#### Possible fixes ####
* igt@i915_selftest@live:
- bat-dg2-8: [DMESG-FAIL][3] ([i915#12061]) -> [PASS][4] +1 other test pass
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/bat-dg2-8/igt@i915_selftest@live.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/bat-dg2-8/igt@i915_selftest@live.html
* igt@i915_selftest@live@perf:
- bat-arlh-2: [INCOMPLETE][5] -> [PASS][6] +1 other test pass
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/bat-arlh-2/igt@i915_selftest@live@perf.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/bat-arlh-2/igt@i915_selftest@live@perf.html
* igt@i915_selftest@live@workarounds:
- bat-dg2-9: [DMESG-FAIL][7] ([i915#12061]) -> [PASS][8] +1 other test pass
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/bat-dg2-9/igt@i915_selftest@live@workarounds.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/bat-dg2-9/igt@i915_selftest@live@workarounds.html
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8751 -> IGTPW_14542
CI-20190529: 20190529
CI_DRM_17976: 2938ce73d01357a5816ed7dbd041154b58635a37 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_14542: 14542
IGT_8751: af788251f1ef729d17c802aec2c4547b52059e58 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/index.html
[-- Attachment #2: Type: text/html, Size: 3350 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread* ✗ i915.CI.Full: failure for tests/kms: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (18 preceding siblings ...)
2026-02-11 17:47 ` ✓ i915.CI.BAT: success " Patchwork
@ 2026-02-12 6:18 ` Patchwork
2026-02-12 9:42 ` [PATCH i-g-t 00/17] " Jani Nikula
2026-02-13 2:09 ` ✗ Xe.CI.FULL: failure for " Patchwork
21 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2026-02-12 6:18 UTC (permalink / raw)
To: Ville Syrjala; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 138319 bytes --]
== Series Details ==
Series: tests/kms: Use igt_crtc_t instead of enum pipe
URL : https://patchwork.freedesktop.org/series/161505/
State : failure
== Summary ==
CI Bug Log - changes from IGT_8751_full -> IGTPW_14542_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_14542_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_14542_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.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/index.html
Participating hosts (9 -> 9)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_14542_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-glk: NOTRUN -> [FAIL][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
#### Warnings ####
* igt@gem_lmem_swapping@smem-oom@lmem0:
- shard-dg1: [CRASH][2] ([i915#5493]) -> [CRASH][3]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg1-13/igt@gem_lmem_swapping@smem-oom@lmem0.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-18/igt@gem_lmem_swapping@smem-oom@lmem0.html
Known issues
------------
Here are the changes found in IGTPW_14542_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_bad_reloc@negative-reloc-bltcopy:
- shard-mtlp: NOTRUN -> [SKIP][4] ([i915#3281])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-2/igt@gem_bad_reloc@negative-reloc-bltcopy.html
- shard-dg2: NOTRUN -> [SKIP][5] ([i915#3281])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-7/igt@gem_bad_reloc@negative-reloc-bltcopy.html
* igt@gem_bad_reloc@negative-reloc-lut:
- shard-rkl: NOTRUN -> [SKIP][6] ([i915#3281]) +9 other tests skip
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-4/igt@gem_bad_reloc@negative-reloc-lut.html
* igt@gem_basic@multigpu-create-close:
- shard-tglu-1: NOTRUN -> [SKIP][7] ([i915#7697])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@gem_basic@multigpu-create-close.html
* igt@gem_ccs@ctrl-surf-copy:
- shard-rkl: NOTRUN -> [SKIP][8] ([i915#3555] / [i915#9323])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@gem_ccs@ctrl-surf-copy.html
* igt@gem_ccs@suspend-resume:
- shard-rkl: NOTRUN -> [SKIP][9] ([i915#9323])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-4/igt@gem_ccs@suspend-resume.html
* igt@gem_close_race@multigpu-basic-threads:
- shard-rkl: NOTRUN -> [SKIP][10] ([i915#7697])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@gem_close_race@multigpu-basic-threads.html
* igt@gem_create@create-ext-cpu-access-big:
- shard-rkl: NOTRUN -> [SKIP][11] ([i915#6335])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@gem_create@create-ext-cpu-access-big.html
* igt@gem_ctx_isolation@preservation-s3@rcs0:
- shard-glk: NOTRUN -> [INCOMPLETE][12] ([i915#13356]) +1 other test incomplete
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk9/igt@gem_ctx_isolation@preservation-s3@rcs0.html
* igt@gem_ctx_isolation@preservation-s3@vecs0:
- shard-rkl: NOTRUN -> [ABORT][13] ([i915#15131])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-1/igt@gem_ctx_isolation@preservation-s3@vecs0.html
* igt@gem_ctx_sseu@engines:
- shard-tglu: NOTRUN -> [SKIP][14] ([i915#280])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-4/igt@gem_ctx_sseu@engines.html
* igt@gem_ctx_sseu@invalid-args:
- shard-tglu-1: NOTRUN -> [SKIP][15] ([i915#280])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@gem_ctx_sseu@invalid-args.html
* igt@gem_exec_balancer@bonded-sync:
- shard-dg2: NOTRUN -> [SKIP][16] ([i915#4771])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-3/igt@gem_exec_balancer@bonded-sync.html
- shard-dg1: NOTRUN -> [SKIP][17] ([i915#4771])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-16/igt@gem_exec_balancer@bonded-sync.html
- shard-mtlp: NOTRUN -> [SKIP][18] ([i915#4771])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-1/igt@gem_exec_balancer@bonded-sync.html
* igt@gem_exec_balancer@parallel-balancer:
- shard-tglu-1: NOTRUN -> [SKIP][19] ([i915#4525]) +1 other test skip
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@gem_exec_balancer@parallel-balancer.html
* igt@gem_exec_balancer@parallel-keep-submit-fence:
- shard-rkl: NOTRUN -> [SKIP][20] ([i915#4525])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@gem_exec_balancer@parallel-keep-submit-fence.html
- shard-tglu: NOTRUN -> [SKIP][21] ([i915#4525]) +1 other test skip
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-8/igt@gem_exec_balancer@parallel-keep-submit-fence.html
* igt@gem_exec_flush@basic-uc-set-default:
- shard-dg1: NOTRUN -> [SKIP][22] ([i915#3539])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-18/igt@gem_exec_flush@basic-uc-set-default.html
* igt@gem_exec_reloc@basic-concurrent0:
- shard-rkl: NOTRUN -> [SKIP][23] ([i915#14544] / [i915#3281])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@gem_exec_reloc@basic-concurrent0.html
* igt@gem_exec_reloc@basic-write-read-noreloc:
- shard-dg1: NOTRUN -> [SKIP][24] ([i915#3281]) +2 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-16/igt@gem_exec_reloc@basic-write-read-noreloc.html
* igt@gem_exec_schedule@reorder-wide:
- shard-dg1: NOTRUN -> [SKIP][25] ([i915#4812])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@gem_exec_schedule@reorder-wide.html
* igt@gem_exec_suspend@basic-s3:
- shard-rkl: [PASS][26] -> [INCOMPLETE][27] ([i915#13356]) +1 other test incomplete
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-5/igt@gem_exec_suspend@basic-s3.html
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@gem_exec_suspend@basic-s3.html
* igt@gem_huc_copy@huc-copy:
- shard-glk: NOTRUN -> [SKIP][28] ([i915#2190])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk9/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@heavy-multi:
- shard-tglu: NOTRUN -> [SKIP][29] ([i915#4613]) +1 other test skip
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-3/igt@gem_lmem_swapping@heavy-multi.html
- shard-mtlp: NOTRUN -> [SKIP][30] ([i915#4613])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-8/igt@gem_lmem_swapping@heavy-multi.html
* igt@gem_lmem_swapping@parallel-random-engines:
- shard-rkl: NOTRUN -> [SKIP][31] ([i915#4613]) +2 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@gem_lmem_swapping@parallel-random-engines.html
* igt@gem_lmem_swapping@random:
- shard-glk: NOTRUN -> [SKIP][32] ([i915#4613]) +5 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk9/igt@gem_lmem_swapping@random.html
* igt@gem_lmem_swapping@verify-ccs:
- shard-tglu-1: NOTRUN -> [SKIP][33] ([i915#4613]) +2 other tests skip
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@gem_lmem_swapping@verify-ccs.html
* igt@gem_mmap@big-bo:
- shard-dg2: NOTRUN -> [SKIP][34] ([i915#4083]) +2 other tests skip
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-6/igt@gem_mmap@big-bo.html
* igt@gem_mmap_gtt@basic-read-write-distinct:
- shard-dg2: NOTRUN -> [SKIP][35] ([i915#4077]) +2 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-8/igt@gem_mmap_gtt@basic-read-write-distinct.html
* igt@gem_mmap_gtt@cpuset-medium-copy-xy:
- shard-dg1: NOTRUN -> [SKIP][36] ([i915#4077]) +5 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@gem_mmap_gtt@cpuset-medium-copy-xy.html
* igt@gem_mmap_gtt@hang-busy:
- shard-mtlp: NOTRUN -> [SKIP][37] ([i915#4077]) +2 other tests skip
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-8/igt@gem_mmap_gtt@hang-busy.html
* igt@gem_mmap_wc@write-read:
- shard-dg1: NOTRUN -> [SKIP][38] ([i915#4083]) +2 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@gem_mmap_wc@write-read.html
- shard-mtlp: NOTRUN -> [SKIP][39] ([i915#4083]) +2 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-6/igt@gem_mmap_wc@write-read.html
* igt@gem_pwrite@basic-exhaustion:
- shard-tglu: NOTRUN -> [WARN][40] ([i915#2658])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-5/igt@gem_pwrite@basic-exhaustion.html
* igt@gem_pwrite@basic-random:
- shard-rkl: NOTRUN -> [SKIP][41] ([i915#3282]) +4 other tests skip
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@gem_pwrite@basic-random.html
* igt@gem_pxp@hw-rejects-pxp-context:
- shard-rkl: NOTRUN -> [SKIP][42] ([i915#13717])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@gem_pxp@hw-rejects-pxp-context.html
- shard-tglu: NOTRUN -> [SKIP][43] ([i915#13398])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-4/igt@gem_pxp@hw-rejects-pxp-context.html
- shard-mtlp: NOTRUN -> [SKIP][44] ([i915#13398])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-2/igt@gem_pxp@hw-rejects-pxp-context.html
* igt@gem_pxp@regular-baseline-src-copy-readible:
- shard-dg2: NOTRUN -> [SKIP][45] ([i915#4270])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-11/igt@gem_pxp@regular-baseline-src-copy-readible.html
- shard-dg1: NOTRUN -> [SKIP][46] ([i915#4270])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-13/igt@gem_pxp@regular-baseline-src-copy-readible.html
* igt@gem_pxp@verify-pxp-execution-after-suspend-resume:
- shard-rkl: [PASS][47] -> [ABORT][48] ([i915#15131])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-3/igt@gem_pxp@verify-pxp-execution-after-suspend-resume.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-1/igt@gem_pxp@verify-pxp-execution-after-suspend-resume.html
* igt@gem_readwrite@new-obj:
- shard-mtlp: NOTRUN -> [SKIP][49] ([i915#3282])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-1/igt@gem_readwrite@new-obj.html
- shard-dg2: NOTRUN -> [SKIP][50] ([i915#3282])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-1/igt@gem_readwrite@new-obj.html
- shard-dg1: NOTRUN -> [SKIP][51] ([i915#3282])
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@gem_readwrite@new-obj.html
* igt@gem_render_copy@yf-tiled-to-vebox-x-tiled:
- shard-dg2: NOTRUN -> [SKIP][52] ([i915#5190] / [i915#8428])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-4/igt@gem_render_copy@yf-tiled-to-vebox-x-tiled.html
- shard-mtlp: NOTRUN -> [SKIP][53] ([i915#8428])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-3/igt@gem_render_copy@yf-tiled-to-vebox-x-tiled.html
* igt@gem_set_tiling_vs_blt@tiled-to-tiled:
- shard-rkl: NOTRUN -> [SKIP][54] ([i915#8411])
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-3/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html
* igt@gem_set_tiling_vs_blt@tiled-to-untiled:
- shard-dg2: NOTRUN -> [SKIP][55] ([i915#4079])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-8/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html
- shard-dg1: NOTRUN -> [SKIP][56] ([i915#4079]) +1 other test skip
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-12/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html
- shard-mtlp: NOTRUN -> [SKIP][57] ([i915#4079])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-8/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html
* igt@gem_softpin@evict-snoop:
- shard-rkl: NOTRUN -> [SKIP][58] ([i915#14544]) +1 other test skip
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@gem_softpin@evict-snoop.html
- shard-tglu-1: NOTRUN -> [SKIP][59] +18 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@gem_softpin@evict-snoop.html
* igt@gem_softpin@noreloc-s3:
- shard-rkl: [PASS][60] -> [INCOMPLETE][61] ([i915#13809])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-8/igt@gem_softpin@noreloc-s3.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-4/igt@gem_softpin@noreloc-s3.html
* igt@gem_userptr_blits@access-control:
- shard-mtlp: NOTRUN -> [SKIP][62] ([i915#3297]) +1 other test skip
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-5/igt@gem_userptr_blits@access-control.html
* igt@gem_userptr_blits@coherency-unsync:
- shard-rkl: NOTRUN -> [SKIP][63] ([i915#3297]) +1 other test skip
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@gem_userptr_blits@coherency-unsync.html
* igt@gem_userptr_blits@dmabuf-unsync:
- shard-dg2: NOTRUN -> [SKIP][64] ([i915#3297]) +1 other test skip
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-1/igt@gem_userptr_blits@dmabuf-unsync.html
- shard-rkl: NOTRUN -> [SKIP][65] ([i915#14544] / [i915#3297])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@gem_userptr_blits@dmabuf-unsync.html
- shard-dg1: NOTRUN -> [SKIP][66] ([i915#3297]) +2 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@gem_userptr_blits@dmabuf-unsync.html
- shard-tglu: NOTRUN -> [SKIP][67] ([i915#3297]) +3 other tests skip
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-7/igt@gem_userptr_blits@dmabuf-unsync.html
* igt@gem_userptr_blits@invalid-mmap-offset-unsync:
- shard-tglu-1: NOTRUN -> [SKIP][68] ([i915#3297])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html
* igt@gem_userptr_blits@sd-probe:
- shard-dg2: NOTRUN -> [SKIP][69] ([i915#3297] / [i915#4958])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-1/igt@gem_userptr_blits@sd-probe.html
- shard-dg1: NOTRUN -> [SKIP][70] ([i915#3297] / [i915#4958])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@gem_userptr_blits@sd-probe.html
* igt@gen7_exec_parse@oacontrol-tracking:
- shard-snb: NOTRUN -> [SKIP][71] +99 other tests skip
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-snb1/igt@gen7_exec_parse@oacontrol-tracking.html
* igt@gen9_exec_parse@basic-rejected-ctx-param:
- shard-tglu: NOTRUN -> [SKIP][72] ([i915#2527] / [i915#2856]) +1 other test skip
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-7/igt@gen9_exec_parse@basic-rejected-ctx-param.html
* igt@gen9_exec_parse@bb-start-param:
- shard-tglu-1: NOTRUN -> [SKIP][73] ([i915#2527] / [i915#2856])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@gen9_exec_parse@bb-start-param.html
* igt@gen9_exec_parse@unaligned-access:
- shard-dg2: NOTRUN -> [SKIP][74] ([i915#2856])
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-8/igt@gen9_exec_parse@unaligned-access.html
- shard-dg1: NOTRUN -> [SKIP][75] ([i915#2527]) +1 other test skip
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-13/igt@gen9_exec_parse@unaligned-access.html
- shard-mtlp: NOTRUN -> [SKIP][76] ([i915#2856])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-7/igt@gen9_exec_parse@unaligned-access.html
* igt@gen9_exec_parse@valid-registers:
- shard-rkl: NOTRUN -> [SKIP][77] ([i915#2527]) +3 other tests skip
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@gen9_exec_parse@valid-registers.html
* igt@i915_drm_fdinfo@all-busy-check-all:
- shard-dg1: NOTRUN -> [SKIP][78] ([i915#14123])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@i915_drm_fdinfo@all-busy-check-all.html
* igt@i915_module_load@fault-injection:
- shard-dg1: NOTRUN -> [ABORT][79] ([i915#11815] / [i915#15481]) +1 other test abort
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-18/igt@i915_module_load@fault-injection.html
* igt@i915_module_load@fault-injection@i915_driver_mmio_probe:
- shard-dg1: NOTRUN -> [INCOMPLETE][80] ([i915#15481])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-18/igt@i915_module_load@fault-injection@i915_driver_mmio_probe.html
* igt@i915_module_load@fault-injection@intel_connector_register:
- shard-tglu: NOTRUN -> [ABORT][81] ([i915#15342]) +1 other test abort
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-8/igt@i915_module_load@fault-injection@intel_connector_register.html
* igt@i915_module_load@fault-injection@uc_fw_rsa_data_create:
- shard-tglu: NOTRUN -> [SKIP][82] ([i915#15479]) +4 other tests skip
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-8/igt@i915_module_load@fault-injection@uc_fw_rsa_data_create.html
* igt@i915_module_load@reload-no-display:
- shard-tglu: [PASS][83] -> [DMESG-WARN][84] ([i915#13029] / [i915#14545])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-tglu-4/igt@i915_module_load@reload-no-display.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-2/igt@i915_module_load@reload-no-display.html
* igt@i915_pm_freq_api@freq-suspend:
- shard-tglu: NOTRUN -> [SKIP][85] ([i915#8399])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-7/igt@i915_pm_freq_api@freq-suspend.html
* igt@i915_pm_rps@min-max-config-loaded:
- shard-dg2: NOTRUN -> [SKIP][86] ([i915#11681] / [i915#6621])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-1/igt@i915_pm_rps@min-max-config-loaded.html
- shard-dg1: NOTRUN -> [SKIP][87] ([i915#11681] / [i915#6621])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@i915_pm_rps@min-max-config-loaded.html
- shard-mtlp: NOTRUN -> [SKIP][88] ([i915#11681] / [i915#6621])
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-1/igt@i915_pm_rps@min-max-config-loaded.html
* igt@i915_power@sanity:
- shard-rkl: NOTRUN -> [SKIP][89] ([i915#7984])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@i915_power@sanity.html
* igt@i915_suspend@basic-s2idle-without-i915:
- shard-dg1: [PASS][90] -> [DMESG-WARN][91] ([i915#4391] / [i915#4423])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg1-16/igt@i915_suspend@basic-s2idle-without-i915.html
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-18/igt@i915_suspend@basic-s2idle-without-i915.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
- shard-dg2: [PASS][92] -> [FAIL][93] ([i915#5956]) +1 other test fail
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-7/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-1/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
- shard-tglu-1: NOTRUN -> [SKIP][94] ([i915#1769] / [i915#3555])
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
- shard-snb: NOTRUN -> [SKIP][95] ([i915#1769])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-snb7/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
* igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
- shard-glk: NOTRUN -> [SKIP][96] ([i915#1769])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk9/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip:
- shard-tglu-1: NOTRUN -> [SKIP][97] ([i915#5286]) +2 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
- shard-rkl: NOTRUN -> [SKIP][98] ([i915#5286]) +5 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-4/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
- shard-dg1: NOTRUN -> [SKIP][99] ([i915#4538] / [i915#5286]) +2 other tests skip
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-13/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
- shard-tglu: NOTRUN -> [SKIP][100] ([i915#5286]) +4 other tests skip
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-10/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
* igt@kms_big_fb@linear-64bpp-rotate-90:
- shard-rkl: NOTRUN -> [SKIP][101] ([i915#3638]) +3 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_big_fb@linear-64bpp-rotate-90.html
* igt@kms_big_fb@x-tiled-64bpp-rotate-90:
- shard-mtlp: NOTRUN -> [SKIP][102] +3 other tests skip
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-8/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-8bpp-rotate-90:
- shard-dg2: NOTRUN -> [SKIP][103] ([i915#4538] / [i915#5190]) +1 other test skip
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-11/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html
- shard-dg1: NOTRUN -> [SKIP][104] ([i915#3638]) +2 other tests skip
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-17/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-16bpp-rotate-270:
- shard-rkl: NOTRUN -> [SKIP][105] +14 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-8bpp-rotate-90:
- shard-dg1: NOTRUN -> [SKIP][106] ([i915#4538])
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-13/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html
* igt@kms_ccs@bad-aux-stride-y-tiled-ccs@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][107] ([i915#10307] / [i915#10434] / [i915#6095]) +1 other test skip
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-4/igt@kms_ccs@bad-aux-stride-y-tiled-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-3:
- shard-dg2: NOTRUN -> [SKIP][108] ([i915#10307] / [i915#6095]) +105 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-11/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-3.html
* igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs:
- shard-mtlp: NOTRUN -> [SKIP][109] ([i915#6095]) +4 other tests skip
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-6/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs:
- shard-tglu-1: NOTRUN -> [SKIP][110] ([i915#12313])
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][111] ([i915#14544] / [i915#6095]) +2 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][112] ([i915#6095]) +52 other tests skip
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-7/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-3.html
* igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
- shard-dg2: NOTRUN -> [SKIP][113] ([i915#12313]) +1 other test skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-7/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
- shard-dg1: NOTRUN -> [SKIP][114] ([i915#12313]) +1 other test skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-17/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
- shard-tglu: NOTRUN -> [SKIP][115] ([i915#12313]) +1 other test skip
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-6/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
- shard-mtlp: NOTRUN -> [SKIP][116] ([i915#12313]) +1 other test skip
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-6/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][117] ([i915#6095]) +29 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-4/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-1.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][118] ([i915#6095]) +60 other tests skip
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-4/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-a-hdmi-a-2:
- shard-glk: NOTRUN -> [INCOMPLETE][119] ([i915#14694] / [i915#15582])
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk1/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-a-hdmi-a-2.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc:
- shard-rkl: NOTRUN -> [INCOMPLETE][120] ([i915#15582]) +1 other test incomplete
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1:
- shard-dg1: NOTRUN -> [SKIP][121] ([i915#6095]) +199 other tests skip
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1.html
- shard-glk: NOTRUN -> [INCOMPLETE][122] ([i915#15582]) +1 other test incomplete
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk5/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1.html
* igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][123] ([i915#14098] / [i915#14544] / [i915#6095]) +1 other test skip
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
- shard-rkl: NOTRUN -> [SKIP][124] ([i915#12313]) +4 other tests skip
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-c-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][125] ([i915#14098] / [i915#6095]) +41 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-c-hdmi-a-1.html
* igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1:
- shard-tglu-1: NOTRUN -> [SKIP][126] ([i915#6095]) +29 other tests skip
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1.html
* igt@kms_cdclk@mode-transition:
- shard-rkl: NOTRUN -> [SKIP][127] ([i915#3742])
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_cdclk@mode-transition.html
- shard-tglu: NOTRUN -> [SKIP][128] ([i915#3742])
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-10/igt@kms_cdclk@mode-transition.html
* igt@kms_chamelium_edid@hdmi-edid-read:
- shard-dg1: NOTRUN -> [SKIP][129] ([i915#11151] / [i915#7828]) +4 other tests skip
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-12/igt@kms_chamelium_edid@hdmi-edid-read.html
- shard-tglu: NOTRUN -> [SKIP][130] ([i915#11151] / [i915#7828]) +7 other tests skip
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-3/igt@kms_chamelium_edid@hdmi-edid-read.html
* igt@kms_chamelium_frames@dp-crc-single:
- shard-tglu-1: NOTRUN -> [SKIP][131] ([i915#11151] / [i915#7828]) +4 other tests skip
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_chamelium_frames@dp-crc-single.html
* igt@kms_chamelium_frames@hdmi-cmp-planar-formats:
- shard-rkl: NOTRUN -> [SKIP][132] ([i915#11151] / [i915#14544] / [i915#7828])
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_chamelium_frames@hdmi-cmp-planar-formats.html
* igt@kms_chamelium_frames@hdmi-crc-multiple:
- shard-dg2: NOTRUN -> [SKIP][133] ([i915#11151] / [i915#7828]) +2 other tests skip
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-3/igt@kms_chamelium_frames@hdmi-crc-multiple.html
- shard-rkl: NOTRUN -> [SKIP][134] ([i915#11151] / [i915#7828]) +4 other tests skip
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@kms_chamelium_frames@hdmi-crc-multiple.html
- shard-mtlp: NOTRUN -> [SKIP][135] ([i915#11151] / [i915#7828]) +2 other tests skip
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-2/igt@kms_chamelium_frames@hdmi-crc-multiple.html
* igt@kms_content_protection@atomic-dpms-hdcp14@pipe-a-dp-3:
- shard-dg2: NOTRUN -> [FAIL][136] ([i915#7173]) +1 other test fail
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-11/igt@kms_content_protection@atomic-dpms-hdcp14@pipe-a-dp-3.html
* igt@kms_content_protection@content-type-change:
- shard-rkl: NOTRUN -> [SKIP][137] ([i915#6944] / [i915#9424])
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_content_protection@content-type-change.html
* igt@kms_content_protection@dp-mst-lic-type-0-hdcp14:
- shard-rkl: NOTRUN -> [SKIP][138] ([i915#15330])
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html
* igt@kms_content_protection@dp-mst-type-0-suspend-resume:
- shard-dg1: NOTRUN -> [SKIP][139] ([i915#15330])
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html
* igt@kms_content_protection@dp-mst-type-1:
- shard-rkl: NOTRUN -> [SKIP][140] ([i915#15330] / [i915#3116])
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@kms_content_protection@dp-mst-type-1.html
* igt@kms_content_protection@lic-type-0-hdcp14:
- shard-dg2: NOTRUN -> [SKIP][141] ([i915#6944])
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-7/igt@kms_content_protection@lic-type-0-hdcp14.html
- shard-dg1: NOTRUN -> [SKIP][142] ([i915#6944])
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-12/igt@kms_content_protection@lic-type-0-hdcp14.html
- shard-tglu: NOTRUN -> [SKIP][143] ([i915#6944])
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-8/igt@kms_content_protection@lic-type-0-hdcp14.html
- shard-mtlp: NOTRUN -> [SKIP][144] ([i915#6944])
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-1/igt@kms_content_protection@lic-type-0-hdcp14.html
* igt@kms_content_protection@lic-type-1:
- shard-tglu-1: NOTRUN -> [SKIP][145] ([i915#6944] / [i915#9424])
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_content_protection@lic-type-1.html
* igt@kms_content_protection@suspend-resume:
- shard-rkl: NOTRUN -> [SKIP][146] ([i915#6944]) +1 other test skip
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_content_protection@suspend-resume.html
* igt@kms_content_protection@type1:
- shard-tglu: NOTRUN -> [SKIP][147] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424])
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-3/igt@kms_content_protection@type1.html
* igt@kms_content_protection@uevent@pipe-a-dp-3:
- shard-dg2: NOTRUN -> [FAIL][148] ([i915#1339] / [i915#7173])
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-11/igt@kms_content_protection@uevent@pipe-a-dp-3.html
* igt@kms_cursor_crc@cursor-onscreen-128x42:
- shard-tglu: [PASS][149] -> [FAIL][150] ([i915#13566]) +3 other tests fail
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-tglu-7/igt@kms_cursor_crc@cursor-onscreen-128x42.html
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-8/igt@kms_cursor_crc@cursor-onscreen-128x42.html
* igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [FAIL][151] ([i915#13566]) +2 other tests fail
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-2.html
* igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-2:
- shard-rkl: [PASS][152] -> [FAIL][153] ([i915#13566]) +1 other test fail
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-4/igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-2.html
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-2.html
* igt@kms_cursor_crc@cursor-random-512x512:
- shard-rkl: NOTRUN -> [SKIP][154] ([i915#13049])
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_cursor_crc@cursor-random-512x512.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x10:
- shard-tglu: NOTRUN -> [SKIP][155] ([i915#3555]) +5 other tests skip
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-7/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x32:
- shard-tglu-1: NOTRUN -> [SKIP][156] ([i915#3555])
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
* igt@kms_cursor_crc@cursor-sliding-256x85:
- shard-tglu-1: NOTRUN -> [FAIL][157] ([i915#13566]) +3 other tests fail
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_cursor_crc@cursor-sliding-256x85.html
* igt@kms_cursor_crc@cursor-sliding-512x170:
- shard-tglu-1: NOTRUN -> [SKIP][158] ([i915#13049])
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_cursor_crc@cursor-sliding-512x170.html
* igt@kms_cursor_crc@cursor-sliding-512x512:
- shard-dg1: NOTRUN -> [SKIP][159] ([i915#13049])
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@kms_cursor_crc@cursor-sliding-512x512.html
- shard-tglu: NOTRUN -> [SKIP][160] ([i915#13049])
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-7/igt@kms_cursor_crc@cursor-sliding-512x512.html
* igt@kms_cursor_legacy@cursora-vs-flipb-toggle:
- shard-dg2: NOTRUN -> [SKIP][161] ([i915#13046] / [i915#5354])
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-11/igt@kms_cursor_legacy@cursora-vs-flipb-toggle.html
- shard-mtlp: NOTRUN -> [SKIP][162] ([i915#9809])
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-5/igt@kms_cursor_legacy@cursora-vs-flipb-toggle.html
* igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
- shard-rkl: NOTRUN -> [SKIP][163] ([i915#9067])
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
- shard-dg2: NOTRUN -> [SKIP][164] ([i915#4103] / [i915#4213])
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
- shard-rkl: NOTRUN -> [SKIP][165] ([i915#4103])
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
- shard-dg1: NOTRUN -> [SKIP][166] ([i915#4103] / [i915#4213])
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-16/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
- shard-tglu: NOTRUN -> [SKIP][167] ([i915#4103])
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-10/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
- shard-mtlp: NOTRUN -> [SKIP][168] ([i915#4213])
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-4/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
* igt@kms_dirtyfb@psr-dirtyfb-ioctl:
- shard-rkl: NOTRUN -> [SKIP][169] ([i915#9723])
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html
* igt@kms_dp_link_training@non-uhbr-sst:
- shard-tglu-1: NOTRUN -> [SKIP][170] ([i915#13749])
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_dp_link_training@non-uhbr-sst.html
* igt@kms_dp_linktrain_fallback@dp-fallback:
- shard-dg2: [PASS][171] -> [SKIP][172] ([i915#13707])
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-11/igt@kms_dp_linktrain_fallback@dp-fallback.html
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-8/igt@kms_dp_linktrain_fallback@dp-fallback.html
* igt@kms_dsc@dsc-with-output-formats-with-bpc:
- shard-dg1: NOTRUN -> [SKIP][173] ([i915#3840] / [i915#9053])
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-13/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
- shard-tglu: NOTRUN -> [SKIP][174] ([i915#3840] / [i915#9053])
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-10/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-glk: NOTRUN -> [INCOMPLETE][175] ([i915#9878])
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk5/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_feature_discovery@chamelium:
- shard-tglu: NOTRUN -> [SKIP][176] ([i915#2065] / [i915#4854])
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-4/igt@kms_feature_discovery@chamelium.html
* igt@kms_feature_discovery@display-2x:
- shard-rkl: NOTRUN -> [SKIP][177] ([i915#1839])
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_feature_discovery@display-2x.html
* igt@kms_feature_discovery@dp-mst:
- shard-rkl: NOTRUN -> [SKIP][178] ([i915#9337])
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_feature_discovery@dp-mst.html
* igt@kms_feature_discovery@psr1:
- shard-tglu-1: NOTRUN -> [SKIP][179] ([i915#658])
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_feature_discovery@psr1.html
* igt@kms_flip@2x-absolute-wf_vblank-interruptible:
- shard-tglu-1: NOTRUN -> [SKIP][180] ([i915#3637] / [i915#9934]) +4 other tests skip
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_flip@2x-absolute-wf_vblank-interruptible.html
* igt@kms_flip@2x-dpms-vs-vblank-race:
- shard-dg2: NOTRUN -> [SKIP][181] ([i915#9934])
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-6/igt@kms_flip@2x-dpms-vs-vblank-race.html
- shard-mtlp: NOTRUN -> [SKIP][182] ([i915#3637] / [i915#9934])
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-4/igt@kms_flip@2x-dpms-vs-vblank-race.html
* igt@kms_flip@2x-flip-vs-dpms-on-nop:
- shard-tglu: NOTRUN -> [SKIP][183] ([i915#9934])
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-2/igt@kms_flip@2x-flip-vs-dpms-on-nop.html
* igt@kms_flip@2x-flip-vs-suspend@ab-vga1-hdmi-a1:
- shard-snb: [PASS][184] -> [TIMEOUT][185] ([i915#14033]) +1 other test timeout
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-snb7/igt@kms_flip@2x-flip-vs-suspend@ab-vga1-hdmi-a1.html
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-snb5/igt@kms_flip@2x-flip-vs-suspend@ab-vga1-hdmi-a1.html
* igt@kms_flip@2x-modeset-vs-vblank-race:
- shard-dg1: NOTRUN -> [SKIP][186] ([i915#9934]) +2 other tests skip
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-18/igt@kms_flip@2x-modeset-vs-vblank-race.html
- shard-tglu: NOTRUN -> [SKIP][187] ([i915#3637] / [i915#9934]) +4 other tests skip
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-2/igt@kms_flip@2x-modeset-vs-vblank-race.html
* igt@kms_flip@2x-modeset-vs-vblank-race-interruptible:
- shard-rkl: NOTRUN -> [SKIP][188] ([i915#9934]) +4 other tests skip
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@kms_flip@2x-modeset-vs-vblank-race-interruptible.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-glk10: NOTRUN -> [INCOMPLETE][189] ([i915#12745] / [i915#4839])
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk10/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1:
- shard-glk10: NOTRUN -> [INCOMPLETE][190] ([i915#12745])
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk10/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling:
- shard-rkl: NOTRUN -> [SKIP][191] ([i915#15643])
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling:
- shard-dg1: NOTRUN -> [SKIP][192] ([i915#15643])
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-13/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling:
- shard-dg2: NOTRUN -> [SKIP][193] ([i915#15643] / [i915#5190])
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
- shard-tglu-1: NOTRUN -> [SKIP][194] ([i915#15643])
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
- shard-dg2: NOTRUN -> [SKIP][195] ([i915#15643])
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-3/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
- shard-tglu: NOTRUN -> [SKIP][196] ([i915#15643]) +2 other tests skip
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
- shard-mtlp: NOTRUN -> [SKIP][197] ([i915#15643]) +1 other test skip
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling:
- shard-rkl: NOTRUN -> [SKIP][198] ([i915#14544] / [i915#15643])
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling.html
* igt@kms_frontbuffer_tracking@fbc-1p-indfb-fliptrack-mmap-gtt:
- shard-mtlp: NOTRUN -> [SKIP][199] ([i915#8708])
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-3/igt@kms_frontbuffer_tracking@fbc-1p-indfb-fliptrack-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-glk10: NOTRUN -> [INCOMPLETE][200] ([i915#10056])
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk10/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-cpu:
- shard-dg1: NOTRUN -> [SKIP][201] ([i915#15102]) +1 other test skip
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-16/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt:
- shard-rkl: NOTRUN -> [SKIP][202] ([i915#15102]) +4 other tests skip
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-render:
- shard-dg2: NOTRUN -> [SKIP][203] ([i915#15102]) +2 other tests skip
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-11/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-rte:
- shard-rkl: NOTRUN -> [SKIP][204] ([i915#14544] / [i915#15102] / [i915#3023]) +1 other test skip
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-blt:
- shard-glk10: NOTRUN -> [SKIP][205] +99 other tests skip
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk10/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-wc:
- shard-mtlp: NOTRUN -> [SKIP][206] ([i915#1825]) +5 other tests skip
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-wc.html
- shard-dg2: NOTRUN -> [SKIP][207] ([i915#8708]) +2 other tests skip
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt:
- shard-tglu-1: NOTRUN -> [SKIP][208] ([i915#15102]) +11 other tests skip
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-pwrite:
- shard-dg2: NOTRUN -> [SKIP][209] ([i915#15102] / [i915#3458]) +4 other tests skip
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-3/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-move:
- shard-tglu: NOTRUN -> [SKIP][210] ([i915#15102]) +17 other tests skip
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-move.html
* igt@kms_frontbuffer_tracking@psr-1p-rte:
- shard-rkl: NOTRUN -> [SKIP][211] ([i915#15102] / [i915#3023]) +16 other tests skip
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_frontbuffer_tracking@psr-1p-rte.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc:
- shard-dg1: NOTRUN -> [SKIP][212] ([i915#8708]) +4 other tests skip
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-12/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-pwrite:
- shard-rkl: NOTRUN -> [SKIP][213] ([i915#14544] / [i915#1825]) +3 other tests skip
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt:
- shard-rkl: NOTRUN -> [SKIP][214] ([i915#1825]) +28 other tests skip
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-onoff:
- shard-dg2: NOTRUN -> [SKIP][215] ([i915#5354]) +3 other tests skip
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@psr-rgb565-draw-render:
- shard-dg1: NOTRUN -> [SKIP][216] ([i915#15102] / [i915#3458]) +7 other tests skip
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html
* igt@kms_getfb@getfb-handle-zero:
- shard-dg1: [PASS][217] -> [DMESG-WARN][218] ([i915#4423]) +2 other tests dmesg-warn
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg1-13/igt@kms_getfb@getfb-handle-zero.html
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@kms_getfb@getfb-handle-zero.html
* igt@kms_hdmi_inject@inject-audio:
- shard-tglu-1: NOTRUN -> [SKIP][219] ([i915#13030])
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-dg1: NOTRUN -> [SKIP][220] ([i915#3555] / [i915#8228])
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-17/igt@kms_hdr@invalid-metadata-sizes.html
- shard-tglu: NOTRUN -> [SKIP][221] ([i915#3555] / [i915#8228])
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-4/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_hdr@static-toggle-dpms:
- shard-rkl: NOTRUN -> [SKIP][222] ([i915#3555] / [i915#8228])
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_hdr@static-toggle-suspend:
- shard-dg2: [PASS][223] -> [SKIP][224] ([i915#3555] / [i915#8228]) +1 other test skip
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-11/igt@kms_hdr@static-toggle-suspend.html
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-4/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-tglu: NOTRUN -> [SKIP][225] ([i915#15459])
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-7/igt@kms_joiner@basic-force-big-joiner.html
* igt@kms_joiner@basic-force-ultra-joiner:
- shard-dg1: NOTRUN -> [SKIP][226] ([i915#15458])
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-18/igt@kms_joiner@basic-force-ultra-joiner.html
- shard-tglu: NOTRUN -> [SKIP][227] ([i915#15458]) +1 other test skip
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-2/igt@kms_joiner@basic-force-ultra-joiner.html
* igt@kms_joiner@basic-ultra-joiner:
- shard-rkl: NOTRUN -> [SKIP][228] ([i915#14544] / [i915#15458])
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_joiner@basic-ultra-joiner.html
* igt@kms_panel_fitting@legacy:
- shard-tglu-1: NOTRUN -> [SKIP][229] ([i915#6301])
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_panel_fitting@legacy.html
* igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier-source-clamping:
- shard-dg1: NOTRUN -> [SKIP][230] ([i915#15608] / [i915#15609] / [i915#8825]) +1 other test skip
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier-source-clamping@pipe-b-plane-5:
- shard-dg1: NOTRUN -> [SKIP][231] ([i915#15608]) +25 other tests skip
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-14/igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier-source-clamping@pipe-b-plane-5.html
* igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier@pipe-a-plane-0:
- shard-dg2: NOTRUN -> [SKIP][232] ([i915#15608]) +8 other tests skip
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-8/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier@pipe-a-plane-0.html
* igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier@pipe-b-plane-3:
- shard-mtlp: NOTRUN -> [SKIP][233] ([i915#15608]) +4 other tests skip
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-8/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier@pipe-b-plane-3.html
* igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier@pipe-b-plane-5:
- shard-dg2: NOTRUN -> [SKIP][234] ([i915#15608] / [i915#8825]) +1 other test skip
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-8/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier@pipe-b-plane-5.html
- shard-mtlp: NOTRUN -> [SKIP][235] ([i915#15608] / [i915#8825]) +1 other test skip
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-8/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier@pipe-b-plane-5.html
* igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping:
- shard-rkl: NOTRUN -> [SKIP][236] ([i915#15608] / [i915#15609] / [i915#8825]) +2 other tests skip
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping@pipe-b-plane-5:
- shard-rkl: NOTRUN -> [SKIP][237] ([i915#15609] / [i915#8825]) +2 other tests skip
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping@pipe-b-plane-5.html
* igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier@pipe-b-plane-7:
- shard-dg1: NOTRUN -> [SKIP][238] ([i915#15608] / [i915#8825]) +3 other tests skip
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-16/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier@pipe-b-plane-7.html
- shard-tglu: NOTRUN -> [SKIP][239] ([i915#15608] / [i915#8825]) +3 other tests skip
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-5/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier@pipe-b-plane-7.html
* igt@kms_plane@pixel-format-4-tiled-modifier-source-clamping@pipe-a-plane-7:
- shard-tglu: NOTRUN -> [SKIP][240] ([i915#15609]) +2 other tests skip
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-8/igt@kms_plane@pixel-format-4-tiled-modifier-source-clamping@pipe-a-plane-7.html
* igt@kms_plane@pixel-format-4-tiled-modifier@pipe-b-plane-5:
- shard-rkl: NOTRUN -> [SKIP][241] ([i915#15608] / [i915#8825]) +1 other test skip
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@kms_plane@pixel-format-4-tiled-modifier@pipe-b-plane-5.html
* igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier-source-clamping@pipe-a-plane-7:
- shard-tglu-1: NOTRUN -> [SKIP][242] ([i915#15609]) +3 other tests skip
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier-source-clamping@pipe-a-plane-7.html
* igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping:
- shard-dg2: NOTRUN -> [SKIP][243] ([i915#15608] / [i915#15609] / [i915#8825])
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-6/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping@pipe-a-plane-5:
- shard-dg2: NOTRUN -> [SKIP][244] ([i915#15609])
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-6/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping@pipe-a-plane-5.html
* igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping@pipe-a-plane-7:
- shard-dg1: NOTRUN -> [SKIP][245] ([i915#15609]) +1 other test skip
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-16/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping@pipe-a-plane-7.html
* igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping@pipe-b-plane-5:
- shard-dg2: NOTRUN -> [SKIP][246] ([i915#15609] / [i915#8825])
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-6/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping@pipe-b-plane-5.html
- shard-mtlp: NOTRUN -> [SKIP][247] ([i915#15609]) +1 other test skip
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-4/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping@pipe-b-plane-5.html
* igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping@pipe-b-plane-7:
- shard-dg1: NOTRUN -> [SKIP][248] ([i915#15609] / [i915#8825]) +1 other test skip
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-16/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping@pipe-b-plane-7.html
- shard-tglu: NOTRUN -> [SKIP][249] ([i915#15609] / [i915#8825]) +2 other tests skip
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-10/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping@pipe-b-plane-7.html
* igt@kms_plane@pixel-format-y-tiled-ccs-modifier-source-clamping@pipe-a-plane-0:
- shard-rkl: NOTRUN -> [SKIP][250] ([i915#15608]) +16 other tests skip
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_plane@pixel-format-y-tiled-ccs-modifier-source-clamping@pipe-a-plane-0.html
* igt@kms_plane@pixel-format-y-tiled-ccs-modifier-source-clamping@pipe-a-plane-5:
- shard-rkl: NOTRUN -> [SKIP][251] ([i915#15609]) +2 other tests skip
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_plane@pixel-format-y-tiled-ccs-modifier-source-clamping@pipe-a-plane-5.html
* igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping:
- shard-tglu: NOTRUN -> [SKIP][252] ([i915#15608] / [i915#15609] / [i915#8825]) +2 other tests skip
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-3/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping@pipe-b-plane-3:
- shard-tglu: NOTRUN -> [SKIP][253] ([i915#15608]) +31 other tests skip
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-3/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping@pipe-b-plane-3.html
* igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping:
- shard-tglu-1: NOTRUN -> [SKIP][254] ([i915#15608] / [i915#15609] / [i915#8825]) +1 other test skip
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping.html
* igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-b-plane-3:
- shard-tglu-1: NOTRUN -> [SKIP][255] ([i915#15608]) +11 other tests skip
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-b-plane-3.html
* igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-b-plane-7:
- shard-tglu-1: NOTRUN -> [SKIP][256] ([i915#15609] / [i915#8825]) +1 other test skip
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-b-plane-7.html
* igt@kms_plane@plane-panning-bottom-right-suspend:
- shard-glk: NOTRUN -> [INCOMPLETE][257] ([i915#13026]) +1 other test incomplete
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk3/igt@kms_plane@plane-panning-bottom-right-suspend.html
* igt@kms_plane_cursor@overlay:
- shard-rkl: [PASS][258] -> [FAIL][259] ([i915#15530] / [i915#15532])
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-7/igt@kms_plane_cursor@overlay.html
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_plane_cursor@overlay.html
* igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-1-size-128:
- shard-rkl: NOTRUN -> [FAIL][260] ([i915#15532]) +1 other test fail
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-1-size-128.html
* igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-1-size-64:
- shard-rkl: NOTRUN -> [FAIL][261] ([i915#15530])
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-1-size-64.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-tglu-1: NOTRUN -> [SKIP][262] ([i915#13958])
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_plane_multiple@2x-tiling-none.html
* igt@kms_plane_multiple@2x-tiling-y:
- shard-rkl: NOTRUN -> [SKIP][263] ([i915#13958]) +1 other test skip
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@kms_plane_multiple@2x-tiling-y.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-dg2: [PASS][264] -> [SKIP][265] ([i915#6953] / [i915#9423])
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-11/igt@kms_plane_scaling@intel-max-src-size.html
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-4/igt@kms_plane_scaling@intel-max-src-size.html
- shard-tglu-1: NOTRUN -> [SKIP][266] ([i915#6953])
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b:
- shard-rkl: NOTRUN -> [SKIP][267] ([i915#15329]) +3 other tests skip
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html
- shard-dg1: NOTRUN -> [SKIP][268] ([i915#15329]) +4 other tests skip
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-18/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html
* igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-c:
- shard-tglu: NOTRUN -> [SKIP][269] ([i915#15329]) +4 other tests skip
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-9/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-c.html
* igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a:
- shard-rkl: NOTRUN -> [SKIP][270] ([i915#14544] / [i915#15329]) +3 other tests skip
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25:
- shard-mtlp: NOTRUN -> [SKIP][271] ([i915#15329] / [i915#6953])
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-2/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25@pipe-b:
- shard-mtlp: NOTRUN -> [SKIP][272] ([i915#15329]) +3 other tests skip
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-2/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25@pipe-b.html
* igt@kms_pm_backlight@bad-brightness:
- shard-rkl: NOTRUN -> [SKIP][273] ([i915#5354])
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_pm_backlight@bad-brightness.html
- shard-tglu: NOTRUN -> [SKIP][274] ([i915#9812])
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-10/igt@kms_pm_backlight@bad-brightness.html
* igt@kms_pm_backlight@fade-with-suspend:
- shard-tglu-1: NOTRUN -> [SKIP][275] ([i915#9812])
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_pm_backlight@fade-with-suspend.html
* igt@kms_pm_dc@dc6-psr:
- shard-rkl: NOTRUN -> [SKIP][276] ([i915#9685]) +1 other test skip
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_pm_dc@dc6-psr.html
- shard-tglu: NOTRUN -> [SKIP][277] ([i915#9685])
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-6/igt@kms_pm_dc@dc6-psr.html
* igt@kms_pm_lpsp@screens-disabled:
- shard-dg1: NOTRUN -> [SKIP][278] ([i915#8430])
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-13/igt@kms_pm_lpsp@screens-disabled.html
- shard-tglu: NOTRUN -> [SKIP][279] ([i915#8430])
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-10/igt@kms_pm_lpsp@screens-disabled.html
* igt@kms_pm_rpm@dpms-mode-unset-lpsp:
- shard-dg1: [PASS][280] -> [SKIP][281] ([i915#15073])
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg1-14/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-17/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
- shard-rkl: [PASS][282] -> [SKIP][283] ([i915#15073]) +2 other tests skip
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-4/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
* igt@kms_pm_rpm@system-suspend-modeset:
- shard-glk: NOTRUN -> [INCOMPLETE][284] ([i915#10553])
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk6/igt@kms_pm_rpm@system-suspend-modeset.html
* igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf:
- shard-glk10: NOTRUN -> [SKIP][285] ([i915#11520]) +1 other test skip
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk10/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area:
- shard-mtlp: NOTRUN -> [SKIP][286] ([i915#12316])
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-4/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area:
- shard-glk: NOTRUN -> [SKIP][287] ([i915#11520]) +17 other tests skip
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk9/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf:
- shard-tglu-1: NOTRUN -> [SKIP][288] ([i915#11520]) +1 other test skip
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf:
- shard-rkl: NOTRUN -> [SKIP][289] ([i915#11520]) +5 other tests skip
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html
- shard-snb: NOTRUN -> [SKIP][290] ([i915#11520]) +2 other tests skip
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-snb6/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html
- shard-dg1: NOTRUN -> [SKIP][291] ([i915#11520]) +3 other tests skip
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-17/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html
- shard-tglu: NOTRUN -> [SKIP][292] ([i915#11520]) +4 other tests skip
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-5/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html
* igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf:
- shard-dg2: NOTRUN -> [SKIP][293] ([i915#11520]) +4 other tests skip
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-5/igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf.html
* igt@kms_psr@fbc-psr-cursor-plane-move:
- shard-dg2: NOTRUN -> [SKIP][294] ([i915#1072] / [i915#9732]) +4 other tests skip
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-6/igt@kms_psr@fbc-psr-cursor-plane-move.html
* igt@kms_psr@fbc-psr-cursor-plane-move@edp-1:
- shard-mtlp: NOTRUN -> [SKIP][295] ([i915#9688]) +4 other tests skip
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-4/igt@kms_psr@fbc-psr-cursor-plane-move@edp-1.html
* igt@kms_psr@fbc-psr-no-drrs:
- shard-tglu: NOTRUN -> [SKIP][296] ([i915#9732]) +15 other tests skip
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-9/igt@kms_psr@fbc-psr-no-drrs.html
* igt@kms_psr@fbc-psr2-cursor-mmap-gtt:
- shard-glk: NOTRUN -> [SKIP][297] +442 other tests skip
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk3/igt@kms_psr@fbc-psr2-cursor-mmap-gtt.html
* igt@kms_psr@pr-primary-blt:
- shard-rkl: NOTRUN -> [SKIP][298] ([i915#1072] / [i915#14544] / [i915#9732])
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_psr@pr-primary-blt.html
* igt@kms_psr@psr-cursor-render:
- shard-rkl: NOTRUN -> [SKIP][299] ([i915#1072] / [i915#9732]) +15 other tests skip
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_psr@psr-cursor-render.html
* igt@kms_psr@psr2-cursor-mmap-gtt:
- shard-dg1: NOTRUN -> [SKIP][300] ([i915#1072] / [i915#9732]) +10 other tests skip
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-12/igt@kms_psr@psr2-cursor-mmap-gtt.html
* igt@kms_psr@psr2-sprite-mmap-gtt:
- shard-tglu-1: NOTRUN -> [SKIP][301] ([i915#9732]) +10 other tests skip
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_psr@psr2-sprite-mmap-gtt.html
* igt@kms_rotation_crc@multiplane-rotation-cropping-top:
- shard-glk: NOTRUN -> [INCOMPLETE][302] ([i915#15492])
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk9/igt@kms_rotation_crc@multiplane-rotation-cropping-top.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
- shard-dg2: NOTRUN -> [SKIP][303] ([i915#5190])
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-3/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html
- shard-mtlp: NOTRUN -> [SKIP][304] ([i915#5289])
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-2/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
- shard-tglu: NOTRUN -> [SKIP][305] ([i915#5289]) +2 other tests skip
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
- shard-rkl: NOTRUN -> [SKIP][306] ([i915#5289]) +1 other test skip
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
* igt@kms_selftest@drm_framebuffer:
- shard-tglu-1: NOTRUN -> [ABORT][307] ([i915#13179]) +1 other test abort
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_selftest@drm_framebuffer.html
* igt@kms_setmode@basic:
- shard-snb: [PASS][308] -> [FAIL][309] ([i915#15106]) +2 other tests fail
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-snb1/igt@kms_setmode@basic.html
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-snb4/igt@kms_setmode@basic.html
- shard-tglu: [PASS][310] -> [FAIL][311] ([i915#15106]) +2 other tests fail
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-tglu-10/igt@kms_setmode@basic.html
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-4/igt@kms_setmode@basic.html
* igt@kms_setmode@basic-clone-single-crtc:
- shard-rkl: NOTRUN -> [SKIP][312] ([i915#3555]) +7 other tests skip
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_setmode@basic-clone-single-crtc.html
* igt@kms_setmode@basic@pipe-a-hdmi-a-1:
- shard-rkl: [PASS][313] -> [FAIL][314] ([i915#15106]) +2 other tests fail
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-8/igt@kms_setmode@basic@pipe-a-hdmi-a-1.html
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_setmode@basic@pipe-a-hdmi-a-1.html
* igt@kms_setmode@invalid-clone-single-crtc:
- shard-dg2: NOTRUN -> [SKIP][315] ([i915#3555])
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-4/igt@kms_setmode@invalid-clone-single-crtc.html
- shard-dg1: NOTRUN -> [SKIP][316] ([i915#3555]) +3 other tests skip
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-13/igt@kms_setmode@invalid-clone-single-crtc.html
- shard-mtlp: NOTRUN -> [SKIP][317] ([i915#3555] / [i915#8809])
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-3/igt@kms_setmode@invalid-clone-single-crtc.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-glk: NOTRUN -> [FAIL][318] ([i915#10959])
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk9/igt@kms_tiled_display@basic-test-pattern.html
- shard-rkl: NOTRUN -> [SKIP][319] ([i915#8623])
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_vblank@ts-continuation-dpms-suspend:
- shard-rkl: [PASS][320] -> [INCOMPLETE][321] ([i915#12276])
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-5/igt@kms_vblank@ts-continuation-dpms-suspend.html
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_vblank@ts-continuation-dpms-suspend.html
* igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [INCOMPLETE][322] ([i915#12276])
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-2.html
* igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2:
- shard-glk: NOTRUN -> [INCOMPLETE][323] ([i915#12276])
[323]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk1/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html
* igt@kms_vrr@flip-basic:
- shard-rkl: NOTRUN -> [SKIP][324] ([i915#15243] / [i915#3555]) +1 other test skip
[324]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_vrr@flip-basic.html
* igt@kms_vrr@flip-basic-fastset:
- shard-tglu-1: NOTRUN -> [SKIP][325] ([i915#9906])
[325]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@kms_vrr@flip-basic-fastset.html
* igt@kms_vrr@flip-suspend:
- shard-rkl: NOTRUN -> [SKIP][326] ([i915#14544] / [i915#15243] / [i915#3555])
[326]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_vrr@flip-suspend.html
* igt@kms_vrr@flipline:
- shard-mtlp: NOTRUN -> [SKIP][327] ([i915#3555] / [i915#8808])
[327]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-5/igt@kms_vrr@flipline.html
- shard-dg2: NOTRUN -> [SKIP][328] ([i915#15243] / [i915#3555])
[328]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-11/igt@kms_vrr@flipline.html
* igt@kms_vrr@negative-basic:
- shard-rkl: NOTRUN -> [SKIP][329] ([i915#3555] / [i915#9906])
[329]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@kms_vrr@negative-basic.html
- shard-mtlp: [PASS][330] -> [FAIL][331] ([i915#15420]) +1 other test fail
[330]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-mtlp-4/igt@kms_vrr@negative-basic.html
[331]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-1/igt@kms_vrr@negative-basic.html
* igt@perf_pmu@event-wait:
- shard-mtlp: NOTRUN -> [SKIP][332] ([i915#8807])
[332]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-3/igt@perf_pmu@event-wait.html
* igt@perf_pmu@event-wait@rcs0:
- shard-dg2: NOTRUN -> [SKIP][333] +4 other tests skip
[333]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-5/igt@perf_pmu@event-wait@rcs0.html
- shard-dg1: NOTRUN -> [SKIP][334] +15 other tests skip
[334]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-12/igt@perf_pmu@event-wait@rcs0.html
- shard-mtlp: NOTRUN -> [SKIP][335] ([i915#3555] / [i915#8807])
[335]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-3/igt@perf_pmu@event-wait@rcs0.html
* igt@perf_pmu@frequency:
- shard-dg2: NOTRUN -> [FAIL][336] ([i915#12549] / [i915#6806]) +1 other test fail
[336]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-3/igt@perf_pmu@frequency.html
- shard-dg1: NOTRUN -> [FAIL][337] ([i915#12549] / [i915#6806]) +1 other test fail
[337]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-16/igt@perf_pmu@frequency.html
* igt@perf_pmu@module-unload:
- shard-tglu: NOTRUN -> [FAIL][338] ([i915#14433])
[338]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-6/igt@perf_pmu@module-unload.html
* igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem:
- shard-dg1: NOTRUN -> [SKIP][339] ([i915#14121]) +1 other test skip
[339]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-17/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html
* igt@prime_vgem@fence-write-hang:
- shard-tglu: NOTRUN -> [SKIP][340] +46 other tests skip
[340]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-3/igt@prime_vgem@fence-write-hang.html
- shard-mtlp: NOTRUN -> [SKIP][341] ([i915#3708])
[341]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-8/igt@prime_vgem@fence-write-hang.html
- shard-dg2: NOTRUN -> [SKIP][342] ([i915#3708])
[342]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-1/igt@prime_vgem@fence-write-hang.html
- shard-rkl: NOTRUN -> [SKIP][343] ([i915#14544] / [i915#3708])
[343]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@prime_vgem@fence-write-hang.html
- shard-dg1: NOTRUN -> [SKIP][344] ([i915#3708])
[344]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-13/igt@prime_vgem@fence-write-hang.html
* igt@sriov_basic@bind-unbind-vf@vf-1:
- shard-tglu-1: NOTRUN -> [FAIL][345] ([i915#12910]) +9 other tests fail
[345]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-1/igt@sriov_basic@bind-unbind-vf@vf-1.html
* igt@sriov_basic@enable-vfs-autoprobe-off:
- shard-dg2: NOTRUN -> [SKIP][346] ([i915#9917])
[346]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-4/igt@sriov_basic@enable-vfs-autoprobe-off.html
- shard-rkl: NOTRUN -> [SKIP][347] ([i915#9917]) +1 other test skip
[347]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-4/igt@sriov_basic@enable-vfs-autoprobe-off.html
- shard-dg1: NOTRUN -> [SKIP][348] ([i915#9917])
[348]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-13/igt@sriov_basic@enable-vfs-autoprobe-off.html
* igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-6:
- shard-tglu: NOTRUN -> [FAIL][349] ([i915#12910]) +9 other tests fail
[349]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-10/igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-6.html
- shard-mtlp: NOTRUN -> [FAIL][350] ([i915#12910]) +9 other tests fail
[350]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-3/igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-6.html
#### Possible fixes ####
* igt@gem_ctx_isolation@preservation-s3@bcs0:
- shard-rkl: [INCOMPLETE][351] ([i915#13356]) -> [PASS][352]
[351]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-3/igt@gem_ctx_isolation@preservation-s3@bcs0.html
[352]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-1/igt@gem_ctx_isolation@preservation-s3@bcs0.html
* igt@gem_exec_endless@dispatch@ccs0:
- shard-dg2: [TIMEOUT][353] ([i915#3778] / [i915#7016]) -> [PASS][354] +1 other test pass
[353]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-4/igt@gem_exec_endless@dispatch@ccs0.html
[354]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-6/igt@gem_exec_endless@dispatch@ccs0.html
* igt@gem_lmem_swapping@smem-oom:
- shard-dg2: [FAIL][355] -> [PASS][356]
[355]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-8/igt@gem_lmem_swapping@smem-oom.html
[356]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-6/igt@gem_lmem_swapping@smem-oom.html
* igt@gem_lmem_swapping@smem-oom@lmem0:
- shard-dg2: [CRASH][357] ([i915#5493]) -> [PASS][358]
[357]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-8/igt@gem_lmem_swapping@smem-oom@lmem0.html
[358]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-6/igt@gem_lmem_swapping@smem-oom@lmem0.html
* igt@gem_pxp@create-regular-context-1:
- shard-rkl: [SKIP][359] ([i915#4270]) -> [PASS][360]
[359]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-5/igt@gem_pxp@create-regular-context-1.html
[360]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-4/igt@gem_pxp@create-regular-context-1.html
* igt@gem_workarounds@suspend-resume-context:
- shard-rkl: [ABORT][361] ([i915#15131]) -> [PASS][362]
[361]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-1/igt@gem_workarounds@suspend-resume-context.html
[362]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@gem_workarounds@suspend-resume-context.html
* igt@i915_module_load@load:
- shard-rkl: ([PASS][363], [PASS][364], [PASS][365], [PASS][366], [PASS][367], [PASS][368], [PASS][369], [PASS][370], [PASS][371], [PASS][372], [PASS][373], [PASS][374], [PASS][375], [PASS][376], [PASS][377], [PASS][378], [PASS][379], [PASS][380], [PASS][381], [PASS][382], [PASS][383], [PASS][384], [SKIP][385]) ([i915#14785]) -> ([PASS][386], [PASS][387], [PASS][388], [PASS][389], [PASS][390], [PASS][391], [PASS][392], [PASS][393], [PASS][394], [PASS][395], [PASS][396], [PASS][397], [PASS][398], [PASS][399], [PASS][400], [PASS][401], [PASS][402], [PASS][403], [PASS][404], [PASS][405], [PASS][406], [PASS][407], [PASS][408], [PASS][409], [PASS][410])
[363]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-7/igt@i915_module_load@load.html
[364]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-7/igt@i915_module_load@load.html
[365]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-4/igt@i915_module_load@load.html
[366]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@i915_module_load@load.html
[367]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-5/igt@i915_module_load@load.html
[368]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-8/igt@i915_module_load@load.html
[369]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-4/igt@i915_module_load@load.html
[370]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-2/igt@i915_module_load@load.html
[371]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@i915_module_load@load.html
[372]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-4/igt@i915_module_load@load.html
[373]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@i915_module_load@load.html
[374]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-7/igt@i915_module_load@load.html
[375]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-5/igt@i915_module_load@load.html
[376]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-8/igt@i915_module_load@load.html
[377]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-1/igt@i915_module_load@load.html
[378]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-2/igt@i915_module_load@load.html
[379]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-3/igt@i915_module_load@load.html
[380]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-5/igt@i915_module_load@load.html
[381]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-8/igt@i915_module_load@load.html
[382]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-3/igt@i915_module_load@load.html
[383]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-2/igt@i915_module_load@load.html
[384]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-3/igt@i915_module_load@load.html
[385]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-3/igt@i915_module_load@load.html
[386]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-4/igt@i915_module_load@load.html
[387]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-3/igt@i915_module_load@load.html
[388]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@i915_module_load@load.html
[389]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-3/igt@i915_module_load@load.html
[390]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@i915_module_load@load.html
[391]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-3/igt@i915_module_load@load.html
[392]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@i915_module_load@load.html
[393]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@i915_module_load@load.html
[394]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-4/igt@i915_module_load@load.html
[395]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@i915_module_load@load.html
[396]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-1/igt@i915_module_load@load.html
[397]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@i915_module_load@load.html
[398]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-1/igt@i915_module_load@load.html
[399]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-4/igt@i915_module_load@load.html
[400]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@i915_module_load@load.html
[401]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@i915_module_load@load.html
[402]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@i915_module_load@load.html
[403]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@i915_module_load@load.html
[404]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@i915_module_load@load.html
[405]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@i915_module_load@load.html
[406]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@i915_module_load@load.html
[407]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@i915_module_load@load.html
[408]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@i915_module_load@load.html
[409]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@i915_module_load@load.html
[410]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@i915_module_load@load.html
* igt@i915_module_load@reload-no-display:
- shard-dg2: [DMESG-WARN][411] ([i915#13029] / [i915#14545]) -> [PASS][412]
[411]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-3/igt@i915_module_load@reload-no-display.html
[412]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-8/igt@i915_module_load@reload-no-display.html
- shard-dg1: [DMESG-WARN][413] ([i915#13029] / [i915#14545]) -> [PASS][414]
[413]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg1-16/igt@i915_module_load@reload-no-display.html
[414]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-13/igt@i915_module_load@reload-no-display.html
* igt@i915_selftest@live@workarounds:
- shard-dg2: [DMESG-FAIL][415] ([i915#12061]) -> [PASS][416] +1 other test pass
[415]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-3/igt@i915_selftest@live@workarounds.html
[416]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-8/igt@i915_selftest@live@workarounds.html
* igt@i915_suspend@sysfs-reader:
- shard-rkl: [INCOMPLETE][417] ([i915#4817]) -> [PASS][418]
[417]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@i915_suspend@sysfs-reader.html
[418]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@i915_suspend@sysfs-reader.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-mtlp: [FAIL][419] ([i915#5138]) -> [PASS][420]
[419]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-mtlp-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
[420]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-8/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-a-hdmi-a-1:
- shard-glk: [INCOMPLETE][421] ([i915#15582]) -> [PASS][422]
[421]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-glk6/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-a-hdmi-a-1.html
[422]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk1/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-a-hdmi-a-1.html
* igt@kms_cursor_crc@cursor-sliding-128x42:
- shard-rkl: [FAIL][423] ([i915#13566]) -> [PASS][424] +3 other tests pass
[423]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-3/igt@kms_cursor_crc@cursor-sliding-128x42.html
[424]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-3/igt@kms_cursor_crc@cursor-sliding-128x42.html
* igt@kms_hdmi_inject@inject-4k:
- shard-mtlp: [SKIP][425] -> [PASS][426]
[425]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-mtlp-1/igt@kms_hdmi_inject@inject-4k.html
[426]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-2/igt@kms_hdmi_inject@inject-4k.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-rkl: [SKIP][427] ([i915#6953]) -> [PASS][428]
[427]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-8/igt@kms_plane_scaling@intel-max-src-size.html
[428]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-1/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_pm_rpm@dpms-mode-unset-lpsp:
- shard-rkl: [SKIP][429] ([i915#15073]) -> [PASS][430]
[429]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-4/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
[430]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
- shard-dg2: [SKIP][431] ([i915#15073]) -> [PASS][432]
[431]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-3/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
[432]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-4/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
- shard-rkl: [SKIP][433] ([i915#14544] / [i915#15073]) -> [PASS][434]
[433]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
[434]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
- shard-dg1: [SKIP][435] ([i915#15073]) -> [PASS][436]
[435]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg1-14/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
[436]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-12/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
* igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1:
- shard-glk: [INCOMPLETE][437] ([i915#12276]) -> [PASS][438]
[437]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-glk9/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1.html
[438]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk1/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1.html
#### Warnings ####
* igt@api_intel_bb@object-reloc-purge-cache:
- shard-rkl: [SKIP][439] ([i915#14544] / [i915#8411]) -> [SKIP][440] ([i915#8411])
[439]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@api_intel_bb@object-reloc-purge-cache.html
[440]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@api_intel_bb@object-reloc-purge-cache.html
* igt@gem_ccs@block-copy-compressed:
- shard-rkl: [SKIP][441] ([i915#14544] / [i915#3555] / [i915#9323]) -> [SKIP][442] ([i915#3555] / [i915#9323])
[441]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@gem_ccs@block-copy-compressed.html
[442]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-3/igt@gem_ccs@block-copy-compressed.html
* igt@gem_ccs@large-ctrl-surf-copy:
- shard-rkl: [SKIP][443] ([i915#13008]) -> [SKIP][444] ([i915#13008] / [i915#14544])
[443]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-5/igt@gem_ccs@large-ctrl-surf-copy.html
[444]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@gem_ccs@large-ctrl-surf-copy.html
* igt@gem_ctx_isolation@preservation-s3:
- shard-rkl: [INCOMPLETE][445] ([i915#13356]) -> [ABORT][446] ([i915#15131])
[445]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-3/igt@gem_ctx_isolation@preservation-s3.html
[446]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-1/igt@gem_ctx_isolation@preservation-s3.html
* igt@gem_ctx_sseu@mmap-args:
- shard-rkl: [SKIP][447] ([i915#280]) -> [SKIP][448] ([i915#14544] / [i915#280])
[447]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-3/igt@gem_ctx_sseu@mmap-args.html
[448]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@gem_ctx_sseu@mmap-args.html
* igt@gem_exec_balancer@parallel-contexts:
- shard-rkl: [SKIP][449] ([i915#14544] / [i915#4525]) -> [SKIP][450] ([i915#4525])
[449]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@gem_exec_balancer@parallel-contexts.html
[450]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@gem_exec_balancer@parallel-contexts.html
* igt@gem_exec_reloc@basic-gtt-wc:
- shard-rkl: [SKIP][451] ([i915#3281]) -> [SKIP][452] ([i915#14544] / [i915#3281]) +1 other test skip
[451]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-4/igt@gem_exec_reloc@basic-gtt-wc.html
[452]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-wc.html
* igt@gem_exec_reloc@basic-wc-cpu:
- shard-rkl: [SKIP][453] ([i915#14544] / [i915#3281]) -> [SKIP][454] ([i915#3281]) +3 other tests skip
[453]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@gem_exec_reloc@basic-wc-cpu.html
[454]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@gem_exec_reloc@basic-wc-cpu.html
* igt@gem_lmem_evict@dontneed-evict-race:
- shard-rkl: [SKIP][455] ([i915#14544] / [i915#4613] / [i915#7582]) -> [SKIP][456] ([i915#4613] / [i915#7582])
[455]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@gem_lmem_evict@dontneed-evict-race.html
[456]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@gem_lmem_evict@dontneed-evict-race.html
* igt@gem_lmem_swapping@heavy-verify-random-ccs:
- shard-rkl: [SKIP][457] ([i915#14544] / [i915#4613]) -> [SKIP][458] ([i915#4613]) +1 other test skip
[457]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@gem_lmem_swapping@heavy-verify-random-ccs.html
[458]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@gem_lmem_swapping@heavy-verify-random-ccs.html
* igt@gem_lmem_swapping@parallel-multi:
- shard-rkl: [SKIP][459] ([i915#4613]) -> [SKIP][460] ([i915#14544] / [i915#4613])
[459]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-4/igt@gem_lmem_swapping@parallel-multi.html
[460]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@gem_lmem_swapping@parallel-multi.html
* igt@gem_partial_pwrite_pread@write-snoop:
- shard-rkl: [SKIP][461] ([i915#14544] / [i915#3282]) -> [SKIP][462] ([i915#3282]) +1 other test skip
[461]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@gem_partial_pwrite_pread@write-snoop.html
[462]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@gem_partial_pwrite_pread@write-snoop.html
* igt@gem_pread@snoop:
- shard-rkl: [SKIP][463] ([i915#3282]) -> [SKIP][464] ([i915#14544] / [i915#3282])
[463]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-5/igt@gem_pread@snoop.html
[464]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@gem_pread@snoop.html
* igt@gem_userptr_blits@unsync-overlap:
- shard-rkl: [SKIP][465] ([i915#14544] / [i915#3297]) -> [SKIP][466] ([i915#3297]) +1 other test skip
[465]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@gem_userptr_blits@unsync-overlap.html
[466]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-4/igt@gem_userptr_blits@unsync-overlap.html
* igt@gen9_exec_parse@batch-without-end:
- shard-rkl: [SKIP][467] ([i915#2527]) -> [SKIP][468] ([i915#14544] / [i915#2527])
[467]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-4/igt@gen9_exec_parse@batch-without-end.html
[468]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@gen9_exec_parse@batch-without-end.html
* igt@gen9_exec_parse@secure-batches:
- shard-rkl: [SKIP][469] ([i915#14544] / [i915#2527]) -> [SKIP][470] ([i915#2527])
[469]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@gen9_exec_parse@secure-batches.html
[470]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@gen9_exec_parse@secure-batches.html
* igt@i915_module_load@resize-bar:
- shard-rkl: [SKIP][471] ([i915#6412]) -> [SKIP][472] ([i915#14544] / [i915#6412])
[471]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-4/igt@i915_module_load@resize-bar.html
[472]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@i915_module_load@resize-bar.html
* igt@i915_pm_freq_api@freq-suspend:
- shard-rkl: [SKIP][473] ([i915#14544] / [i915#8399]) -> [SKIP][474] ([i915#8399])
[473]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@i915_pm_freq_api@freq-suspend.html
[474]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@i915_pm_freq_api@freq-suspend.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-0:
- shard-rkl: [SKIP][475] ([i915#14544] / [i915#5286]) -> [SKIP][476] ([i915#5286])
[475]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
[476]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip:
- shard-rkl: [SKIP][477] ([i915#5286]) -> [SKIP][478] ([i915#14544] / [i915#5286]) +2 other tests skip
[477]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-5/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip.html
[478]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip.html
* igt@kms_big_fb@x-tiled-32bpp-rotate-270:
- shard-rkl: [SKIP][479] ([i915#14544] / [i915#3638]) -> [SKIP][480] ([i915#3638]) +1 other test skip
[479]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html
[480]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html
* igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs:
- shard-rkl: [SKIP][481] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][482] ([i915#14098] / [i915#6095]) +5 other tests skip
[481]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs.html
[482]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-3/igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs.html
* igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: [SKIP][483] ([i915#14544] / [i915#6095]) -> [SKIP][484] ([i915#6095]) +2 other tests skip
[483]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2.html
[484]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-3/igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: [SKIP][485] ([i915#6095]) -> [SKIP][486] ([i915#14544] / [i915#6095]) +5 other tests skip
[485]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-3/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-2.html
[486]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-ccs:
- shard-glk: [INCOMPLETE][487] ([i915#15582]) -> [INCOMPLETE][488] ([i915#14694] / [i915#15582])
[487]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-glk6/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs.html
[488]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-glk1/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs:
- shard-dg1: [SKIP][489] ([i915#4423] / [i915#6095]) -> [SKIP][490] ([i915#6095])
[489]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg1-13/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html
[490]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-18/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html
* igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs:
- shard-rkl: [SKIP][491] ([i915#14098] / [i915#6095]) -> [SKIP][492] ([i915#14098] / [i915#14544] / [i915#6095]) +7 other tests skip
[491]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-2/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
[492]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-rkl: [SKIP][493] ([i915#3742]) -> [SKIP][494] ([i915#14544] / [i915#3742])
[493]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-3/igt@kms_cdclk@mode-transition-all-outputs.html
[494]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_chamelium_color@degamma:
- shard-rkl: [SKIP][495] -> [SKIP][496] ([i915#14544]) +6 other tests skip
[495]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-4/igt@kms_chamelium_color@degamma.html
[496]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_chamelium_color@degamma.html
* igt@kms_chamelium_edid@hdmi-edid-read:
- shard-rkl: [SKIP][497] ([i915#11151] / [i915#7828]) -> [SKIP][498] ([i915#11151] / [i915#14544] / [i915#7828]) +1 other test skip
[497]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-2/igt@kms_chamelium_edid@hdmi-edid-read.html
[498]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_chamelium_edid@hdmi-edid-read.html
* igt@kms_chamelium_hpd@dp-hpd-fast:
- shard-dg1: [SKIP][499] ([i915#11151] / [i915#7828]) -> [SKIP][500] ([i915#11151] / [i915#4423] / [i915#7828])
[499]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg1-12/igt@kms_chamelium_hpd@dp-hpd-fast.html
[500]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-13/igt@kms_chamelium_hpd@dp-hpd-fast.html
* igt@kms_chamelium_hpd@vga-hpd-fast:
- shard-rkl: [SKIP][501] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][502] ([i915#11151] / [i915#7828]) +4 other tests skip
[501]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_chamelium_hpd@vga-hpd-fast.html
[502]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_chamelium_hpd@vga-hpd-fast.html
* igt@kms_content_protection@mei-interface:
- shard-dg1: [SKIP][503] ([i915#6944] / [i915#9424]) -> [SKIP][504] ([i915#9433])
[503]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg1-17/igt@kms_content_protection@mei-interface.html
[504]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg1-13/igt@kms_content_protection@mei-interface.html
* igt@kms_content_protection@suspend-resume:
- shard-dg2: [SKIP][505] ([i915#6944]) -> [FAIL][506] ([i915#7173]) +1 other test fail
[505]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-6/igt@kms_content_protection@suspend-resume.html
[506]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-11/igt@kms_content_protection@suspend-resume.html
* igt@kms_content_protection@uevent:
- shard-dg2: [SKIP][507] ([i915#6944] / [i915#7118] / [i915#9424]) -> [FAIL][508] ([i915#1339] / [i915#7173])
[507]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-3/igt@kms_content_protection@uevent.html
[508]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-11/igt@kms_content_protection@uevent.html
* igt@kms_cursor_crc@cursor-random-max-size:
- shard-rkl: [SKIP][509] ([i915#3555]) -> [SKIP][510] ([i915#14544] / [i915#3555]) +2 other tests skip
[509]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-5/igt@kms_cursor_crc@cursor-random-max-size.html
[510]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_cursor_crc@cursor-random-max-size.html
* igt@kms_cursor_crc@cursor-rapid-movement-512x170:
- shard-rkl: [SKIP][511] ([i915#13049] / [i915#14544]) -> [SKIP][512] ([i915#13049])
[511]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
[512]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
* igt@kms_cursor_crc@cursor-sliding-32x10:
- shard-rkl: [SKIP][513] ([i915#14544] / [i915#3555]) -> [SKIP][514] ([i915#3555]) +1 other test skip
[513]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-32x10.html
[514]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@kms_cursor_crc@cursor-sliding-32x10.html
* igt@kms_cursor_crc@cursor-sliding-512x512:
- shard-rkl: [SKIP][515] ([i915#13049]) -> [SKIP][516] ([i915#13049] / [i915#14544])
[515]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-2/igt@kms_cursor_crc@cursor-sliding-512x512.html
[516]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-512x512.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
- shard-rkl: [SKIP][517] ([i915#14544]) -> [SKIP][518] +8 other tests skip
[517]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
[518]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
* igt@kms_feature_discovery@chamelium:
- shard-rkl: [SKIP][519] ([i915#14544] / [i915#4854]) -> [SKIP][520] ([i915#4854])
[519]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_feature_discovery@chamelium.html
[520]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_feature_discovery@chamelium.html
* igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible:
- shard-rkl: [SKIP][521] ([i915#9934]) -> [SKIP][522] ([i915#14544] / [i915#9934]) +1 other test skip
[521]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-3/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
[522]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
* igt@kms_flip@2x-flip-vs-fences:
- shard-rkl: [SKIP][523] ([i915#14544] / [i915#9934]) -> [SKIP][524] ([i915#9934]) +3 other tests skip
[523]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_flip@2x-flip-vs-fences.html
[524]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@kms_flip@2x-flip-vs-fences.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling:
- shard-rkl: [SKIP][525] ([i915#14544] / [i915#15643]) -> [SKIP][526] ([i915#15643])
[525]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling.html
[526]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-rkl: [SKIP][527] ([i915#1825]) -> [SKIP][528] ([i915#14544] / [i915#1825]) +6 other tests skip
[527]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
[528]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite:
- shard-rkl: [SKIP][529] ([i915#14544] / [i915#15102] / [i915#3023]) -> [SKIP][530] ([i915#15102] / [i915#3023]) +2 other tests skip
[529]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite.html
[530]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt:
- shard-rkl: [SKIP][531] ([i915#14544] / [i915#1825]) -> [SKIP][532] ([i915#1825]) +14 other tests skip
[531]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt.html
[532]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-cpu:
- shard-rkl: [SKIP][533] ([i915#15102] / [i915#3023]) -> [SKIP][534] ([i915#14544] / [i915#15102] / [i915#3023]) +3 other tests skip
[533]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-cpu.html
[534]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-pwrite:
- shard-rkl: [SKIP][535] ([i915#14544] / [i915#15102]) -> [SKIP][536] ([i915#15102])
[535]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-pwrite.html
[536]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-pwrite:
- shard-rkl: [SKIP][537] ([i915#15102]) -> [SKIP][538] ([i915#14544] / [i915#15102])
[537]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-pwrite.html
[538]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render:
- shard-dg2: [SKIP][539] ([i915#15102] / [i915#3458]) -> [SKIP][540] ([i915#10433] / [i915#15102] / [i915#3458]) +2 other tests skip
[539]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-8/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render.html
[540]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary:
- shard-dg2: [SKIP][541] ([i915#10433] / [i915#15102] / [i915#3458]) -> [SKIP][542] ([i915#15102] / [i915#3458]) +3 other tests skip
[541]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html
[542]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html
* igt@kms_hdr@brightness-with-hdr:
- shard-mtlp: [SKIP][543] ([i915#1187] / [i915#12713]) -> [SKIP][544] ([i915#12713])
[543]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-mtlp-1/igt@kms_hdr@brightness-with-hdr.html
[544]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-mtlp-6/igt@kms_hdr@brightness-with-hdr.html
- shard-dg2: [SKIP][545] ([i915#13331]) -> [SKIP][546] ([i915#12713])
[545]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-dg2-11/igt@kms_hdr@brightness-with-hdr.html
[546]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-dg2-3/igt@kms_hdr@brightness-with-hdr.html
- shard-tglu: [SKIP][547] ([i915#1187] / [i915#12713]) -> [SKIP][548] ([i915#12713])
[547]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-tglu-2/igt@kms_hdr@brightness-with-hdr.html
[548]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-tglu-7/igt@kms_hdr@brightness-with-hdr.html
* igt@kms_hdr@invalid-hdr:
- shard-rkl: [SKIP][549] ([i915#14544] / [i915#3555] / [i915#8228]) -> [SKIP][550] ([i915#3555] / [i915#8228])
[549]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_hdr@invalid-hdr.html
[550]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-2/igt@kms_hdr@invalid-hdr.html
* igt@kms_joiner@invalid-modeset-ultra-joiner:
- shard-rkl: [SKIP][551] ([i915#14544] / [i915#15458]) -> [SKIP][552] ([i915#15458])
[551]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_joiner@invalid-modeset-ultra-joiner.html
[552]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@kms_joiner@invalid-modeset-ultra-joiner.html
* igt@kms_panel_fitting@atomic-fastset:
- shard-rkl: [SKIP][553] ([i915#6301]) -> [SKIP][554] ([i915#14544] / [i915#6301])
[553]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-5/igt@kms_panel_fitting@atomic-fastset.html
[554]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_panel_fitting@atomic-fastset.html
* igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier@pipe-a-plane-0:
- shard-rkl: [SKIP][555] ([i915#14544] / [i915#15608]) -> [SKIP][556] ([i915#15608])
[555]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier@pipe-a-plane-0.html
[556]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier@pipe-a-plane-0.html
* igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier@pipe-b-plane-5:
- shard-rkl: [SKIP][557] ([i915#14544] / [i915#15608] / [i915#8825]) -> [SKIP][558] ([i915#15608] / [i915#8825]) +1 other test skip
[557]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier@pipe-b-plane-5.html
[558]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier@pipe-b-plane-5.html
* igt@kms_plane_multiple@tiling-4:
- shard-rkl: [SKIP][559] ([i915#14259]) -> [SKIP][560] ([i915#14259] / [i915#14544])
[559]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-4/igt@kms_plane_multiple@tiling-4.html
[560]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_plane_multiple@tiling-4.html
* igt@kms_pm_backlight@fade:
- shard-rkl: [SKIP][561] ([i915#5354]) -> [SKIP][562] ([i915#14544] / [i915#5354])
[561]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-3/igt@kms_pm_backlight@fade.html
[562]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_pm_backlight@fade.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-rkl: [SKIP][563] ([i915#14544] / [i915#15073]) -> [SKIP][564] ([i915#15073])
[563]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_pm_rpm@modeset-lpsp.html
[564]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-4/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
- shard-rkl: [SKIP][565] ([i915#11520] / [i915#14544]) -> [SKIP][566] ([i915#11520]) +5 other tests skip
[565]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
[566]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-7/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf:
- shard-rkl: [SKIP][567] ([i915#11520]) -> [SKIP][568] ([i915#11520] / [i915#14544])
[567]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-4/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf.html
[568]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf.html
* igt@kms_psr@fbc-psr2-sprite-render:
- shard-rkl: [SKIP][569] ([i915#1072] / [i915#9732]) -> [SKIP][570] ([i915#1072] / [i915#14544] / [i915#9732]) +7 other tests skip
[569]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-1/igt@kms_psr@fbc-psr2-sprite-render.html
[570]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_psr@fbc-psr2-sprite-render.html
* igt@kms_psr@psr2-cursor-blt:
- shard-rkl: [SKIP][571] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][572] ([i915#1072] / [i915#9732]) +10 other tests skip
[571]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_psr@psr2-cursor-blt.html
[572]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-3/igt@kms_psr@psr2-cursor-blt.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-rkl: [SKIP][573] ([i915#14544] / [i915#9685]) -> [SKIP][574] ([i915#9685])
[573]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
[574]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_rotation_crc@primary-4-tiled-reflect-x-180:
- shard-rkl: [SKIP][575] ([i915#5289]) -> [SKIP][576] ([i915#14544] / [i915#5289])
[575]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-5/igt@kms_rotation_crc@primary-4-tiled-reflect-x-180.html
[576]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-6/igt@kms_rotation_crc@primary-4-tiled-reflect-x-180.html
* igt@perf@mi-rpc:
- shard-rkl: [SKIP][577] ([i915#14544] / [i915#2434]) -> [SKIP][578] ([i915#2434])
[577]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@perf@mi-rpc.html
[578]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-4/igt@perf@mi-rpc.html
* igt@perf_pmu@rc6-all-gts:
- shard-rkl: [SKIP][579] ([i915#14544] / [i915#8516]) -> [SKIP][580] ([i915#8516])
[579]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8751/shard-rkl-6/igt@perf_pmu@rc6-all-gts.html
[580]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/shard-rkl-8/igt@perf_pmu@rc6-all-gts.html
[i915#10056]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10056
[i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
[i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
[i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
[i915#10553]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10553
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#10959]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10959
[i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
[i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
[i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
[i915#11815]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11815
[i915#1187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1187
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
[i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
[i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316
[i915#12549]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12549
[i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713
[i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
[i915#12910]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12910
[i915#13008]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13008
[i915#13026]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13026
[i915#13029]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13029
[i915#13030]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13030
[i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046
[i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
[i915#13179]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13179
[i915#13331]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13331
[i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
[i915#1339]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1339
[i915#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398
[i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
[i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707
[i915#13717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13717
[i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
[i915#13809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13809
[i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
[i915#14033]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14033
[i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
[i915#14121]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14121
[i915#14123]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14123
[i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
[i915#14433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14433
[i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
[i915#14545]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14545
[i915#14694]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14694
[i915#14785]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14785
[i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
[i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
[i915#15106]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15106
[i915#15131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15131
[i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243
[i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329
[i915#15330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15330
[i915#15342]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15342
[i915#15420]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15420
[i915#15458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15458
[i915#15459]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15459
[i915#15479]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15479
[i915#15481]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15481
[i915#15492]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15492
[i915#15530]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15530
[i915#15532]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15532
[i915#15582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15582
[i915#15608]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15608
[i915#15609]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15609
[i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643
[i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
[i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
[i915#2065]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2065
[i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
[i915#2434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2434
[i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
[i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658
[i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
[i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
[i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
[i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
[i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
[i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
[i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
[i915#3778]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3778
[i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
[i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
[i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
[i915#4391]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4391
[i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
[i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
[i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#4771]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4771
[i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
[i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
[i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
[i915#4854]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4854
[i915#4958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4958
[i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#5493]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5493
[i915#5956]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5956
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
[i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
[i915#6412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6412
[i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
[i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
[i915#6806]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6806
[i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944
[i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
[i915#7016]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7016
[i915#7116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7116
[i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
[i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
[i915#7582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7582
[i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#7984]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7984
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
[i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
[i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
[i915#8430]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8430
[i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
[i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
[i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
[i915#8807]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8807
[i915#8808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8808
[i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809
[i915#8825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8825
[i915#9053]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9053
[i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
[i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
[i915#9337]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9337
[i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423
[i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
[i915#9433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9433
[i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
[i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
[i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9809
[i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
[i915#9878]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9878
[i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
[i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917
[i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8751 -> IGTPW_14542
CI-20190529: 20190529
CI_DRM_17976: 2938ce73d01357a5816ed7dbd041154b58635a37 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_14542: 14542
IGT_8751: af788251f1ef729d17c802aec2c4547b52059e58 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14542/index.html
[-- Attachment #2: Type: text/html, Size: 187824 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread* Re: [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (19 preceding siblings ...)
2026-02-12 6:18 ` ✗ i915.CI.Full: failure " Patchwork
@ 2026-02-12 9:42 ` Jani Nikula
2026-02-13 2:09 ` ✗ Xe.CI.FULL: failure for " Patchwork
21 siblings, 0 replies; 23+ messages in thread
From: Jani Nikula @ 2026-02-12 9:42 UTC (permalink / raw)
To: Ville Syrjala, igt-dev
On Wed, 11 Feb 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Convert a bunch of tests to use 'igt_crtc_t' instead of
> 'enum pipe'.
>
> Afterwards there are still quite a few unconverted tests
> left that will need stringer cocci magic or manual conversion...
Read through it all, it's mostly straightforward and mechanic, but I'm
also trusting the compiler here quite a bit.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
I also realize I think there now remains igt_require_pipe(crtc->pipe)
checks on crtc that originate from for_each_crtc() which will always be
valid. More future cleanup, but there's no functional impact.
BR,
Jani.
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 23+ messages in thread* ✗ Xe.CI.FULL: failure for tests/kms: Use igt_crtc_t instead of enum pipe
2026-02-11 16:33 [PATCH i-g-t 00/17] tests/kms: Use igt_crtc_t instead of enum pipe Ville Syrjala
` (20 preceding siblings ...)
2026-02-12 9:42 ` [PATCH i-g-t 00/17] " Jani Nikula
@ 2026-02-13 2:09 ` Patchwork
21 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2026-02-13 2:09 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 41807 bytes --]
== Series Details ==
Series: tests/kms: Use igt_crtc_t instead of enum pipe
URL : https://patchwork.freedesktop.org/series/161505/
State : failure
== Summary ==
CI Bug Log - changes from XEIGT_8751_FULL -> XEIGTPW_14542_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with XEIGTPW_14542_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in XEIGTPW_14542_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (2 -> 2)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in XEIGTPW_14542_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-bmg: NOTRUN -> [FAIL][1]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-8/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@xe_exec_system_allocator@process-many-mmap-remap:
- shard-bmg: [PASS][2] -> [ABORT][3]
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/shard-bmg-8/igt@xe_exec_system_allocator@process-many-mmap-remap.html
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-3/igt@xe_exec_system_allocator@process-many-mmap-remap.html
Known issues
------------
Here are the changes found in XEIGTPW_14542_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_async_flips@async-flip-with-page-flip-events-linear:
- shard-lnl: [PASS][4] -> [FAIL][5] ([Intel XE#5993]) +3 other tests fail
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/shard-lnl-1/igt@kms_async_flips@async-flip-with-page-flip-events-linear.html
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-1/igt@kms_async_flips@async-flip-with-page-flip-events-linear.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
- shard-bmg: NOTRUN -> [SKIP][6] ([Intel XE#2370])
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-7/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
* igt@kms_big_fb@linear-32bpp-rotate-270:
- shard-bmg: NOTRUN -> [SKIP][7] ([Intel XE#2327]) +3 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-1/igt@kms_big_fb@linear-32bpp-rotate-270.html
* igt@kms_big_fb@linear-8bpp-rotate-270:
- shard-lnl: NOTRUN -> [SKIP][8] ([Intel XE#1407])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-8/igt@kms_big_fb@linear-8bpp-rotate-270.html
* igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip:
- shard-bmg: NOTRUN -> [SKIP][9] ([Intel XE#7059])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-3/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-bmg: NOTRUN -> [SKIP][10] ([Intel XE#1124]) +9 other tests skip
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-8/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@yf-tiled-16bpp-rotate-270:
- shard-lnl: NOTRUN -> [SKIP][11] ([Intel XE#1124]) +2 other tests skip
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-7/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html
* igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p:
- shard-lnl: NOTRUN -> [SKIP][12] ([Intel XE#2191])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-6/igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p.html
- shard-bmg: NOTRUN -> [SKIP][13] ([Intel XE#2314] / [Intel XE#2894])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-9/igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p.html
* igt@kms_bw@linear-tiling-2-displays-2160x1440p:
- shard-bmg: NOTRUN -> [SKIP][14] ([Intel XE#367]) +1 other test skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-5/igt@kms_bw@linear-tiling-2-displays-2160x1440p.html
* igt@kms_bw@linear-tiling-2-displays-2560x1440p:
- shard-lnl: NOTRUN -> [SKIP][15] ([Intel XE#367])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-7/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html
* igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][16] ([Intel XE#2669]) +3 other tests skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-1/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs@pipe-a-edp-1.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-b-dp-1:
- shard-bmg: NOTRUN -> [SKIP][17] ([Intel XE#2652] / [Intel XE#787]) +3 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-5/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-b-dp-1.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs:
- shard-lnl: NOTRUN -> [SKIP][18] ([Intel XE#3432])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-2/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs.html
- shard-bmg: NOTRUN -> [SKIP][19] ([Intel XE#3432])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-10/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs.html
* igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs:
- shard-lnl: NOTRUN -> [SKIP][20] ([Intel XE#2887]) +3 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-1/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][21] ([Intel XE#2887]) +10 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-5/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_cdclk@mode-transition:
- shard-bmg: NOTRUN -> [SKIP][22] ([Intel XE#2724])
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-7/igt@kms_cdclk@mode-transition.html
* igt@kms_chamelium_edid@hdmi-edid-stress-resolution-non-4k:
- shard-lnl: NOTRUN -> [SKIP][23] ([Intel XE#373]) +1 other test skip
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-1/igt@kms_chamelium_edid@hdmi-edid-stress-resolution-non-4k.html
* igt@kms_chamelium_hpd@dp-hpd-for-each-pipe:
- shard-bmg: NOTRUN -> [SKIP][24] ([Intel XE#2252]) +7 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-5/igt@kms_chamelium_hpd@dp-hpd-for-each-pipe.html
* igt@kms_chamelium_sharpness_filter@filter-basic:
- shard-lnl: NOTRUN -> [SKIP][25] ([Intel XE#6507])
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-8/igt@kms_chamelium_sharpness_filter@filter-basic.html
* igt@kms_content_protection@dp-mst-lic-type-1:
- shard-bmg: NOTRUN -> [SKIP][26] ([Intel XE#2390] / [Intel XE#6974])
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-6/igt@kms_content_protection@dp-mst-lic-type-1.html
* igt@kms_content_protection@dp-mst-type-0-hdcp14:
- shard-bmg: NOTRUN -> [SKIP][27] ([Intel XE#6974])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-8/igt@kms_content_protection@dp-mst-type-0-hdcp14.html
- shard-lnl: NOTRUN -> [SKIP][28] ([Intel XE#6974])
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-5/igt@kms_content_protection@dp-mst-type-0-hdcp14.html
* igt@kms_content_protection@dp-mst-type-1:
- shard-lnl: NOTRUN -> [SKIP][29] ([Intel XE#307] / [Intel XE#6974])
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-8/igt@kms_content_protection@dp-mst-type-1.html
* igt@kms_content_protection@lic-type-0@pipe-a-dp-1:
- shard-bmg: NOTRUN -> [FAIL][30] ([Intel XE#3304]) +1 other test fail
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-5/igt@kms_content_protection@lic-type-0@pipe-a-dp-1.html
* igt@kms_cursor_crc@cursor-offscreen-32x10:
- shard-bmg: NOTRUN -> [SKIP][31] ([Intel XE#2320])
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-9/igt@kms_cursor_crc@cursor-offscreen-32x10.html
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- shard-lnl: NOTRUN -> [SKIP][32] ([Intel XE#2321])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-2/igt@kms_cursor_crc@cursor-onscreen-512x170.html
- shard-bmg: NOTRUN -> [SKIP][33] ([Intel XE#2321])
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-10/igt@kms_cursor_crc@cursor-onscreen-512x170.html
* igt@kms_cursor_legacy@single-bo:
- shard-bmg: [PASS][34] -> [DMESG-WARN][35] ([Intel XE#5354]) +1 other test dmesg-warn
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/shard-bmg-3/igt@kms_cursor_legacy@single-bo.html
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-10/igt@kms_cursor_legacy@single-bo.html
* igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
- shard-bmg: NOTRUN -> [SKIP][36] ([Intel XE#1508])
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-5/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-3:
- shard-bmg: NOTRUN -> [SKIP][37] ([Intel XE#1340])
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-4/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-3.html
* igt@kms_dsc@dsc-with-bpc-formats:
- shard-bmg: NOTRUN -> [SKIP][38] ([Intel XE#2244])
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-9/igt@kms_dsc@dsc-with-bpc-formats.html
* igt@kms_feature_discovery@psr2:
- shard-bmg: NOTRUN -> [SKIP][39] ([Intel XE#2374])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-6/igt@kms_feature_discovery@psr2.html
* igt@kms_flip@2x-flip-vs-suspend:
- shard-bmg: [PASS][40] -> [INCOMPLETE][41] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/shard-bmg-1/igt@kms_flip@2x-flip-vs-suspend.html
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-6/igt@kms_flip@2x-flip-vs-suspend.html
* igt@kms_flip@2x-nonexisting-fb:
- shard-lnl: NOTRUN -> [SKIP][42] ([Intel XE#1421]) +1 other test skip
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-8/igt@kms_flip@2x-nonexisting-fb.html
* igt@kms_flip@2x-plain-flip-ts-check-interruptible:
- shard-bmg: [PASS][43] -> [DMESG-WARN][44] ([Intel XE#3428]) +1 other test dmesg-warn
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/shard-bmg-3/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-3/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
- shard-bmg: NOTRUN -> [SKIP][45] ([Intel XE#7178])
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-1/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling:
- shard-lnl: NOTRUN -> [SKIP][46] ([Intel XE#1397] / [Intel XE#1745]) +1 other test skip
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-5/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][47] ([Intel XE#1397]) +1 other test skip
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-5/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling:
- shard-lnl: NOTRUN -> [SKIP][48] ([Intel XE#7178])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling.html
* igt@kms_flip_scaled_crc@flip-p016-linear-to-p016-linear-reflect-x:
- shard-bmg: NOTRUN -> [SKIP][49] ([Intel XE#7179])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-1/igt@kms_flip_scaled_crc@flip-p016-linear-to-p016-linear-reflect-x.html
- shard-lnl: NOTRUN -> [SKIP][50] ([Intel XE#7179])
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-3/igt@kms_flip_scaled_crc@flip-p016-linear-to-p016-linear-reflect-x.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt:
- shard-bmg: NOTRUN -> [SKIP][51] ([Intel XE#2311]) +24 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-10/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][52] ([Intel XE#4141]) +6 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][53] ([Intel XE#7061]) +1 other test skip
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-blt.html
- shard-bmg: NOTRUN -> [SKIP][54] ([Intel XE#7061]) +2 other tests skip
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-9/igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-rgb565-draw-render:
- shard-lnl: NOTRUN -> [SKIP][55] ([Intel XE#651]) +4 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcdrrs-rgb565-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y:
- shard-bmg: NOTRUN -> [SKIP][56] ([Intel XE#2352]) +1 other test skip
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-10/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][57] ([Intel XE#656]) +9 other tests skip
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][58] ([Intel XE#2313]) +29 other tests skip
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_hdr@invalid-hdr:
- shard-bmg: NOTRUN -> [SKIP][59] ([Intel XE#1503])
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-4/igt@kms_hdr@invalid-hdr.html
* igt@kms_joiner@basic-force-ultra-joiner:
- shard-bmg: NOTRUN -> [SKIP][60] ([Intel XE#6911]) +1 other test skip
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-6/igt@kms_joiner@basic-force-ultra-joiner.html
* igt@kms_joiner@basic-ultra-joiner:
- shard-lnl: NOTRUN -> [SKIP][61] ([Intel XE#6900]) +1 other test skip
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-1/igt@kms_joiner@basic-ultra-joiner.html
* igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
- shard-bmg: NOTRUN -> [SKIP][62] ([Intel XE#4090])
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-4/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
* igt@kms_panel_fitting@atomic-fastset:
- shard-bmg: NOTRUN -> [SKIP][63] ([Intel XE#2486])
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-1/igt@kms_panel_fitting@atomic-fastset.html
* igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-a-plane-0:
- shard-bmg: NOTRUN -> [SKIP][64] ([Intel XE#7130]) +30 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-5/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-a-plane-0.html
* igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-b-plane-5:
- shard-bmg: NOTRUN -> [SKIP][65] ([Intel XE#7111] / [Intel XE#7130]) +9 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-5/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-b-plane-5.html
* igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier-source-clamping:
- shard-bmg: NOTRUN -> [SKIP][66] ([Intel XE#7111] / [Intel XE#7130] / [Intel XE#7131])
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-4/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier-source-clamping@pipe-a-plane-5:
- shard-bmg: NOTRUN -> [SKIP][67] ([Intel XE#7131])
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-4/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier-source-clamping@pipe-a-plane-5.html
* igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier-source-clamping@pipe-b-plane-5:
- shard-bmg: NOTRUN -> [SKIP][68] ([Intel XE#7111] / [Intel XE#7131])
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-4/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier-source-clamping@pipe-b-plane-5.html
* igt@kms_plane@pixel-format-yf-tiled-modifier@pipe-b-plane-5:
- shard-lnl: NOTRUN -> [SKIP][69] ([Intel XE#7130]) +6 other tests skip
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-5/igt@kms_plane@pixel-format-yf-tiled-modifier@pipe-b-plane-5.html
* igt@kms_plane_lowres@tiling-yf:
- shard-bmg: NOTRUN -> [SKIP][70] ([Intel XE#2393])
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-7/igt@kms_plane_lowres@tiling-yf.html
* igt@kms_plane_multiple@tiling-y:
- shard-bmg: NOTRUN -> [SKIP][71] ([Intel XE#5020])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-8/igt@kms_plane_multiple@tiling-y.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers:
- shard-lnl: NOTRUN -> [SKIP][72] ([Intel XE#6886]) +3 other tests skip
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-5/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers.html
* igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a:
- shard-bmg: NOTRUN -> [SKIP][73] ([Intel XE#6886]) +4 other tests skip
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-4/igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a.html
* igt@kms_pm_dc@dc6-psr:
- shard-bmg: NOTRUN -> [SKIP][74] ([Intel XE#2392])
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-9/igt@kms_pm_dc@dc6-psr.html
* igt@kms_pm_dc@deep-pkgc:
- shard-bmg: NOTRUN -> [SKIP][75] ([Intel XE#2505])
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-7/igt@kms_pm_dc@deep-pkgc.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area:
- shard-lnl: NOTRUN -> [SKIP][76] ([Intel XE#1406] / [Intel XE#2893] / [Intel XE#4608]) +1 other test skip
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-8/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][77] ([Intel XE#1406] / [Intel XE#4608]) +3 other tests skip
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-8/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area@pipe-a-edp-1.html
* igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf:
- shard-bmg: NOTRUN -> [SKIP][78] ([Intel XE#1406] / [Intel XE#1489]) +7 other tests skip
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-4/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_su@page_flip-xrgb8888:
- shard-bmg: NOTRUN -> [SKIP][79] ([Intel XE#1406] / [Intel XE#2387])
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-7/igt@kms_psr2_su@page_flip-xrgb8888.html
* igt@kms_psr@pr-cursor-plane-move:
- shard-lnl: NOTRUN -> [SKIP][80] ([Intel XE#1406]) +2 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-7/igt@kms_psr@pr-cursor-plane-move.html
* igt@kms_psr@psr2-primary-page-flip:
- shard-bmg: NOTRUN -> [SKIP][81] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +9 other tests skip
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-5/igt@kms_psr@psr2-primary-page-flip.html
* igt@kms_rotation_crc@primary-4-tiled-reflect-x-180:
- shard-lnl: NOTRUN -> [SKIP][82] ([Intel XE#3414] / [Intel XE#3904])
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-5/igt@kms_rotation_crc@primary-4-tiled-reflect-x-180.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
- shard-bmg: NOTRUN -> [SKIP][83] ([Intel XE#2330]) +1 other test skip
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-8/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
- shard-bmg: NOTRUN -> [SKIP][84] ([Intel XE#3414] / [Intel XE#3904])
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
* igt@kms_scaling_modes@scaling-mode-center:
- shard-bmg: NOTRUN -> [SKIP][85] ([Intel XE#2413])
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-6/igt@kms_scaling_modes@scaling-mode-center.html
* igt@kms_setmode@invalid-clone-exclusive-crtc:
- shard-bmg: NOTRUN -> [SKIP][86] ([Intel XE#1435])
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-6/igt@kms_setmode@invalid-clone-exclusive-crtc.html
* igt@kms_sharpness_filter@filter-toggle:
- shard-bmg: NOTRUN -> [SKIP][87] ([Intel XE#6503])
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-3/igt@kms_sharpness_filter@filter-toggle.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-bmg: NOTRUN -> [SKIP][88] ([Intel XE#2426])
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-8/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tv_load_detect@load-detect:
- shard-lnl: NOTRUN -> [SKIP][89] ([Intel XE#330])
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-8/igt@kms_tv_load_detect@load-detect.html
* igt@kms_vrr@flipline:
- shard-bmg: NOTRUN -> [SKIP][90] ([Intel XE#1499])
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-1/igt@kms_vrr@flipline.html
* igt@kms_vrr@lobf:
- shard-bmg: NOTRUN -> [SKIP][91] ([Intel XE#2168])
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-10/igt@kms_vrr@lobf.html
* igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
- shard-lnl: NOTRUN -> [SKIP][92] ([Intel XE#1091] / [Intel XE#2849])
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-5/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
* igt@xe_eudebug@basic-vm-access-userptr-faultable:
- shard-lnl: NOTRUN -> [SKIP][93] ([Intel XE#4837]) +3 other tests skip
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-3/igt@xe_eudebug@basic-vm-access-userptr-faultable.html
* igt@xe_eudebug@connect-user:
- shard-bmg: NOTRUN -> [SKIP][94] ([Intel XE#4837]) +8 other tests skip
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-6/igt@xe_eudebug@connect-user.html
* igt@xe_eudebug_online@writes-caching-sram-bb-sram-target-sram:
- shard-bmg: NOTRUN -> [SKIP][95] ([Intel XE#4837] / [Intel XE#6665])
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-10/igt@xe_eudebug_online@writes-caching-sram-bb-sram-target-sram.html
* igt@xe_evict@evict-beng-cm-threads-small:
- shard-lnl: NOTRUN -> [SKIP][96] ([Intel XE#688]) +3 other tests skip
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-8/igt@xe_evict@evict-beng-cm-threads-small.html
* igt@xe_evict@evict-small-multi-queue:
- shard-bmg: NOTRUN -> [SKIP][97] ([Intel XE#7140])
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-5/igt@xe_evict@evict-small-multi-queue.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate:
- shard-bmg: NOTRUN -> [SKIP][98] ([Intel XE#2322]) +6 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-4/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate-race:
- shard-lnl: NOTRUN -> [SKIP][99] ([Intel XE#1392]) +1 other test skip
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-6/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate-race.html
* igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-invalidate:
- shard-lnl: NOTRUN -> [SKIP][100] ([Intel XE#7136]) +2 other tests skip
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-5/igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-invalidate.html
* igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-invalidate-imm:
- shard-bmg: NOTRUN -> [SKIP][101] ([Intel XE#7136]) +13 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-4/igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-invalidate-imm.html
* igt@xe_exec_multi_queue@many-execs-priority:
- shard-lnl: NOTRUN -> [SKIP][102] ([Intel XE#6874]) +8 other tests skip
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-8/igt@xe_exec_multi_queue@many-execs-priority.html
* igt@xe_exec_multi_queue@two-queues-preempt-mode-fault-priority:
- shard-bmg: NOTRUN -> [SKIP][103] ([Intel XE#6874]) +19 other tests skip
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-5/igt@xe_exec_multi_queue@two-queues-preempt-mode-fault-priority.html
* igt@xe_exec_threads@threads-multi-queue-mixed-basic:
- shard-lnl: NOTRUN -> [SKIP][104] ([Intel XE#7138]) +2 other tests skip
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-2/igt@xe_exec_threads@threads-multi-queue-mixed-basic.html
* igt@xe_exec_threads@threads-multi-queue-mixed-userptr-invalidate:
- shard-bmg: NOTRUN -> [SKIP][105] ([Intel XE#7138]) +6 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-7/igt@xe_exec_threads@threads-multi-queue-mixed-userptr-invalidate.html
* igt@xe_mmap@small-bar:
- shard-bmg: NOTRUN -> [SKIP][106] ([Intel XE#586])
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-7/igt@xe_mmap@small-bar.html
* igt@xe_multigpu_svm@mgpu-latency-prefetch:
- shard-bmg: NOTRUN -> [SKIP][107] ([Intel XE#6964]) +2 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-1/igt@xe_multigpu_svm@mgpu-latency-prefetch.html
* igt@xe_pat@pat-index-xehpc:
- shard-bmg: NOTRUN -> [SKIP][108] ([Intel XE#1420])
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-5/igt@xe_pat@pat-index-xehpc.html
* igt@xe_pat@pat-index-xelp:
- shard-bmg: NOTRUN -> [SKIP][109] ([Intel XE#2245])
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-8/igt@xe_pat@pat-index-xelp.html
* igt@xe_pm@d3cold-i2c:
- shard-bmg: NOTRUN -> [SKIP][110] ([Intel XE#5694])
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-9/igt@xe_pm@d3cold-i2c.html
* igt@xe_pm@s3-d3cold-basic-exec:
- shard-lnl: NOTRUN -> [SKIP][111] ([Intel XE#2284] / [Intel XE#366])
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-6/igt@xe_pm@s3-d3cold-basic-exec.html
* igt@xe_pxp@pxp-stale-bo-bind-post-termination-irq:
- shard-bmg: NOTRUN -> [SKIP][112] ([Intel XE#4733]) +3 other tests skip
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-3/igt@xe_pxp@pxp-stale-bo-bind-post-termination-irq.html
* igt@xe_query@multigpu-query-invalid-size:
- shard-lnl: NOTRUN -> [SKIP][113] ([Intel XE#944])
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-8/igt@xe_query@multigpu-query-invalid-size.html
* igt@xe_sriov_admin@bulk-sched-priority-vfs-disabled:
- shard-lnl: NOTRUN -> [SKIP][114] ([Intel XE#7174]) +1 other test skip
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-5/igt@xe_sriov_admin@bulk-sched-priority-vfs-disabled.html
* igt@xe_sriov_flr@flr-each-isolation:
- shard-bmg: [PASS][115] -> [FAIL][116] ([Intel XE#6569])
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/shard-bmg-3/igt@xe_sriov_flr@flr-each-isolation.html
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-4/igt@xe_sriov_flr@flr-each-isolation.html
* igt@xe_sriov_flr@flr-twice:
- shard-lnl: NOTRUN -> [SKIP][117] ([Intel XE#4273])
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-4/igt@xe_sriov_flr@flr-twice.html
#### Possible fixes ####
* igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size:
- shard-bmg: [DMESG-WARN][118] ([Intel XE#5354]) -> [PASS][119]
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/shard-bmg-8/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-1/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html
* igt@kms_vblank@ts-continuation-dpms-rpm:
- shard-lnl: [SKIP][120] -> [PASS][121] +2 other tests pass
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/shard-lnl-6/igt@kms_vblank@ts-continuation-dpms-rpm.html
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-1/igt@kms_vblank@ts-continuation-dpms-rpm.html
* igt@xe_exec_system_allocator@threads-many-large-execqueues-malloc-mlock-nomemset:
- shard-bmg: [ABORT][122] ([Intel XE#7169]) -> [PASS][123]
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/shard-bmg-1/igt@xe_exec_system_allocator@threads-many-large-execqueues-malloc-mlock-nomemset.html
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-7/igt@xe_exec_system_allocator@threads-many-large-execqueues-malloc-mlock-nomemset.html
* igt@xe_pm@s2idle-mocs:
- shard-lnl: [ABORT][124] ([Intel XE#7169]) -> [PASS][125]
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/shard-lnl-6/igt@xe_pm@s2idle-mocs.html
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-lnl-5/igt@xe_pm@s2idle-mocs.html
#### Warnings ####
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling:
- shard-bmg: [INCOMPLETE][126] ([Intel XE#2594]) -> [SKIP][127] ([Intel XE#7178])
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/shard-bmg-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling.html
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-bmg: [SKIP][128] ([Intel XE#2509]) -> [SKIP][129] ([Intel XE#2426])
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/shard-bmg-4/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-9/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv:
- shard-bmg: [ABORT][130] ([Intel XE#5466]) -> [ABORT][131] ([Intel XE#5466] / [Intel XE#6652])
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8751/shard-bmg-9/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/shard-bmg-4/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
[Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[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#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1420]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1420
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[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#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1508]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1508
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2168
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[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#2245]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2245
[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#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[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#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#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330
[Intel XE#2352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2352
[Intel XE#2370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2370
[Intel XE#2374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2374
[Intel XE#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
[Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
[Intel XE#2392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2392
[Intel XE#2393]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2393
[Intel XE#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2486]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2486
[Intel XE#2505]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2505
[Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
[Intel XE#2594]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2594
[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#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
[Intel XE#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
[Intel XE#330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/330
[Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3428
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[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#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[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#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4273]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4273
[Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
[Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
[Intel XE#5354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5354
[Intel XE#5466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5466
[Intel XE#5694]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5694
[Intel XE#586]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/586
[Intel XE#5993]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5993
[Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
[Intel XE#6507]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6507
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#6569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6569
[Intel XE#6652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6652
[Intel XE#6665]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6665
[Intel XE#6874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6874
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
[Intel XE#6900]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6900
[Intel XE#6911]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6911
[Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
[Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
[Intel XE#7059]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7059
[Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
[Intel XE#7111]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7111
[Intel XE#7130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7130
[Intel XE#7131]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7131
[Intel XE#7136]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7136
[Intel XE#7138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7138
[Intel XE#7140]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7140
[Intel XE#7169]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7169
[Intel XE#7174]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7174
[Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
[Intel XE#7179]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7179
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
Build changes
-------------
* IGT: IGT_8751 -> IGTPW_14542
IGTPW_14542: 14542
IGT_8751: af788251f1ef729d17c802aec2c4547b52059e58 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-4544-2938ce73d01357a5816ed7dbd041154b58635a37: 2938ce73d01357a5816ed7dbd041154b58635a37
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14542/index.html
[-- Attachment #2: Type: text/html, Size: 47513 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread