Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion
@ 2026-01-20 17:16 Ville Syrjala
  2026-01-20 17:16 ` [PATCH i-g-t 01/12] igt/kms: Nuke igt_pipe_is_prop_changed() and igt_pipe_set_prop_value() Ville Syrjala
                   ` (15 more replies)
  0 siblings, 16 replies; 32+ messages in thread
From: Ville Syrjala @ 2026-01-20 17:16 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Use igt_crtc_t in a few more places (namely CRC), and rename
a bunch of stuff to use the crtc terminilogy for consistency.

Ville Syrjälä (12):
  igt/kms: Nuke igt_pipe_is_prop_changed() and igt_pipe_set_prop_value()
  lib/kms: Rename igt_pipe_obj_*_prop()
  lib/kms: Pass igt_crtc_t to igt_pipe_refresh()
  lib/kms: Don't pass 'display' to igt_fill_pipe_props)_
  lib/kms: Rename a bunch of crtc functions
  lib/kms: Eliminate some redundant igt_crtc_for_pipe()s
  lib/crc: Convert igt_pipe_crc away from enum pipe
  lib/kms: Add igt_crtc_t based CRC wrappers
  lib/kms: Use igt_crtc_crc_new()
  lib/kms: Use igt_crtc_crc_new() more
  lib/kms: Use igt_crtc_crc_new_nonblock() more
  lib/kms: Use igt_crtc_crc_new() even more

 lib/igt_kms.c                                 | 176 ++++++++++--------
 lib/igt_kms.h                                 |  78 +++-----
 lib/igt_pipe_crc.c                            |  32 ++--
 lib/igt_pipe_crc.h                            |   6 +-
 tests/amdgpu/amd_abm.c                        |   4 +-
 tests/amdgpu/amd_assr.c                       |   2 +-
 tests/amdgpu/amd_bypass.c                     |  12 +-
 tests/amdgpu/amd_color.c                      |  26 +--
 tests/amdgpu/amd_cursor_overlay.c             |  10 +-
 tests/amdgpu/amd_dp_dsc.c                     |   4 +-
 tests/amdgpu/amd_freesync_video_mode.c        |   5 +-
 tests/amdgpu/amd_hotplug.c                    |   8 +-
 tests/amdgpu/amd_ilr.c                        |   4 +-
 tests/amdgpu/amd_link_settings.c              |   2 +-
 tests/amdgpu/amd_mall.c                       |   6 +-
 tests/amdgpu/amd_max_bpc.c                    |   6 +-
 tests/amdgpu/amd_mem_leak.c                   |   4 +-
 tests/amdgpu/amd_mode_switch.c                |   2 +-
 tests/amdgpu/amd_multidisplay_modeset.c       |  11 +-
 tests/amdgpu/amd_odm.c                        |   4 +-
 tests/amdgpu/amd_plane.c                      |  14 +-
 tests/amdgpu/amd_psr.c                        |  10 +-
 tests/amdgpu/amd_replay.c                     |   4 +-
 tests/amdgpu/amd_subvp.c                      |   5 +-
 tests/chamelium/kms_chamelium_color.c         |  18 +-
 tests/chamelium/kms_chamelium_helper.c        |  12 +-
 .../kms_chamelium_sharpness_filter.c          |  14 +-
 tests/intel/gem_pxp.c                         |   8 +-
 tests/intel/kms_big_fb.c                      |  10 +-
 tests/intel/kms_busy.c                        |   2 +-
 tests/intel/kms_ccs.c                         |   2 +-
 tests/intel/kms_cdclk.c                       |   2 +-
 tests/intel/kms_dirtyfb.c                     |   4 +-
 tests/intel/kms_draw_crc.c                    |   3 +-
 tests/intel/kms_fb_coherency.c                |   2 +-
 tests/intel/kms_fbc_dirty_rect.c              |   2 +-
 tests/intel/kms_flip_scaled_crc.c             |   6 +-
 tests/intel/kms_flip_tiling.c                 |   2 +-
 tests/intel/kms_frontbuffer_tracking.c        |   8 +-
 tests/intel/kms_mmap_write_crc.c              |   2 +-
 tests/intel/kms_pipe_stress.c                 |   2 +-
 tests/intel/kms_pm_dc.c                       |   5 +-
 tests/intel/kms_pwrite_crc.c                  |   2 +-
 tests/intel/kms_sharpness_filter.c            |  14 +-
 tests/intel/xe_pat.c                          |   3 +-
 tests/intel/xe_pxp.c                          |  12 +-
 tests/kms_async_flips.c                       |   3 +-
 tests/kms_atomic.c                            |  56 +++---
 tests/kms_atomic_interruptible.c              |   2 +-
 tests/kms_atomic_transition.c                 |  20 +-
 tests/kms_bw.c                                |   4 +-
 tests/kms_color.c                             |  39 ++--
 tests/kms_color_helper.c                      |  24 +--
 tests/kms_color_pipeline.c                    |   5 +-
 tests/kms_concurrent.c                        |   2 +-
 tests/kms_content_protection.c                |   8 +-
 tests/kms_cursor_crc.c                        |   2 +-
 tests/kms_cursor_edge_walk.c                  |   2 +-
 tests/kms_cursor_legacy.c                     |  12 +-
 tests/kms_display_modes.c                     |  14 +-
 tests/kms_dither.c                            |   2 +-
 tests/kms_hdr.c                               |   6 +-
 tests/kms_lease.c                             |  10 +-
 tests/kms_multipipe_modeset.c                 |  10 +-
 tests/kms_pipe_crc_basic.c                    |   8 +-
 tests/kms_plane.c                             |   6 +-
 tests/kms_plane_alpha_blend.c                 |  12 +-
 tests/kms_plane_cursor.c                      |  10 +-
 tests/kms_plane_lowres.c                      |   2 +-
 tests/kms_plane_multiple.c                    |   8 +-
 tests/kms_plane_scaling.c                     |   6 +-
 tests/kms_prime.c                             |   2 +-
 tests/kms_rmfb.c                              |   3 +-
 tests/kms_rotation_crc.c                      |   4 +-
 tests/kms_universal_plane.c                   |   2 +-
 tests/kms_vrr.c                               |  11 +-
 tests/nouveau_crc.c                           |  16 +-
 tools/amd_hdmi_compliance.c                   |   4 +-
 78 files changed, 438 insertions(+), 447 deletions(-)

-- 
2.52.0


^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH i-g-t 01/12] igt/kms: Nuke igt_pipe_is_prop_changed() and igt_pipe_set_prop_value()
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
@ 2026-01-20 17:16 ` Ville Syrjala
  2026-01-21  8:50   ` Jani Nikula
  2026-01-20 17:16 ` [PATCH i-g-t 02/12] lib/kms: Rename igt_pipe_obj_*_prop() Ville Syrjala
                   ` (14 subsequent siblings)
  15 siblings, 1 reply; 32+ messages in thread
From: Ville Syrjala @ 2026-01-20 17:16 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Remove the pipe based igt_pipe_is_prop_changed() and
igt_pipe_set_prop_value() wrappers and just use the crtc
based variants directly. One step towards eliminating
pipe usage from tests.

Done with cocci:
 #include "scripts/iterators.cocci"

@@
@@
- igt_pipe_is_prop_changed(...) { ... }

@@
@@
- igt_pipe_set_prop_value(...) { ... }

@@
expression DISPLAY, PIPE;
@@
(
- igt_pipe_is_prop_changed(DISPLAY, PIPE
+ igt_pipe_obj_is_prop_changed(igt_crtc_for_pipe(DISPLAY, PIPE)
	,...)
|
- igt_pipe_set_prop_value(DISPLAY, PIPE
+ igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(DISPLAY, PIPE)
	,...)
)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 lib/igt_kms.h                                 | 32 -------------------
 tests/amdgpu/amd_freesync_video_mode.c        |  5 +--
 .../kms_chamelium_sharpness_filter.c          | 10 +++---
 tests/intel/kms_pm_dc.c                       |  5 +--
 tests/intel/kms_sharpness_filter.c            |  6 ++--
 tests/kms_atomic_transition.c                 |  2 +-
 tests/kms_content_protection.c                |  8 ++---
 tests/kms_vrr.c                               | 11 ++++---
 8 files changed, 26 insertions(+), 53 deletions(-)

diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index a271c94a97fd..b848ca2eb973 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -1067,21 +1067,6 @@ static inline bool igt_pipe_obj_is_prop_changed(igt_crtc_t *pipe_obj,
 	return pipe_obj->changed & (1 << prop);
 }
 
-/**
- * igt_pipe_is_prop_changed:
- * @pipe: Pipe object to check.
- * @prop: Property to check.
- *
- * Check whether a given @prop changed for the @pipe.
- */
-static inline bool igt_pipe_is_prop_changed(igt_display_t *display,
-					    enum pipe pipe,
-					    enum igt_atomic_crtc_properties prop)
-{
-	return igt_pipe_obj_is_prop_changed(igt_crtc_for_pipe(display, pipe),
-					    prop);
-}
-
 /**
  * igt_pipe_obj_set_prop_changed:
  * @pipe_obj: Pipe object to check.
@@ -1124,23 +1109,6 @@ static inline void igt_pipe_obj_set_prop_value(igt_crtc_t *pipe_obj,
 	igt_pipe_obj_set_prop_changed(pipe_obj, prop);
 }
 
-/**
- * igt_pipe_set_prop_value:
- * @pipe: Pipe to check.
- * @prop: Property to check.
- * @value: Value to set.
- *
- * Sets the given @prop with the @value for the @pipe.
- */
-static inline void igt_pipe_set_prop_value(igt_display_t *display,
-					   enum pipe pipe,
-					   enum igt_atomic_crtc_properties prop,
-					   uint64_t value)
-{
-	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(display, pipe), prop,
-				    value);
-}
-
 extern bool igt_pipe_obj_try_prop_enum(igt_crtc_t *pipe,
 				       enum igt_atomic_crtc_properties prop,
 				       const char *val);
diff --git a/tests/amdgpu/amd_freesync_video_mode.c b/tests/amdgpu/amd_freesync_video_mode.c
index c1a3e8161304..812212ac5f2b 100644
--- a/tests/amdgpu/amd_freesync_video_mode.c
+++ b/tests/amdgpu/amd_freesync_video_mode.c
@@ -548,8 +548,9 @@ 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)
 {
-	igt_pipe_set_prop_value(&data->display, pipe, IGT_CRTC_VRR_ENABLED,
-				enabled);
+	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
+				    IGT_CRTC_VRR_ENABLED,
+				    enabled);
 	igt_display_commit2(&data->display, COMMIT_ATOMIC);
 }
 
diff --git a/tests/chamelium/kms_chamelium_sharpness_filter.c b/tests/chamelium/kms_chamelium_sharpness_filter.c
index 6f161660b043..fb6e95a92b5e 100644
--- a/tests/chamelium/kms_chamelium_sharpness_filter.c
+++ b/tests/chamelium/kms_chamelium_sharpness_filter.c
@@ -53,15 +53,15 @@ static bool pipe_output_combo_valid(data_t *data, enum pipe pipe)
 
 static void set_filter_strength_on_pipe(data_t *data)
 {
-	igt_pipe_set_prop_value(&data->display, data->pipe_id,
-				IGT_CRTC_SHARPNESS_STRENGTH,
-				data->filter_strength);
+	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
+				    IGT_CRTC_SHARPNESS_STRENGTH,
+				    data->filter_strength);
 }
 
 static void reset_filter_strength_on_pipe(data_t *data)
 {
-	igt_pipe_set_prop_value(&data->display, data->pipe_id,
-				IGT_CRTC_SHARPNESS_STRENGTH, 0);
+	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
+				    IGT_CRTC_SHARPNESS_STRENGTH, 0);
 }
 
 static void paint_image(igt_fb_t *fb)
diff --git a/tests/intel/kms_pm_dc.c b/tests/intel/kms_pm_dc.c
index 5e59ba6e03a3..9055e66a2ffa 100644
--- a/tests/intel/kms_pm_dc.c
+++ b/tests/intel/kms_pm_dc.c
@@ -663,8 +663,9 @@ static void test_deep_pkgc_state(data_t *data)
 				 * TODO: Add check for vmin = vmax = flipline if VRR enabled
 				 * when KMD allows for such capability.
 				 */
-				igt_pipe_set_prop_value(display, pipe,
-							IGT_CRTC_VRR_ENABLED, false);
+				igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(display, pipe),
+							    IGT_CRTC_VRR_ENABLED,
+							    false);
 				igt_assert(igt_display_try_commit_atomic(display,
 									 DRM_MODE_ATOMIC_ALLOW_MODESET,
 									 NULL) == 0);
diff --git a/tests/intel/kms_sharpness_filter.c b/tests/intel/kms_sharpness_filter.c
index 06ceb640a976..ffc43dbaf129 100644
--- a/tests/intel/kms_sharpness_filter.c
+++ b/tests/intel/kms_sharpness_filter.c
@@ -173,9 +173,9 @@ typedef struct {
 
 static void set_filter_strength_on_pipe(data_t *data)
 {
-	igt_pipe_set_prop_value(&data->display, data->pipe_id,
-				IGT_CRTC_SHARPNESS_STRENGTH,
-				data->filter_strength);
+	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
+				    IGT_CRTC_SHARPNESS_STRENGTH,
+				    data->filter_strength);
 }
 
 static bool has_scaling_mode(igt_output_t *output)
diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index 4631d54725db..6aa3439eedae 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -829,7 +829,7 @@ static unsigned set_combinations(data_t *data, unsigned mask, struct igt_fb *fb)
 		drmModeModeInfo *mode = NULL;
 
 		if (!(mask & (1 << pipe))) {
-			if (igt_pipe_is_prop_changed(&data->display, pipe, IGT_CRTC_ACTIVE)) {
+			if (igt_pipe_obj_is_prop_changed(igt_crtc_for_pipe(&data->display, pipe), IGT_CRTC_ACTIVE)) {
 				event_mask |= 1 << pipe;
 				igt_plane_set_fb(plane, NULL);
 			}
diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
index c1a84c63f791..f7896592b3ff 100644
--- a/tests/kms_content_protection.c
+++ b/tests/kms_content_protection.c
@@ -484,12 +484,12 @@ static void test_content_protection_on_output(igt_output_t *output,
 		test_cp_lic(output);
 
 	if (data.cp_tests & CP_DPMS) {
-		igt_pipe_set_prop_value(display, pipe,
-					IGT_CRTC_ACTIVE, 0);
+		igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(display, pipe),
+					    IGT_CRTC_ACTIVE, 0);
 		igt_display_commit2(display, commit_style);
 
-		igt_pipe_set_prop_value(display, pipe,
-					IGT_CRTC_ACTIVE, 1);
+		igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(display, pipe),
+					    IGT_CRTC_ACTIVE, 1);
 		igt_display_commit2(display, commit_style);
 
 		ret = wait_for_prop_value(output, CP_ENABLED,
diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c
index 0e54672a7d83..f05b3b87ad57 100644
--- a/tests/kms_vrr.c
+++ b/tests/kms_vrr.c
@@ -309,8 +309,9 @@ static bool vrr_capable(igt_output_t *output)
 static void set_vrr_on_pipe(data_t *data, enum pipe pipe,
 			    bool need_modeset, bool enabled)
 {
-	igt_pipe_set_prop_value(&data->display, pipe, IGT_CRTC_VRR_ENABLED,
-				enabled);
+	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
+				    IGT_CRTC_VRR_ENABLED,
+				    enabled);
 
 	igt_assert(igt_display_try_commit_atomic(&data->display,
 						 need_modeset ? DRM_MODE_ATOMIC_ALLOW_MODESET : 0,
@@ -405,7 +406,8 @@ static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe)
 	/* Clear vrr_enabled state before enabling it, because
 	 * it might be left enabled if the previous test fails.
 	 */
-	igt_pipe_set_prop_value(&data->display, pipe, IGT_CRTC_VRR_ENABLED, 0);
+	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
+				    IGT_CRTC_VRR_ENABLED, 0);
 
 	igt_display_commit2(&data->display, COMMIT_ATOMIC);
 }
@@ -968,7 +970,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)
 {
-	igt_pipe_set_prop_value(&data->display, pipe, IGT_CRTC_VRR_ENABLED, false);
+	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
+				    IGT_CRTC_VRR_ENABLED, false);
 
 	if (data->primary)
 		igt_plane_set_fb(data->primary, NULL);
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH i-g-t 02/12] lib/kms: Rename igt_pipe_obj_*_prop()
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
  2026-01-20 17:16 ` [PATCH i-g-t 01/12] igt/kms: Nuke igt_pipe_is_prop_changed() and igt_pipe_set_prop_value() Ville Syrjala
@ 2026-01-20 17:16 ` Ville Syrjala
  2026-01-21  8:55   ` Jani Nikula
  2026-01-20 17:16 ` [PATCH i-g-t 03/12] lib/kms: Pass igt_crtc_t to igt_pipe_refresh() Ville Syrjala
                   ` (13 subsequent siblings)
  15 siblings, 1 reply; 32+ messages in thread
From: Ville Syrjala @ 2026-01-20 17:16 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Rename all the 'pipe_obj' property functions to
use the 'crtc' terminology instead.

Done with cocci (with manual fixups for docs):
 #include "scripts/iterators.cocci"

@@
@@
(
- igt_pipe_obj_has_prop
+ igt_crtc_has_prop
|
- igt_pipe_obj_get_prop
+ igt_crtc_get_prop
|
- igt_pipe_obj_is_prop_changed
+ igt_crtc_is_prop_changed
|
- igt_pipe_obj_set_prop_changed
+ igt_crtc_set_prop_changed
|
- igt_pipe_obj_clear_prop_changed
+ igt_crtc_clear_prop_changed
|
- igt_pipe_obj_set_prop_value
+ igt_crtc_set_prop_value
|
- igt_pipe_obj_replace_prop_blob
+ igt_crtc_replace_prop_blob
|
- igt_pipe_obj_set_prop_enum
+ igt_crtc_set_prop_enum
|
- igt_pipe_obj_try_prop_enum
+ igt_crtc_try_prop_enum
)
 (...) { ... }

@@
@@
(
- igt_pipe_obj_has_prop
+ igt_crtc_has_prop
|
- igt_pipe_obj_get_prop
+ igt_crtc_get_prop
|
- igt_pipe_obj_is_prop_changed
+ igt_crtc_is_prop_changed
|
- igt_pipe_obj_set_prop_changed
+ igt_crtc_set_prop_changed
|
- igt_pipe_obj_clear_prop_changed
+ igt_crtc_clear_prop_changed
|
- igt_pipe_obj_set_prop_value
+ igt_crtc_set_prop_value
|
- igt_pipe_obj_replace_prop_blob
+ igt_crtc_replace_prop_blob
|
- igt_pipe_obj_set_prop_enum
+ igt_crtc_set_prop_enum
|
- igt_pipe_obj_try_prop_enum
+ igt_crtc_try_prop_enum
)
 (...);

@@
@@
(
- igt_pipe_obj_has_prop
+ igt_crtc_has_prop
|
- igt_pipe_obj_get_prop
+ igt_crtc_get_prop
|
- igt_pipe_obj_is_prop_changed
+ igt_crtc_is_prop_changed
|
- igt_pipe_obj_set_prop_changed
+ igt_crtc_set_prop_changed
|
- igt_pipe_obj_clear_prop_changed
+ igt_crtc_clear_prop_changed
|
- igt_pipe_obj_set_prop_value
+ igt_crtc_set_prop_value
|
- igt_pipe_obj_replace_prop_blob
+ igt_crtc_replace_prop_blob
|
- igt_pipe_obj_set_prop_enum
+ igt_crtc_set_prop_enum
|
- igt_pipe_obj_try_prop_enum
+ igt_crtc_try_prop_enum
)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 lib/igt_kms.c                                 | 90 +++++++++----------
 lib/igt_kms.h                                 | 30 +++----
 tests/amdgpu/amd_bypass.c                     |  6 +-
 tests/amdgpu/amd_color.c                      | 20 ++---
 tests/amdgpu/amd_freesync_video_mode.c        |  2 +-
 tests/amdgpu/amd_plane.c                      |  4 +-
 tests/chamelium/kms_chamelium_color.c         | 16 ++--
 tests/chamelium/kms_chamelium_helper.c        | 12 +--
 .../kms_chamelium_sharpness_filter.c          |  6 +-
 tests/intel/kms_big_fb.c                      |  6 +-
 tests/intel/kms_flip_scaled_crc.c             |  4 +-
 tests/intel/kms_pm_dc.c                       |  2 +-
 tests/intel/kms_sharpness_filter.c            |  4 +-
 tests/kms_atomic.c                            | 38 ++++----
 tests/kms_atomic_transition.c                 |  2 +-
 tests/kms_color.c                             | 34 +++----
 tests/kms_color_helper.c                      | 24 ++---
 tests/kms_content_protection.c                |  4 +-
 tests/kms_vrr.c                               |  6 +-
 19 files changed, 155 insertions(+), 155 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 3cb1273f3041..d5436c4cdd2e 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -2733,27 +2733,27 @@ static void igt_plane_reset(igt_plane_t *plane)
 
 static void igt_pipe_reset(igt_crtc_t *pipe)
 {
-	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_MODE_ID, 0);
-	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_ACTIVE, 0);
-	igt_pipe_obj_clear_prop_changed(pipe, IGT_CRTC_OUT_FENCE_PTR);
+	igt_crtc_set_prop_value(pipe, IGT_CRTC_MODE_ID, 0);
+	igt_crtc_set_prop_value(pipe, IGT_CRTC_ACTIVE, 0);
+	igt_crtc_clear_prop_changed(pipe, IGT_CRTC_OUT_FENCE_PTR);
 
-	if (igt_pipe_obj_has_prop(pipe, IGT_CRTC_CTM))
-		igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_CTM, 0);
+	if (igt_crtc_has_prop(pipe, IGT_CRTC_CTM))
+		igt_crtc_set_prop_value(pipe, IGT_CRTC_CTM, 0);
 
-	if (igt_pipe_obj_has_prop(pipe, IGT_CRTC_GAMMA_LUT))
-		igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_GAMMA_LUT, 0);
+	if (igt_crtc_has_prop(pipe, IGT_CRTC_GAMMA_LUT))
+		igt_crtc_set_prop_value(pipe, IGT_CRTC_GAMMA_LUT, 0);
 
-	if (igt_pipe_obj_has_prop(pipe, IGT_CRTC_DEGAMMA_LUT))
-		igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_DEGAMMA_LUT, 0);
+	if (igt_crtc_has_prop(pipe, IGT_CRTC_DEGAMMA_LUT))
+		igt_crtc_set_prop_value(pipe, IGT_CRTC_DEGAMMA_LUT, 0);
 
-	if (igt_pipe_obj_has_prop(pipe, IGT_CRTC_SCALING_FILTER))
-		igt_pipe_obj_set_prop_enum(pipe, IGT_CRTC_SCALING_FILTER, "Default");
+	if (igt_crtc_has_prop(pipe, IGT_CRTC_SCALING_FILTER))
+		igt_crtc_set_prop_enum(pipe, IGT_CRTC_SCALING_FILTER, "Default");
 
-	if (igt_pipe_obj_has_prop(pipe, IGT_CRTC_VRR_ENABLED))
-		igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_VRR_ENABLED, 0);
+	if (igt_crtc_has_prop(pipe, IGT_CRTC_VRR_ENABLED))
+		igt_crtc_set_prop_value(pipe, IGT_CRTC_VRR_ENABLED, 0);
 
-	if (igt_pipe_obj_has_prop(pipe, IGT_CRTC_SHARPNESS_STRENGTH))
-		igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_SHARPNESS_STRENGTH, 0);
+	if (igt_crtc_has_prop(pipe, IGT_CRTC_SHARPNESS_STRENGTH))
+		igt_crtc_set_prop_value(pipe, IGT_CRTC_SHARPNESS_STRENGTH, 0);
 
 	pipe->out_fence_fd = -1;
 }
@@ -4061,7 +4061,7 @@ static int igt_primary_plane_commit_legacy(igt_plane_t *primary,
 
 	if (!igt_plane_is_prop_changed(primary, IGT_PLANE_FB_ID) &&
 	    !(primary->changed & IGT_PLANE_COORD_CHANGED_MASK) &&
-	    !igt_pipe_obj_is_prop_changed(primary->pipe, IGT_CRTC_MODE_ID))
+	    !igt_crtc_is_prop_changed(primary->pipe, IGT_CRTC_MODE_ID))
 		return 0;
 
 	crtc_id = pipe->crtc_id;
@@ -4210,7 +4210,7 @@ static int igt_pipe_commit(igt_crtc_t *pipe,
 	int ret;
 
 	for (i = 0; i < IGT_NUM_CRTC_PROPS; i++)
-		if (igt_pipe_obj_is_prop_changed(pipe, i) &&
+		if (igt_crtc_is_prop_changed(pipe, i) &&
 		    !is_atomic_prop(i)) {
 			igt_assert(pipe->props[i]);
 
@@ -4659,7 +4659,7 @@ igt_output_replace_prop_blob(igt_output_t *output, enum igt_atomic_connector_pro
 }
 
 /**
- * igt_pipe_obj_get_prop:
+ * igt_crtc_get_prop:
  * @pipe: Target pipe.
  * @prop: Property to return.
  *
@@ -4669,16 +4669,16 @@ igt_output_replace_prop_blob(igt_output_t *output, enum igt_atomic_connector_pro
  * is a blob, the blob id is returned. This can be passed
  * to drmModeGetPropertyBlob() to get the contents of the blob.
  */
-uint64_t igt_pipe_obj_get_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop)
+uint64_t igt_crtc_get_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop)
 {
-	igt_assert(igt_pipe_obj_has_prop(pipe, prop));
+	igt_assert(igt_crtc_has_prop(pipe, prop));
 
 	return igt_mode_object_get_prop(pipe->display, DRM_MODE_OBJECT_CRTC,
 					pipe->crtc_id, pipe->props[prop]);
 }
 
 /**
- * igt_pipe_obj_try_prop_enum:
+ * igt_crtc_try_prop_enum:
  * @pipe_obj: Target pipe object.
  * @prop: Property to check.
  * @val: Value to set.
@@ -4686,7 +4686,7 @@ uint64_t igt_pipe_obj_get_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties
  * Returns: False if the given @pipe_obj doesn't have the enum @prop or
  * failed to set the enum property @val else True.
  */
-bool igt_pipe_obj_try_prop_enum(igt_crtc_t *pipe_obj,
+bool igt_crtc_try_prop_enum(igt_crtc_t *pipe_obj,
 				enum igt_atomic_crtc_properties prop,
 				const char *val)
 {
@@ -4699,12 +4699,12 @@ bool igt_pipe_obj_try_prop_enum(igt_crtc_t *pipe_obj,
 						 pipe_obj->props[prop], val, &uval))
 		return false;
 
-	igt_pipe_obj_set_prop_value(pipe_obj, prop, uval);
+	igt_crtc_set_prop_value(pipe_obj, prop, uval);
 	return true;
 }
 
 /**
- * igt_pipe_obj_set_prop_enum:
+ * igt_crtc_set_prop_enum:
  * @pipe_obj: Target pipe object.
  * @prop: Property to check.
  * @val: Value to set.
@@ -4712,15 +4712,15 @@ bool igt_pipe_obj_try_prop_enum(igt_crtc_t *pipe_obj,
  * This function tries to set given enum property @prop value @val to
  * the given @pipe_obj, and terminate the execution if its failed.
  */
-void igt_pipe_obj_set_prop_enum(igt_crtc_t *pipe_obj,
+void igt_crtc_set_prop_enum(igt_crtc_t *pipe_obj,
 				enum igt_atomic_crtc_properties prop,
 				const char *val)
 {
-	igt_assert(igt_pipe_obj_try_prop_enum(pipe_obj, prop, val));
+	igt_assert(igt_crtc_try_prop_enum(pipe_obj, prop, val));
 }
 
 /**
- * igt_pipe_obj_replace_prop_blob:
+ * igt_crtc_replace_prop_blob:
  * @pipe: pipe to set property on.
  * @prop: property for which the blob will be replaced.
  * @ptr: Pointer to contents for the property.
@@ -4736,7 +4736,7 @@ void igt_pipe_obj_set_prop_enum(igt_crtc_t *pipe_obj,
  * it works better with legacy commit.
  */
 void
-igt_pipe_obj_replace_prop_blob(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop, const void *ptr, size_t length)
+igt_crtc_replace_prop_blob(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop, const void *ptr, size_t length)
 {
 	igt_display_t *display = pipe->display;
 	uint64_t *blob = &pipe->values[prop];
@@ -4751,7 +4751,7 @@ igt_pipe_obj_replace_prop_blob(igt_crtc_t *pipe, enum igt_atomic_crtc_properties
 						     ptr, length, &blob_id) == 0);
 
 	*blob = blob_id;
-	igt_pipe_obj_set_prop_changed(pipe, prop);
+	igt_crtc_set_prop_changed(pipe, prop);
 }
 
 /*
@@ -4762,7 +4762,7 @@ static void igt_atomic_prepare_crtc_commit(igt_crtc_t *pipe_obj, drmModeAtomicRe
 	int i;
 
 	for (i = 0; i < IGT_NUM_CRTC_PROPS; i++) {
-		if (!igt_pipe_obj_is_prop_changed(pipe_obj, i))
+		if (!igt_crtc_is_prop_changed(pipe_obj, i))
 			continue;
 
 		igt_debug("Pipe %s: Setting property \"%s\" to 0x%"PRIx64"/%"PRIi64"\n",
@@ -4876,7 +4876,7 @@ display_commit_changed(igt_display_t *display, enum igt_commit_style s)
 		igt_plane_t *plane;
 
 		if (s == COMMIT_ATOMIC) {
-			if (igt_pipe_obj_is_prop_changed(pipe_obj, IGT_CRTC_OUT_FENCE_PTR))
+			if (igt_crtc_is_prop_changed(pipe_obj, IGT_CRTC_OUT_FENCE_PTR))
 				igt_assert(pipe_obj->out_fence_fd >= 0);
 
 			pipe_obj->values[IGT_CRTC_OUT_FENCE_PTR] = 0;
@@ -4884,11 +4884,11 @@ display_commit_changed(igt_display_t *display, enum igt_commit_style s)
 		} else {
 			for (i = 0; i < IGT_NUM_CRTC_PROPS; i++)
 				if (!is_atomic_prop(i))
-					igt_pipe_obj_clear_prop_changed(pipe_obj, i);
+					igt_crtc_clear_prop_changed(pipe_obj, i);
 
 			if (s != COMMIT_UNIVERSAL) {
-				igt_pipe_obj_clear_prop_changed(pipe_obj, IGT_CRTC_MODE_ID);
-				igt_pipe_obj_clear_prop_changed(pipe_obj, IGT_CRTC_ACTIVE);
+				igt_crtc_clear_prop_changed(pipe_obj, IGT_CRTC_MODE_ID);
+				igt_crtc_clear_prop_changed(pipe_obj, IGT_CRTC_ACTIVE);
 			}
 		}
 
@@ -5274,9 +5274,9 @@ void igt_output_override_mode(igt_output_t *output, const drmModeModeInfo *mode)
 
 	if (pipe) {
 		if (output->display->is_atomic)
-			igt_pipe_obj_replace_prop_blob(pipe, IGT_CRTC_MODE_ID, igt_output_get_mode(output), sizeof(*mode));
+			igt_crtc_replace_prop_blob(pipe, IGT_CRTC_MODE_ID, igt_output_get_mode(output), sizeof(*mode));
 		else
-			igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_MODE_ID);
+			igt_crtc_set_prop_changed(pipe, IGT_CRTC_MODE_ID);
 	}
 }
 
@@ -5334,11 +5334,11 @@ void igt_output_set_crtc(igt_output_t *output, igt_crtc_t *pipe_obj)
 		old_output = igt_pipe_get_output(old_pipe);
 		if (!old_output) {
 			if (display->is_atomic)
-				igt_pipe_obj_replace_prop_blob(old_pipe, IGT_CRTC_MODE_ID, NULL, 0);
+				igt_crtc_replace_prop_blob(old_pipe, IGT_CRTC_MODE_ID, NULL, 0);
 			else
-				igt_pipe_obj_set_prop_changed(old_pipe, IGT_CRTC_MODE_ID);
+				igt_crtc_set_prop_changed(old_pipe, IGT_CRTC_MODE_ID);
 
-			igt_pipe_obj_set_prop_value(old_pipe, IGT_CRTC_ACTIVE, 0);
+			igt_crtc_set_prop_value(old_pipe, IGT_CRTC_ACTIVE, 0);
 		}
 	}
 
@@ -5349,11 +5349,11 @@ void igt_output_set_crtc(igt_output_t *output, igt_crtc_t *pipe_obj)
 
 	if (pipe_obj) {
 		if (display->is_atomic)
-			igt_pipe_obj_replace_prop_blob(pipe_obj, IGT_CRTC_MODE_ID, igt_output_get_mode(output), sizeof(drmModeModeInfo));
+			igt_crtc_replace_prop_blob(pipe_obj, IGT_CRTC_MODE_ID, igt_output_get_mode(output), sizeof(drmModeModeInfo));
 		else
-			igt_pipe_obj_set_prop_changed(pipe_obj, IGT_CRTC_MODE_ID);
+			igt_crtc_set_prop_changed(pipe_obj, IGT_CRTC_MODE_ID);
 
-		igt_pipe_obj_set_prop_value(pipe_obj, IGT_CRTC_ACTIVE, 1);
+		igt_crtc_set_prop_value(pipe_obj, IGT_CRTC_ACTIVE, 1);
 	}
 }
 
@@ -5484,9 +5484,9 @@ void igt_pipe_refresh(igt_display_t *display, enum pipe pipe, bool force)
 
 		pipe_obj->values[IGT_CRTC_MODE_ID] = 0;
 		if (output)
-			igt_pipe_obj_replace_prop_blob(pipe_obj, IGT_CRTC_MODE_ID, igt_output_get_mode(output), sizeof(drmModeModeInfo));
+			igt_crtc_replace_prop_blob(pipe_obj, IGT_CRTC_MODE_ID, igt_output_get_mode(output), sizeof(drmModeModeInfo));
 	} else
-		igt_pipe_obj_set_prop_changed(pipe_obj, IGT_CRTC_MODE_ID);
+		igt_crtc_set_prop_changed(pipe_obj, IGT_CRTC_MODE_ID);
 }
 
 /**
@@ -5805,7 +5805,7 @@ void igt_plane_set_rotation(igt_plane_t *plane, igt_rotation_t rotation)
  */
 void igt_pipe_request_out_fence(igt_crtc_t *pipe)
 {
-	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)&pipe->out_fence_fd);
+	igt_crtc_set_prop_value(pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)&pipe->out_fence_fd);
 }
 
 /**
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index b848ca2eb973..f12baf94504e 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -1038,7 +1038,7 @@ extern void igt_output_replace_prop_blob(igt_output_t *output,
 					 enum igt_atomic_connector_properties prop,
 					 const void *ptr, size_t length);
 /**
- * igt_pipe_obj_has_prop:
+ * igt_crtc_has_prop:
  * @pipe: Pipe to check.
  * @prop: Property to check.
  *
@@ -1047,76 +1047,76 @@ extern void igt_output_replace_prop_blob(igt_output_t *output,
  * Returns: True if the property is supported, otherwise false.
  */
 static inline bool
-igt_pipe_obj_has_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop)
+igt_crtc_has_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop)
 {
 	return pipe->props[prop];
 }
 
-uint64_t igt_pipe_obj_get_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop);
+uint64_t igt_crtc_get_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop);
 
 /**
- * igt_pipe_obj_is_prop_changed:
+ * igt_crtc_is_prop_changed:
  * @pipe_obj: Pipe object to check.
  * @prop: Property to check.
  *
  * Check whether a given @prop changed for the @pipe_obj.
  */
-static inline bool igt_pipe_obj_is_prop_changed(igt_crtc_t *pipe_obj,
+static inline bool igt_crtc_is_prop_changed(igt_crtc_t *pipe_obj,
 						enum igt_atomic_crtc_properties prop)
 {
 	return pipe_obj->changed & (1 << prop);
 }
 
 /**
- * igt_pipe_obj_set_prop_changed:
+ * igt_crtc_set_prop_changed:
  * @pipe_obj: Pipe object to check.
  * @prop: Property to check.
  *
  * Sets the given @prop for the @pipe_obj.
  */
-static inline void igt_pipe_obj_set_prop_changed(igt_crtc_t *pipe_obj,
+static inline void igt_crtc_set_prop_changed(igt_crtc_t *pipe_obj,
 						 enum igt_atomic_crtc_properties prop)
 {
 	pipe_obj->changed |= 1 << prop;
 }
 
 /**
- * igt_pipe_obj_clear_prop_changed:
+ * igt_crtc_clear_prop_changed:
  * @pipe_obj: Pipe object to check.
  * @prop: Property to check.
  *
  * Clears the given @prop for the @pipe_obj.
  */
-static inline void igt_pipe_obj_clear_prop_changed(igt_crtc_t *pipe_obj,
+static inline void igt_crtc_clear_prop_changed(igt_crtc_t *pipe_obj,
 						   enum igt_atomic_crtc_properties prop)
 {
 	pipe_obj->changed &= ~(1 << prop);
 }
 
 /**
- * igt_pipe_obj_set_prop_value:
+ * igt_crtc_set_prop_value:
  * @pipe_obj: Pipe object to check.
  * @prop: Property to check.
  * @value: Value to set.
  *
  * Sets the given @prop with the @value for the @pipe_obj.
  */
-static inline void igt_pipe_obj_set_prop_value(igt_crtc_t *pipe_obj,
+static inline void igt_crtc_set_prop_value(igt_crtc_t *pipe_obj,
 					       enum igt_atomic_crtc_properties prop,
 					       uint64_t value)
 {
 	pipe_obj->values[prop] = value;
-	igt_pipe_obj_set_prop_changed(pipe_obj, prop);
+	igt_crtc_set_prop_changed(pipe_obj, prop);
 }
 
-extern bool igt_pipe_obj_try_prop_enum(igt_crtc_t *pipe,
+extern bool igt_crtc_try_prop_enum(igt_crtc_t *pipe,
 				       enum igt_atomic_crtc_properties prop,
 				       const char *val);
 
-extern void igt_pipe_obj_set_prop_enum(igt_crtc_t *pipe,
+extern void igt_crtc_set_prop_enum(igt_crtc_t *pipe,
 				       enum igt_atomic_crtc_properties prop,
 				       const char *val);
-extern void igt_pipe_obj_replace_prop_blob(igt_crtc_t *pipe,
+extern void igt_crtc_replace_prop_blob(igt_crtc_t *pipe,
 					   enum igt_atomic_crtc_properties prop,
 					   const void *ptr, size_t length);
 void igt_pipe_refresh(igt_display_t *display, enum pipe pipe, bool force);
diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
index 7f768ea4e209..80aa46890fc1 100644
--- a/tests/amdgpu/amd_bypass.c
+++ b/tests/amdgpu/amd_bypass.c
@@ -359,9 +359,9 @@ static void bypass_8bpc_test(data_t *data)
 	 *   no regamma
 	 *   no CTM
 	 */
-	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_DEGAMMA_LUT, NULL, 0);
-	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
-	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_CTM, NULL, 0);
+	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_DEGAMMA_LUT, NULL, 0);
+	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
+	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_CTM, NULL, 0);
 
 	igt_plane_set_fb(data->primary, &fb);
 	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
index 9631fc34d9f4..ed3e9170f615 100644
--- a/tests/amdgpu/amd_color.c
+++ b/tests/amdgpu/amd_color.c
@@ -159,7 +159,7 @@ static void set_degamma_lut(data_t *data, lut_t const *lut)
 	size_t size = lut ? sizeof(lut->data[0]) * lut->size : 0;
 	const void *ptr = lut ? lut->data : NULL;
 
-	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_DEGAMMA_LUT, ptr,
+	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_DEGAMMA_LUT, ptr,
 				       size);
 }
 
@@ -169,7 +169,7 @@ static void set_regamma_lut(data_t *data, lut_t const *lut)
 	size_t size = lut ? sizeof(lut->data[0]) * lut->size : 0;
 	const void *ptr = lut ? lut->data : NULL;
 
-	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_GAMMA_LUT, ptr,
+	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_GAMMA_LUT, ptr,
 				       size);
 }
 
@@ -228,10 +228,10 @@ static void test_crtc_linear_degamma(data_t *data)
 
 	test_init(data);
 
-	igt_require(igt_pipe_obj_has_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT));
+	igt_require(igt_crtc_has_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT));
 
 	data->degamma_lut_size =
-		igt_pipe_obj_get_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT_SIZE);
+		igt_crtc_get_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT_SIZE);
 
 	lut_init(&lut_linear, data->degamma_lut_size);
 	lut_gen_linear(&lut_linear, 0xffff);
@@ -275,10 +275,10 @@ static void test_crtc_linear_regamma(data_t *data)
 
 	test_init(data);
 
-	igt_require(igt_pipe_obj_has_prop(data->pipe, IGT_CRTC_GAMMA_LUT));
+	igt_require(igt_crtc_has_prop(data->pipe, IGT_CRTC_GAMMA_LUT));
 
 	data->regamma_lut_size =
-		igt_pipe_obj_get_prop(data->pipe, IGT_CRTC_GAMMA_LUT_SIZE);
+		igt_crtc_get_prop(data->pipe, IGT_CRTC_GAMMA_LUT_SIZE);
 
 	lut_init(&lut_linear, data->regamma_lut_size);
 	lut_gen_linear(&lut_linear, 0xffff);
@@ -338,14 +338,14 @@ static void test_crtc_lut_accuracy(data_t *data)
 
 	test_init(data);
 
-	igt_require(igt_pipe_obj_has_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT));
-	igt_require(igt_pipe_obj_has_prop(data->pipe, IGT_CRTC_GAMMA_LUT));
+	igt_require(igt_crtc_has_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT));
+	igt_require(igt_crtc_has_prop(data->pipe, IGT_CRTC_GAMMA_LUT));
 
 	data->degamma_lut_size =
-		igt_pipe_obj_get_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT_SIZE);
+		igt_crtc_get_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT_SIZE);
 
 	data->regamma_lut_size =
-		igt_pipe_obj_get_prop(data->pipe, IGT_CRTC_GAMMA_LUT_SIZE);
+		igt_crtc_get_prop(data->pipe, IGT_CRTC_GAMMA_LUT_SIZE);
 
 	lut_init(&lut_degamma, data->degamma_lut_size);
 	lut_gen_degamma_srgb(&lut_degamma, 0xffff);
diff --git a/tests/amdgpu/amd_freesync_video_mode.c b/tests/amdgpu/amd_freesync_video_mode.c
index 812212ac5f2b..964833994533 100644
--- a/tests/amdgpu/amd_freesync_video_mode.c
+++ b/tests/amdgpu/amd_freesync_video_mode.c
@@ -548,7 +548,7 @@ 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)
 {
-	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
+	igt_crtc_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
 				    IGT_CRTC_VRR_ENABLED,
 				    enabled);
 	igt_display_commit2(&data->display, COMMIT_ATOMIC);
diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c
index 53fb6a12f558..06d2ace58a49 100644
--- a/tests/amdgpu/amd_plane.c
+++ b/tests/amdgpu/amd_plane.c
@@ -265,7 +265,7 @@ static void set_regamma_lut(data_t *data, lut_t const *lut, int n)
 {
 	size_t size = lut ? sizeof(lut->data) * lut->size : 0;
 	const void *ptr = lut ? lut->data : NULL;
-	igt_pipe_obj_replace_prop_blob(data->pipe[n], IGT_CRTC_GAMMA_LUT, ptr,
+	igt_crtc_replace_prop_blob(data->pipe[n], IGT_CRTC_GAMMA_LUT, ptr,
 				       size);
 }
 
@@ -627,7 +627,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int
 	igt_skip_on_f(valid_outputs < display_count,
 			"Valid outputs (%d) should be equal or greater than %d\n", valid_outputs, display_count);
 
-	regamma_lut_size = igt_pipe_obj_get_prop(data->pipe[0], IGT_CRTC_GAMMA_LUT_SIZE);
+	regamma_lut_size = igt_crtc_get_prop(data->pipe[0], IGT_CRTC_GAMMA_LUT_SIZE);
 	igt_assert_lt(0, regamma_lut_size);
 	lut_init(&lut, regamma_lut_size);
 	lut_gen(&lut);
diff --git a/tests/chamelium/kms_chamelium_color.c b/tests/chamelium/kms_chamelium_color.c
index 2512f7b7e049..86d43509244a 100644
--- a/tests/chamelium/kms_chamelium_color.c
+++ b/tests/chamelium/kms_chamelium_color.c
@@ -80,7 +80,7 @@ static bool test_pipe_degamma(data_t *data,
 	};
 	bool ret;
 
-	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT));
+	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT));
 
 	degamma_full = generate_table_max(data->degamma_lut_size);
 
@@ -169,7 +169,7 @@ static bool test_pipe_gamma(data_t *data,
 	};
 	bool ret;
 
-	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
+	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
 
 	gamma_full = generate_table_max(data->gamma_lut_size);
 
@@ -255,7 +255,7 @@ static bool test_pipe_ctm(data_t *data,
 	int fb_id, fb_modeset_id, fbref_id;
 	bool ret = true;
 
-	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM));
+	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_CTM));
 
 	degamma_linear = generate_table(data->degamma_lut_size, 1.0);
 	gamma_linear = generate_table(data->gamma_lut_size, 1.0);
@@ -358,7 +358,7 @@ static bool test_pipe_limited_range_ctm(data_t *data,
 	int fb_id0, fb_id1;
 	bool ret = false;
 
-	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM));
+	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_CTM));
 
 	degamma_linear = generate_table(data->degamma_lut_size, 1.0);
 	gamma_linear = generate_table(data->gamma_lut_size, 1.0);
@@ -433,16 +433,16 @@ prep_pipe(data_t *data, enum pipe p)
 {
 	igt_require_pipe(&data->display, p);
 
-	if (igt_pipe_obj_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_DEGAMMA_LUT_SIZE)) {
+	if (igt_crtc_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_DEGAMMA_LUT_SIZE)) {
 		data->degamma_lut_size =
-			igt_pipe_obj_get_prop(igt_crtc_for_pipe(&data->display, p),
+			igt_crtc_get_prop(igt_crtc_for_pipe(&data->display, p),
 					      IGT_CRTC_DEGAMMA_LUT_SIZE);
 		igt_assert_lt(0, data->degamma_lut_size);
 	}
 
-	if (igt_pipe_obj_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_GAMMA_LUT_SIZE)) {
+	if (igt_crtc_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_GAMMA_LUT_SIZE)) {
 		data->gamma_lut_size =
-			igt_pipe_obj_get_prop(igt_crtc_for_pipe(&data->display, p),
+			igt_crtc_get_prop(igt_crtc_for_pipe(&data->display, p),
 					      IGT_CRTC_GAMMA_LUT_SIZE);
 		igt_assert_lt(0, data->gamma_lut_size);
 	}
diff --git a/tests/chamelium/kms_chamelium_helper.c b/tests/chamelium/kms_chamelium_helper.c
index 328ff9292d0d..12735c541de1 100644
--- a/tests/chamelium/kms_chamelium_helper.c
+++ b/tests/chamelium/kms_chamelium_helper.c
@@ -182,14 +182,14 @@ void chamelium_enable_output(chamelium_data_t *data,
 	igt_output_override_mode(output, mode);
 
 	/* Clear any color correction values that might be enabled */
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
-		igt_pipe_obj_replace_prop_blob(primary->pipe,
+	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
+		igt_crtc_replace_prop_blob(primary->pipe,
 					       IGT_CRTC_DEGAMMA_LUT, NULL, 0);
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT))
-		igt_pipe_obj_replace_prop_blob(primary->pipe,
+	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT))
+		igt_crtc_replace_prop_blob(primary->pipe,
 					       IGT_CRTC_GAMMA_LUT, NULL, 0);
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM))
-		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_CTM,
+	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_CTM))
+		igt_crtc_replace_prop_blob(primary->pipe, IGT_CRTC_CTM,
 					       NULL, 0);
 
 	igt_display_commit2(display, COMMIT_ATOMIC);
diff --git a/tests/chamelium/kms_chamelium_sharpness_filter.c b/tests/chamelium/kms_chamelium_sharpness_filter.c
index fb6e95a92b5e..21d4b6fe649e 100644
--- a/tests/chamelium/kms_chamelium_sharpness_filter.c
+++ b/tests/chamelium/kms_chamelium_sharpness_filter.c
@@ -53,14 +53,14 @@ static bool pipe_output_combo_valid(data_t *data, enum pipe pipe)
 
 static void set_filter_strength_on_pipe(data_t *data)
 {
-	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
+	igt_crtc_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
 				    IGT_CRTC_SHARPNESS_STRENGTH,
 				    data->filter_strength);
 }
 
 static void reset_filter_strength_on_pipe(data_t *data)
 {
-	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
+	igt_crtc_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
 				    IGT_CRTC_SHARPNESS_STRENGTH, 0);
 }
 
@@ -219,7 +219,7 @@ static void test_sharpness_filter(data_t *data,  enum pipe p)
 	int port_idx = test_setup(data, p);
 
 	igt_require(port_idx >= 0);
-	igt_require(igt_pipe_obj_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_SHARPNESS_STRENGTH));
+	igt_require(igt_crtc_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_SHARPNESS_STRENGTH));
 
 	if (!pipe_output_combo_valid(data, p))
 		return;
diff --git a/tests/intel/kms_big_fb.c b/tests/intel/kms_big_fb.c
index 595611c319f0..4c83398400ba 100644
--- a/tests/intel/kms_big_fb.c
+++ b/tests/intel/kms_big_fb.c
@@ -389,7 +389,7 @@ static void set_c8_lut(data_t *data)
 		lut[i].blue = ((i & 0x03) >> 0) * 0xffff / 0x3;
 	}
 
-	igt_pipe_obj_replace_prop_blob(pipe, IGT_CRTC_GAMMA_LUT, lut,
+	igt_crtc_replace_prop_blob(pipe, IGT_CRTC_GAMMA_LUT, lut,
 				       lut_size * sizeof(lut[0]));
 
 	free(lut);
@@ -399,7 +399,7 @@ static void unset_lut(data_t *data)
 {
 	igt_crtc_t *pipe = igt_crtc_for_pipe(&data->display, data->pipe);
 
-	igt_pipe_obj_replace_prop_blob(pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
+	igt_crtc_replace_prop_blob(pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
 }
 
 static bool test_plane(data_t *data)
@@ -518,7 +518,7 @@ static bool test_pipe(data_t *data)
 		 kmstest_pipe_name(data->pipe), igt_output_name(data->output));
 
 	if (data->format == DRM_FORMAT_C8 &&
-	    !igt_pipe_obj_has_prop(igt_crtc_for_pipe(&data->display, data->pipe),
+	    !igt_crtc_has_prop(igt_crtc_for_pipe(&data->display, data->pipe),
 				   IGT_CRTC_GAMMA_LUT))
 		return false;
 
diff --git a/tests/intel/kms_flip_scaled_crc.c b/tests/intel/kms_flip_scaled_crc.c
index 954b46b5ff67..3f8cd0bd642a 100644
--- a/tests/intel/kms_flip_scaled_crc.c
+++ b/tests/intel/kms_flip_scaled_crc.c
@@ -709,7 +709,7 @@ static void set_lut(data_t *data, enum pipe pipe)
 		lut[i].blue = v;
 	}
 
-	igt_pipe_obj_replace_prop_blob(pipe_obj, IGT_CRTC_GAMMA_LUT,
+	igt_crtc_replace_prop_blob(pipe_obj, IGT_CRTC_GAMMA_LUT,
 				       lut, sizeof(lut[0]) * lut_size);
 
 	free(lut);
@@ -719,7 +719,7 @@ static void clear_lut(data_t *data, enum pipe pipe)
 {
 	igt_crtc_t *pipe_obj = igt_crtc_for_pipe(&data->display, pipe);
 
-	igt_pipe_obj_set_prop_value(pipe_obj, IGT_CRTC_GAMMA_LUT, 0);
+	igt_crtc_set_prop_value(pipe_obj, IGT_CRTC_GAMMA_LUT, 0);
 }
 
 static void test_flip_to_scaled(data_t *data, uint32_t index,
diff --git a/tests/intel/kms_pm_dc.c b/tests/intel/kms_pm_dc.c
index 9055e66a2ffa..4babf1341e0b 100644
--- a/tests/intel/kms_pm_dc.c
+++ b/tests/intel/kms_pm_dc.c
@@ -663,7 +663,7 @@ static void test_deep_pkgc_state(data_t *data)
 				 * TODO: Add check for vmin = vmax = flipline if VRR enabled
 				 * when KMD allows for such capability.
 				 */
-				igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(display, pipe),
+				igt_crtc_set_prop_value(igt_crtc_for_pipe(display, pipe),
 							    IGT_CRTC_VRR_ENABLED,
 							    false);
 				igt_assert(igt_display_try_commit_atomic(display,
diff --git a/tests/intel/kms_sharpness_filter.c b/tests/intel/kms_sharpness_filter.c
index ffc43dbaf129..94c11ed2fecb 100644
--- a/tests/intel/kms_sharpness_filter.c
+++ b/tests/intel/kms_sharpness_filter.c
@@ -173,7 +173,7 @@ typedef struct {
 
 static void set_filter_strength_on_pipe(data_t *data)
 {
-	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
+	igt_crtc_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
 				    IGT_CRTC_SHARPNESS_STRENGTH,
 				    data->filter_strength);
 }
@@ -419,7 +419,7 @@ static void test_sharpness_filter(data_t *data,  enum test_type type)
 
 static bool has_sharpness_filter(igt_crtc_t *pipe)
 {
-	return igt_pipe_obj_has_prop(pipe, IGT_CRTC_SHARPNESS_STRENGTH);
+	return igt_crtc_has_prop(pipe, IGT_CRTC_SHARPNESS_STRENGTH);
 }
 
 static void
diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
index 58d57cafecce..d20a500f37c7 100644
--- a/tests/kms_atomic.c
+++ b/tests/kms_atomic.c
@@ -232,7 +232,7 @@ static void crtc_get_current_state(igt_crtc_t *pipe, uint64_t *values)
 			continue;
 		}
 
-		values[i] = igt_pipe_obj_get_prop(pipe, i);
+		values[i] = igt_crtc_get_prop(pipe, i);
 	}
 }
 
@@ -856,20 +856,20 @@ static void crtc_invalid_params(data_t *data, igt_output_t *output)
 	drmModeModeInfo *mode = igt_output_get_mode(output);
 
 	/* Pass a series of invalid object IDs for the mode ID. */
-	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->primary->drm_plane->plane_id);
+	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->primary->drm_plane->plane_id);
 	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EINVAL);
 
-	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->pipe->crtc_id);
+	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->pipe->crtc_id);
 	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EINVAL);
 
-	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->fb.fb_id);
+	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->fb.fb_id);
 	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EINVAL);
 
-	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, old_mode_id);
+	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, old_mode_id);
 	crtc_commit_atomic_flags_err(data->pipe, data->primary, DRM_MODE_ATOMIC_TEST_ONLY, ATOMIC_RELAX_NONE, 0);
 
 	/* Can we restore mode? */
-	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, old_mode_id);
+	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, old_mode_id);
 	crtc_commit_atomic_flags_err(data->pipe, data->primary, DRM_MODE_ATOMIC_TEST_ONLY, ATOMIC_RELAX_NONE, 0);
 
 	/*
@@ -882,14 +882,14 @@ static void crtc_invalid_params(data_t *data, igt_output_t *output)
 				     ATOMIC_RELAX_NONE, EINVAL);
 
 	/* Create a blob which is the wrong size to be a valid mode. */
-	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_MODE_ID, mode, sizeof(*mode) - 1);
+	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_MODE_ID, mode, sizeof(*mode) - 1);
 	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EINVAL);
 
-	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_MODE_ID, mode, sizeof(*mode) + 1);
+	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_MODE_ID, mode, sizeof(*mode) + 1);
 	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EINVAL);
 
 	/* Restore the CRTC and check the state matches the old. */
-	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_MODE_ID, mode, sizeof(*mode));
+	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_MODE_ID, mode, sizeof(*mode));
 	crtc_commit(data->pipe, data->primary, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
 }
 
@@ -908,7 +908,7 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
 	map = mmap(NULL, page_size, PROT_READ, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
 	igt_assert(map != MAP_FAILED);
 
-	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
+	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
 	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EFAULT);
 	munmap(map, page_size);
 
@@ -916,7 +916,7 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
 	map = mmap(NULL, page_size, PROT_EXEC, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
 	igt_assert(map != MAP_FAILED);
 
-	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
+	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
 	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EFAULT);
 	munmap(map, page_size);
 
@@ -924,7 +924,7 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
 	map = mmap(NULL, page_size, PROT_NONE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
 	igt_assert(map != MAP_FAILED);
 
-	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
+	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
 	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EFAULT);
 	munmap(map, page_size);
 
@@ -932,8 +932,8 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
 	fence_fd = sw_sync_timeline_create_fence(timeline, 1);
 	igt_plane_set_fence_fd(data->primary, fence_fd);
 
-	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_ACTIVE, 0);
-	igt_pipe_obj_clear_prop_changed(data->pipe, IGT_CRTC_OUT_FENCE_PTR);
+	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_ACTIVE, 0);
+	igt_crtc_clear_prop_changed(data->pipe, IGT_CRTC_OUT_FENCE_PTR);
 
 	crtc_commit_atomic_flags_err(data->pipe, data->primary, 0, ATOMIC_RELAX_NONE, EINVAL);
 
@@ -947,14 +947,14 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
 	crtc_commit_atomic_flags_err(data->pipe, data->primary, DRM_MODE_PAGE_FLIP_EVENT,
 				     ATOMIC_RELAX_NONE, EINVAL);
 
-	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_ACTIVE, 1);
+	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_ACTIVE, 1);
 
 	/* Configuration should be valid again */
 	crtc_commit_atomic_flags_err(data->pipe, data->primary, DRM_MODE_ATOMIC_TEST_ONLY,
 				     ATOMIC_RELAX_NONE, 0);
 
 	/* Set invalid prop */
-	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->fb.fb_id);
+	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->fb.fb_id);
 
 	/* valid out fence but invalid prop on crtc */
 	igt_pipe_request_out_fence(data->pipe);
@@ -970,7 +970,7 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
 				     ATOMIC_RELAX_NONE, EINVAL);
 
 	/* successful TEST_ONLY with fences set */
-	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, old_mode_id);
+	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, old_mode_id);
 	crtc_commit_atomic_flags_err(data->pipe, data->primary, DRM_MODE_ATOMIC_TEST_ONLY,
 				     ATOMIC_RELAX_NONE, 0);
 	igt_assert(data->pipe->out_fence_fd == -1);
@@ -979,8 +979,8 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
 
 	/* reset fences */
 	igt_plane_set_fence_fd(data->primary, -1);
-	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, 0);
-	igt_pipe_obj_clear_prop_changed(data->pipe, IGT_CRTC_OUT_FENCE_PTR);
+	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, 0);
+	igt_crtc_clear_prop_changed(data->pipe, IGT_CRTC_OUT_FENCE_PTR);
 	crtc_commit(data->pipe, data->primary, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
 
 	/* out fence ptr but not page flip event */
diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index 6aa3439eedae..4da3289073ce 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -829,7 +829,7 @@ static unsigned set_combinations(data_t *data, unsigned mask, struct igt_fb *fb)
 		drmModeModeInfo *mode = NULL;
 
 		if (!(mask & (1 << pipe))) {
-			if (igt_pipe_obj_is_prop_changed(igt_crtc_for_pipe(&data->display, pipe), IGT_CRTC_ACTIVE)) {
+			if (igt_crtc_is_prop_changed(igt_crtc_for_pipe(&data->display, pipe), IGT_CRTC_ACTIVE)) {
 				event_mask |= 1 << pipe;
 				igt_plane_set_fb(plane, NULL);
 			}
diff --git a/tests/kms_color.c b/tests/kms_color.c
index 74ead943a798..2fc3aec75907 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -94,8 +94,8 @@ static bool test_pipe_degamma(data_t *data,
 	int fb_id, fb_modeset_id;
 	bool ret;
 
-	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT));
-	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
+	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT));
+	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
 
 	degamma_linear = generate_table(data->degamma_lut_size, 1.0);
 	degamma_full = generate_table_max(data->degamma_lut_size);
@@ -183,7 +183,7 @@ static bool test_pipe_gamma(data_t *data,
 	int fb_id, fb_modeset_id;
 	bool ret;
 
-	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
+	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
 
 	gamma_full = generate_table_max(data->gamma_lut_size);
 
@@ -378,9 +378,9 @@ static bool test_pipe_legacy_gamma_reset(data_t *data,
 	igt_output_t *output = data->output;
 	bool ret = true;
 
-	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
+	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
 
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
+	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
 		degamma_linear = generate_table(data->degamma_lut_size, 1.0);
 	gamma_zero = generate_table_zero(data->gamma_lut_size);
 
@@ -397,14 +397,14 @@ static bool test_pipe_legacy_gamma_reset(data_t *data,
 	 * properties and verify the content of the
 	 * properties.
 	 */
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
+	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
 		set_degamma(data, primary->pipe, degamma_linear);
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM))
+	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_CTM))
 		set_ctm(primary->pipe, ctm_identity);
 	set_gamma(data, primary->pipe, gamma_zero);
 	igt_display_commit(&data->display);
 
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT)) {
+	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT)) {
 		blob = get_blob(data, primary->pipe, IGT_CRTC_DEGAMMA_LUT);
 		igt_assert(blob &&
 			   blob->length == (sizeof(struct drm_color_lut) *
@@ -412,7 +412,7 @@ static bool test_pipe_legacy_gamma_reset(data_t *data,
 		drmModeFreePropertyBlob(blob);
 	}
 
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM)) {
+	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_CTM)) {
 		blob = get_blob(data, primary->pipe, IGT_CRTC_CTM);
 		igt_assert(blob &&
 			   blob->length == sizeof(struct drm_color_ctm));
@@ -459,11 +459,11 @@ static bool test_pipe_legacy_gamma_reset(data_t *data,
 					  red_lut, green_lut, blue_lut), 0);
 	igt_display_commit(&data->display);
 
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
+	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
 		igt_assert(get_blob(data, primary->pipe,
 				    IGT_CRTC_DEGAMMA_LUT) == NULL);
 
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM))
+	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_CTM))
 		igt_assert(get_blob(data, primary->pipe, IGT_CRTC_CTM) == NULL);
 
 	blob = get_blob(data, primary->pipe, IGT_CRTC_GAMMA_LUT);
@@ -514,7 +514,7 @@ static bool test_pipe_ctm(data_t *data,
 	igt_crc_t crc_software, crc_hardware;
 	int fb_id, fb_modeset_id;
 
-	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM));
+	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_CTM));
 
 	igt_output_set_crtc(output, primary->pipe);
 	igt_output_override_mode(output, mode);
@@ -546,7 +546,7 @@ static bool test_pipe_ctm(data_t *data,
 	 * rounding issues and inaccuracies leading to crc mismatch.
 	 */
 	if (is_intel_device(data->drm_fd) && memcmp(before, after, sizeof(color_t))) {
-		igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
+		igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
 
 		gamma_linear = generate_table(256, 1.0);
 
@@ -714,16 +714,16 @@ prep_pipe(data_t *data, enum pipe p)
 {
 	igt_require_pipe(&data->display, p);
 
-	if (igt_pipe_obj_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_DEGAMMA_LUT_SIZE)) {
+	if (igt_crtc_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_DEGAMMA_LUT_SIZE)) {
 		data->degamma_lut_size =
-			igt_pipe_obj_get_prop(igt_crtc_for_pipe(&data->display, p),
+			igt_crtc_get_prop(igt_crtc_for_pipe(&data->display, p),
 					      IGT_CRTC_DEGAMMA_LUT_SIZE);
 		igt_assert_lt(0, data->degamma_lut_size);
 	}
 
-	if (igt_pipe_obj_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_GAMMA_LUT_SIZE)) {
+	if (igt_crtc_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_GAMMA_LUT_SIZE)) {
 		data->gamma_lut_size =
-			igt_pipe_obj_get_prop(igt_crtc_for_pipe(&data->display, p),
+			igt_crtc_get_prop(igt_crtc_for_pipe(&data->display, p),
 					      IGT_CRTC_GAMMA_LUT_SIZE);
 		igt_assert_lt(0, data->gamma_lut_size);
 	}
diff --git a/tests/kms_color_helper.c b/tests/kms_color_helper.c
index 9e68ef334f91..817c5eb110d5 100644
--- a/tests/kms_color_helper.c
+++ b/tests/kms_color_helper.c
@@ -227,7 +227,7 @@ void set_degamma(data_t *data,
 	struct drm_color_lut *lut = coeffs_to_lut(data, gamma,
 						  data->color_depth, 0);
 
-	igt_pipe_obj_replace_prop_blob(pipe, IGT_CRTC_DEGAMMA_LUT, lut, size);
+	igt_crtc_replace_prop_blob(pipe, IGT_CRTC_DEGAMMA_LUT, lut, size);
 
 	free(lut);
 }
@@ -239,7 +239,7 @@ void set_gamma(data_t *data,
 	struct drm_color_lut *lut = coeffs_to_lut(data, gamma,
 						  data->color_depth, 0);
 
-	igt_pipe_obj_replace_prop_blob(pipe, IGT_CRTC_GAMMA_LUT, lut, size);
+	igt_crtc_replace_prop_blob(pipe, IGT_CRTC_GAMMA_LUT, lut, size);
 
 	free(lut);
 }
@@ -261,13 +261,13 @@ void set_ctm(igt_crtc_t *pipe, const double *coefficients)
 				((int64_t) 1L << 32));
 	}
 
-	igt_pipe_obj_replace_prop_blob(pipe, IGT_CRTC_CTM, &ctm, sizeof(ctm));
+	igt_crtc_replace_prop_blob(pipe, IGT_CRTC_CTM, &ctm, sizeof(ctm));
 }
 
 void disable_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop)
 {
-	if (igt_pipe_obj_has_prop(pipe, prop))
-		igt_pipe_obj_replace_prop_blob(pipe, prop, NULL, 0);
+	if (igt_crtc_has_prop(pipe, prop))
+		igt_crtc_replace_prop_blob(pipe, prop, NULL, 0);
 }
 
 drmModePropertyBlobPtr
@@ -275,7 +275,7 @@ get_blob(data_t *data, igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop)
 {
 	uint64_t prop_value;
 
-	prop_value = igt_pipe_obj_get_prop(pipe, prop);
+	prop_value = igt_crtc_get_prop(pipe, prop);
 
 	if (prop_value == 0)
 		return NULL;
@@ -290,15 +290,15 @@ pipe_set_property_blob_id(igt_crtc_t *pipe,
 {
 	int ret;
 
-	igt_pipe_obj_replace_prop_blob(pipe, prop, NULL, 0);
+	igt_crtc_replace_prop_blob(pipe, prop, NULL, 0);
 
-	igt_pipe_obj_set_prop_value(pipe, prop, blob_id);
+	igt_crtc_set_prop_value(pipe, prop, blob_id);
 
 	ret = igt_display_try_commit2(pipe->display,
 				      pipe->display->is_atomic ?
 				      COMMIT_ATOMIC : COMMIT_LEGACY);
 
-	igt_pipe_obj_set_prop_value(pipe, prop, 0);
+	igt_crtc_set_prop_value(pipe, prop, 0);
 
 	return ret;
 }
@@ -308,7 +308,7 @@ pipe_set_property_blob(igt_crtc_t *pipe,
 		       enum igt_atomic_crtc_properties prop,
 		       void *ptr, size_t length)
 {
-	igt_pipe_obj_replace_prop_blob(pipe, prop, ptr, length);
+	igt_crtc_replace_prop_blob(pipe, prop, ptr, length);
 
 	return igt_display_try_commit2(pipe->display,
 				       pipe->display->is_atomic ?
@@ -324,7 +324,7 @@ invalid_lut_sizes(data_t *data, enum pipe p,
 	struct drm_color_lut *lut;
 	size_t lut_size = size * sizeof(lut[0]);
 
-	igt_require(igt_pipe_obj_has_prop(pipe, prop));
+	igt_require(igt_crtc_has_prop(pipe, prop));
 
 	lut = malloc(lut_size * 2);
 
@@ -366,7 +366,7 @@ void invalid_ctm_matrix_sizes(data_t *data, enum pipe p)
 	igt_crtc_t *pipe = igt_crtc_for_pipe(display, p);
 	void *ptr;
 
-	igt_require(igt_pipe_obj_has_prop(pipe, IGT_CRTC_CTM));
+	igt_require(igt_crtc_has_prop(pipe, IGT_CRTC_CTM));
 
 	ptr = malloc(sizeof(struct drm_color_ctm) * 4);
 
diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
index f7896592b3ff..f1b98424db79 100644
--- a/tests/kms_content_protection.c
+++ b/tests/kms_content_protection.c
@@ -484,11 +484,11 @@ static void test_content_protection_on_output(igt_output_t *output,
 		test_cp_lic(output);
 
 	if (data.cp_tests & CP_DPMS) {
-		igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(display, pipe),
+		igt_crtc_set_prop_value(igt_crtc_for_pipe(display, pipe),
 					    IGT_CRTC_ACTIVE, 0);
 		igt_display_commit2(display, commit_style);
 
-		igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(display, pipe),
+		igt_crtc_set_prop_value(igt_crtc_for_pipe(display, pipe),
 					    IGT_CRTC_ACTIVE, 1);
 		igt_display_commit2(display, commit_style);
 
diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c
index f05b3b87ad57..eaceea0035ea 100644
--- a/tests/kms_vrr.c
+++ b/tests/kms_vrr.c
@@ -309,7 +309,7 @@ static bool vrr_capable(igt_output_t *output)
 static void set_vrr_on_pipe(data_t *data, enum pipe pipe,
 			    bool need_modeset, bool enabled)
 {
-	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
+	igt_crtc_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
 				    IGT_CRTC_VRR_ENABLED,
 				    enabled);
 
@@ -406,7 +406,7 @@ static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe)
 	/* Clear vrr_enabled state before enabling it, because
 	 * it might be left enabled if the previous test fails.
 	 */
-	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
+	igt_crtc_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
 				    IGT_CRTC_VRR_ENABLED, 0);
 
 	igt_display_commit2(&data->display, COMMIT_ATOMIC);
@@ -970,7 +970,7 @@ 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)
 {
-	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
+	igt_crtc_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
 				    IGT_CRTC_VRR_ENABLED, false);
 
 	if (data->primary)
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH i-g-t 03/12] lib/kms: Pass igt_crtc_t to igt_pipe_refresh()
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
  2026-01-20 17:16 ` [PATCH i-g-t 01/12] igt/kms: Nuke igt_pipe_is_prop_changed() and igt_pipe_set_prop_value() Ville Syrjala
  2026-01-20 17:16 ` [PATCH i-g-t 02/12] lib/kms: Rename igt_pipe_obj_*_prop() Ville Syrjala
@ 2026-01-20 17:16 ` Ville Syrjala
  2026-01-21  8:57   ` Jani Nikula
  2026-01-20 17:16 ` [PATCH i-g-t 04/12] lib/kms: Don't pass 'display' to igt_fill_pipe_props)_ Ville Syrjala
                   ` (12 subsequent siblings)
  15 siblings, 1 reply; 32+ messages in thread
From: Ville Syrjala @ 2026-01-20 17:16 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Pass the igt_crtc_t instead of the pipe to
igt_pipe_refresh(). One step towards eliminating
pipe usage from tests.

Done with cocci (with manual fixup for docs):
 #include "scripts/iterators.cocci"

@@
typedef igt_display_t;
typedef igt_crtc_t;
identifier DISPLAY, PIPE, CRTC;
expression E;
@@
igt_pipe_refresh(
-	igt_display_t *DISPLAY, enum pipe PIPE
+	igt_crtc_t *CRTC
	,...)
{
...
- igt_crtc_t *CRTC = igt_crtc_for_pipe(DISPLAY, PIPE);
+ igt_display_t *DISPLAY = CRTC->display;
...
}

@@
expression DISPLAY, PIPE;
@@
igt_pipe_refresh(
-	DISPLAY, PIPE
+	igt_crtc_for_pipe(DISPLAY, PIPE)
	,...)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 lib/igt_kms.c                    | 9 ++++-----
 lib/igt_kms.h                    | 2 +-
 tests/intel/kms_busy.c           | 2 +-
 tests/kms_atomic_interruptible.c | 2 +-
 tests/kms_concurrent.c           | 2 +-
 tests/kms_rmfb.c                 | 3 ++-
 6 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index d5436c4cdd2e..a7d259923932 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -5465,19 +5465,18 @@ bool igt_fit_modes_in_bw(igt_display_t *display)
 
 /**
  * igt_pipe_refresh:
- * @display: a pointer to an #igt_display_t structure
- * @pipe: Pipe to refresh
+ * @pipe_obj: CRTC to refresh
  * @force: Should be set to true if mode_blob is no longer considered
  * to be valid, for example after doing an atomic commit during fork or closing display fd.
  *
- * Requests the pipe to be part of the state on next update.
+ * Requests the CRTC to be part of the state on next update.
  * This is useful when state may have been out of sync after
  * a fork, or we just want to be sure the pipe is included
  * in the next commit.
  */
-void igt_pipe_refresh(igt_display_t *display, enum pipe pipe, bool force)
+void igt_pipe_refresh(igt_crtc_t *pipe_obj, bool force)
 {
-	igt_crtc_t *pipe_obj = igt_crtc_for_pipe(display, pipe);
+	igt_display_t *display = pipe_obj->display;
 
 	if (force && display->is_atomic) {
 		igt_output_t *output = igt_pipe_get_output(pipe_obj);
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index f12baf94504e..5e3108f56e11 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -1119,7 +1119,7 @@ extern void igt_crtc_set_prop_enum(igt_crtc_t *pipe,
 extern void igt_crtc_replace_prop_blob(igt_crtc_t *pipe,
 					   enum igt_atomic_crtc_properties prop,
 					   const void *ptr, size_t length);
-void igt_pipe_refresh(igt_display_t *display, enum pipe pipe, bool force);
+void igt_pipe_refresh(igt_crtc_t *pipe_obj, bool force);
 
 void igt_enable_connectors(int drm_fd);
 void igt_reset_connectors(void);
diff --git a/tests/intel/kms_busy.c b/tests/intel/kms_busy.c
index c38d45dd020d..55ad6f19a905 100644
--- a/tests/intel/kms_busy.c
+++ b/tests/intel/kms_busy.c
@@ -161,7 +161,7 @@ static void flip_to_fb(igt_display_t *dpy, int pipe,
 		gem_quiescent_gpu(dpy->drm_fd);
 
 		/* Clear old mode blob. */
-		igt_pipe_refresh(dpy, pipe, true);
+		igt_pipe_refresh(igt_crtc_for_pipe(dpy, pipe), true);
 
 		igt_output_set_crtc(output,
 				    igt_crtc_for_pipe(output->display, pipe));
diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c
index b519fc635a54..090c0ead7a24 100644
--- a/tests/kms_atomic_interruptible.c
+++ b/tests/kms_atomic_interruptible.c
@@ -297,7 +297,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_pipe_refresh(display, pipe, true);
+		igt_pipe_refresh(igt_crtc_for_pipe(display, pipe), true);
 
 	igt_plane_set_fb(plane, NULL);
 	igt_plane_set_fb(primary, NULL);
diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
index 4ef8e0f56339..8198832727cc 100644
--- a/tests/kms_concurrent.c
+++ b/tests/kms_concurrent.c
@@ -233,7 +233,7 @@ test_plane_position_with_output(data_t *data, enum pipe pipe, int max_planes,
 	bool loop_forever = opt.iterations == LOOP_FOREVER ? true : false;
 	int ret;
 
-	igt_pipe_refresh(&data->display, pipe, true);
+	igt_pipe_refresh(igt_crtc_for_pipe(&data->display, pipe), true);
 
 	i = 0;
 	while (i < iterations || loop_forever) {
diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c
index 4726d4745d58..774d011a0531 100644
--- a/tests/kms_rmfb.c
+++ b/tests/kms_rmfb.c
@@ -147,7 +147,8 @@ test_rmfb(struct rmfb_data *data, igt_output_t *output, enum pipe pipe, bool reo
 		drmSetClientCap(data->drm_fd, DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1);
 		drmSetClientCap(data->drm_fd, DRM_CLIENT_CAP_ATOMIC, 1);
 
-		igt_pipe_refresh(&data->display, pipe, true);
+		igt_pipe_refresh(igt_crtc_for_pipe(&data->display, pipe),
+				 true);
 	} else {
 		igt_remove_fb(data->drm_fd, &fb);
 		igt_remove_fb(data->drm_fd, &argb_fb);
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH i-g-t 04/12] lib/kms: Don't pass 'display' to igt_fill_pipe_props)_
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
                   ` (2 preceding siblings ...)
  2026-01-20 17:16 ` [PATCH i-g-t 03/12] lib/kms: Pass igt_crtc_t to igt_pipe_refresh() Ville Syrjala
@ 2026-01-20 17:16 ` Ville Syrjala
  2026-01-21  8:58   ` Jani Nikula
  2026-01-21  8:58   ` Jani Nikula
  2026-01-20 17:16 ` [PATCH i-g-t 05/12] lib/kms: Rename a bunch of crtc functions Ville Syrjala
                   ` (11 subsequent siblings)
  15 siblings, 2 replies; 32+ messages in thread
From: Ville Syrjala @ 2026-01-20 17:16 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

igt_fill_pipe_props() can dig the display out from
the crtc. No need to pass it in explicitly.

Done with cocci:
 #include "scripts/iterators.cocci"

@@
identifier DISPLAY, CRTC;
@@
igt_fill_pipe_props(
-	igt_display_t *DISPLAY,
	igt_crtc_t *CRTC, ...)
{
+ igt_display_t *DISPLAY = CRTC->display;
...
}

@@
expression DISPLAY;
@@
igt_fill_pipe_props(
-	DISPLAY,
	...)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 lib/igt_kms.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index a7d259923932..33e510acc514 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -964,9 +964,10 @@ igt_atomic_fill_connector_props(igt_display_t *display, igt_output_t *output,
 }
 
 static void
-igt_fill_pipe_props(igt_display_t *display, igt_crtc_t *pipe,
+igt_fill_pipe_props(igt_crtc_t *pipe,
 		    int num_crtc_props, const char * const crtc_prop_names[])
 {
+	igt_display_t *display = pipe->display;
 	drmModeObjectPropertiesPtr props;
 	int i, j, fd;
 
@@ -3123,7 +3124,7 @@ static void igt_crtc_init(igt_display_t *display,
 	pipe->planes = NULL;
 	pipe->num_primary_planes = 0;
 
-	igt_fill_pipe_props(display, pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
+	igt_fill_pipe_props(pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
 
 	/* Get valid crtc index from crtcs for a pipe */
 	crtc_mask = __get_crtc_mask_for_pipe(resources, pipe);
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH i-g-t 05/12] lib/kms: Rename a bunch of crtc functions
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
                   ` (3 preceding siblings ...)
  2026-01-20 17:16 ` [PATCH i-g-t 04/12] lib/kms: Don't pass 'display' to igt_fill_pipe_props)_ Ville Syrjala
@ 2026-01-20 17:16 ` Ville Syrjala
  2026-01-21  9:06   ` Jani Nikula
  2026-01-20 17:16 ` [PATCH i-g-t 06/12] lib/kms: Eliminate some redundant igt_crtc_for_pipe()s Ville Syrjala
                   ` (10 subsequent siblings)
  15 siblings, 1 reply; 32+ messages in thread
From: Ville Syrjala @ 2026-01-20 17:16 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Rename a bunch of the functions that take igt_crtc_t
to also use the 'crtc' terminology in the function
name.

Done with cocci (with manual fixup for docs):
 #include "scripts/iterators.cocci"

@@
@@
(
- igt_pipe_request_out_fence
+ igt_crtc_request_out_fence
|
- igt_pipe_get_plane
+ igt_crtc_get_plane
|
- igt_pipe_get_plane_type
+ igt_crtc_get_plane_type
|
- igt_pipe_count_plane_type
+ igt_crtc_count_plane_type
|
- igt_pipe_get_plane_type_index
+ igt_crtc_get_plane_type_index
|
- igt_pipe_reset
+ igt_crtc_reset
|
- igt_pipe_fini
+ igt_crtc_fini
|
- igt_pipe_get_output
+ igt_crtc_get_output
|
- igt_pipe_commit
+ igt_crtc_commit
|
- igt_pipe_refresh
+ igt_crtc_refresh
|
- igt_fill_pipe_props
+ igt_fill_crtc_props
|
- igt_plane_set_pipe
+ igt_plane_set_crtc
)
 (...) { ... }

@@
@@
(
- igt_pipe_request_out_fence
+ igt_crtc_request_out_fence
|
- igt_pipe_get_plane
+ igt_crtc_get_plane
|
- igt_pipe_get_plane_type
+ igt_crtc_get_plane_type
|
- igt_pipe_count_plane_type
+ igt_crtc_count_plane_type
|
- igt_pipe_get_plane_type_index
+ igt_crtc_get_plane_type_index
|
- igt_pipe_reset
+ igt_crtc_reset
|
- igt_pipe_fini
+ igt_crtc_fini
|
- igt_pipe_get_output
+ igt_crtc_get_output
|
- igt_pipe_commit
+ igt_crtc_commit
|
- igt_pipe_refresh
+ igt_crtc_refresh
|
- igt_fill_pipe_props
+ igt_fill_crtc_props
|
- igt_plane_set_pipe
+ igt_plane_set_crtc
)
 (...)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 lib/igt_kms.c                                 | 64 +++++++++----------
 lib/igt_kms.h                                 | 12 ++--
 tests/amdgpu/amd_abm.c                        |  2 +-
 tests/amdgpu/amd_assr.c                       |  2 +-
 tests/amdgpu/amd_bypass.c                     |  2 +-
 tests/amdgpu/amd_color.c                      |  2 +-
 tests/amdgpu/amd_cursor_overlay.c             |  8 +--
 tests/amdgpu/amd_dp_dsc.c                     |  2 +-
 tests/amdgpu/amd_hotplug.c                    |  6 +-
 tests/amdgpu/amd_mall.c                       |  2 +-
 tests/amdgpu/amd_max_bpc.c                    |  2 +-
 tests/amdgpu/amd_mem_leak.c                   |  2 +-
 tests/amdgpu/amd_mode_switch.c                |  2 +-
 tests/amdgpu/amd_multidisplay_modeset.c       |  2 +-
 tests/amdgpu/amd_odm.c                        |  2 +-
 tests/amdgpu/amd_plane.c                      |  8 +--
 tests/amdgpu/amd_psr.c                        |  6 +-
 tests/amdgpu/amd_replay.c                     |  2 +-
 tests/amdgpu/amd_subvp.c                      |  2 +-
 tests/chamelium/kms_chamelium_color.c         |  2 +-
 .../kms_chamelium_sharpness_filter.c          |  2 +-
 tests/intel/gem_pxp.c                         |  4 +-
 tests/intel/kms_busy.c                        |  2 +-
 tests/intel/kms_cdclk.c                       |  2 +-
 tests/intel/kms_frontbuffer_tracking.c        |  6 +-
 tests/intel/kms_sharpness_filter.c            |  2 +-
 tests/intel/xe_pxp.c                          |  6 +-
 tests/kms_atomic.c                            | 16 ++---
 tests/kms_atomic_interruptible.c              |  2 +-
 tests/kms_atomic_transition.c                 | 14 ++--
 tests/kms_bw.c                                |  2 +-
 tests/kms_color.c                             |  2 +-
 tests/kms_color_pipeline.c                    |  2 +-
 tests/kms_concurrent.c                        |  2 +-
 tests/kms_cursor_legacy.c                     |  8 +--
 tests/kms_display_modes.c                     |  8 +--
 tests/kms_dither.c                            |  2 +-
 tests/kms_hdr.c                               |  2 +-
 tests/kms_lease.c                             | 10 +--
 tests/kms_multipipe_modeset.c                 |  4 +-
 tests/kms_plane_alpha_blend.c                 | 10 +--
 tests/kms_plane_cursor.c                      |  8 +--
 tests/kms_plane_scaling.c                     |  6 +-
 tests/kms_rmfb.c                              |  2 +-
 tools/amd_hdmi_compliance.c                   |  2 +-
 45 files changed, 129 insertions(+), 129 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 33e510acc514..74ad82d77dd3 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -964,7 +964,7 @@ igt_atomic_fill_connector_props(igt_display_t *display, igt_output_t *output,
 }
 
 static void
-igt_fill_pipe_props(igt_crtc_t *pipe,
+igt_fill_crtc_props(igt_crtc_t *pipe,
 		    int num_crtc_props, const char * const crtc_prop_names[])
 {
 	igt_display_t *display = pipe->display;
@@ -2732,7 +2732,7 @@ static void igt_plane_reset(igt_plane_t *plane)
 	plane->gem_handle = 0;
 }
 
-static void igt_pipe_reset(igt_crtc_t *pipe)
+static void igt_crtc_reset(igt_crtc_t *pipe)
 {
 	igt_crtc_set_prop_value(pipe, IGT_CRTC_MODE_ID, 0);
 	igt_crtc_set_prop_value(pipe, IGT_CRTC_ACTIVE, 0);
@@ -2836,7 +2836,7 @@ void igt_display_reset(igt_display_t *display)
 		for_each_plane_on_pipe(display, pipe, plane)
 			igt_plane_reset(plane);
 
-		igt_pipe_reset(pipe_obj);
+		igt_crtc_reset(pipe_obj);
 	}
 
 	for (i = 0; i < display->n_outputs; i++) {
@@ -3106,7 +3106,7 @@ static void igt_crtc_plane_init(igt_display_t *display,
 	 * it can go on.
 	 */
 	if (!global_plane->ref)
-		igt_plane_set_pipe(plane, pipe);
+		igt_plane_set_crtc(plane, pipe);
 
 	igt_fill_plane_props(display, plane, IGT_NUM_PLANE_PROPS, igt_plane_prop_names);
 
@@ -3124,7 +3124,7 @@ static void igt_crtc_init(igt_display_t *display,
 	pipe->planes = NULL;
 	pipe->num_primary_planes = 0;
 
-	igt_fill_pipe_props(pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
+	igt_fill_crtc_props(pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
 
 	/* Get valid crtc index from crtcs for a pipe */
 	crtc_mask = __get_crtc_mask_for_pipe(resources, pipe);
@@ -3435,7 +3435,7 @@ void igt_modeset_disable_all_outputs(igt_display_t *display)
 
 }
 
-static void igt_pipe_fini(igt_crtc_t *pipe)
+static void igt_crtc_fini(igt_crtc_t *pipe)
 {
 	free(pipe->planes);
 	pipe->planes = NULL;
@@ -3477,7 +3477,7 @@ void igt_display_fini(igt_display_t *display)
 	}
 
 	for (i = 0; i < igt_display_n_crtcs(display); i++)
-		igt_pipe_fini(igt_crtc_for_pipe(display, i));
+		igt_crtc_fini(igt_crtc_for_pipe(display, i));
 
 	for (i = 0; i < display->n_outputs; i++)
 		igt_output_fini(&display->outputs[i]);
@@ -3551,7 +3551,7 @@ static igt_crtc_t *igt_output_get_driving_pipe(igt_output_t *output)
 	return igt_crtc_for_pipe(display, pipe);
 }
 
-static igt_plane_t *igt_pipe_get_plane(igt_crtc_t *pipe, int plane_idx)
+static igt_plane_t *igt_crtc_get_plane(igt_crtc_t *pipe, int plane_idx)
 {
 	igt_require_f(plane_idx >= 0 && plane_idx < pipe->n_planes,
 		      "Valid pipe->planes plane_idx not found, plane_idx=%d n_planes=%d",
@@ -3561,7 +3561,7 @@ static igt_plane_t *igt_pipe_get_plane(igt_crtc_t *pipe, int plane_idx)
 }
 
 /**
- * igt_pipe_get_plane_type:
+ * igt_crtc_get_plane_type:
  * @pipe: Target pipe
  * @plane_type: Cursor, primary or an overlay plane
  *
@@ -3570,7 +3570,7 @@ static igt_plane_t *igt_pipe_get_plane(igt_crtc_t *pipe, int plane_idx)
  *
  * Returns: A #igt_plane_t structure that matches the requested plane type
  */
-igt_plane_t *igt_pipe_get_plane_type(igt_crtc_t *pipe, int plane_type)
+igt_plane_t *igt_crtc_get_plane_type(igt_crtc_t *pipe, int plane_type)
 {
 	int plane_idx = plane_type_index(pipe, plane_type);
 
@@ -3589,7 +3589,7 @@ igt_plane_t *igt_pipe_get_plane_type(igt_crtc_t *pipe, int plane_type)
 }
 
 /**
- * igt_pipe_count_plane_type:
+ * igt_crtc_count_plane_type:
  * @pipe: Target pipe
  * @plane_type: Cursor, primary or an overlay plane
  *
@@ -3597,7 +3597,7 @@ igt_plane_t *igt_pipe_get_plane_type(igt_crtc_t *pipe, int plane_type)
  *
  * Returns: The number of planes that match the requested plane type
  */
-int igt_pipe_count_plane_type(igt_crtc_t *pipe, int plane_type)
+int igt_crtc_count_plane_type(igt_crtc_t *pipe, int plane_type)
 {
 	int i, count = 0;
 
@@ -3609,7 +3609,7 @@ int igt_pipe_count_plane_type(igt_crtc_t *pipe, int plane_type)
 }
 
 /**
- * igt_pipe_get_plane_type_index:
+ * igt_crtc_get_plane_type_index:
  * @pipe: Target pipe
  * @plane_type: Cursor, primary or an overlay plane
  * @index: the index of the plane among planes of the same type
@@ -3618,7 +3618,7 @@ int igt_pipe_count_plane_type(igt_crtc_t *pipe, int plane_type)
  *
  * Returns: The @index th plane that matches the requested plane type
  */
-igt_plane_t *igt_pipe_get_plane_type_index(igt_crtc_t *pipe, int plane_type,
+igt_plane_t *igt_crtc_get_plane_type_index(igt_crtc_t *pipe, int plane_type,
 					   int index)
 {
 	int i, type_index = 0;
@@ -3742,7 +3742,7 @@ igt_output_t *igt_get_single_output_for_pipe(igt_display_t *display, enum pipe p
 	return chosen_outputs[pipe];
 }
 
-static igt_output_t *igt_pipe_get_output(igt_crtc_t *pipe)
+static igt_output_t *igt_crtc_get_output(igt_crtc_t *pipe)
 {
 	igt_display_t *display = pipe->display;
 	int i;
@@ -4048,7 +4048,7 @@ static int igt_primary_plane_commit_legacy(igt_plane_t *primary,
 					   bool fail_on_error)
 {
 	struct igt_display *display = primary->pipe->display;
-	igt_output_t *output = igt_pipe_get_output(pipe);
+	igt_output_t *output = igt_crtc_get_output(pipe);
 	drmModeModeInfo *mode;
 	uint32_t fb_id, crtc_id;
 	int ret;
@@ -4163,7 +4163,7 @@ static int igt_plane_commit(igt_plane_t *plane,
 			    enum igt_commit_style s,
 			    bool fail_on_error)
 {
-	igt_plane_t *plane_primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+	igt_plane_t *plane_primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	if (pipe->display->first_commit || (s == COMMIT_UNIVERSAL &&
 	     igt_plane_is_prop_changed(plane, IGT_PLANE_ROTATION))) {
@@ -4203,7 +4203,7 @@ static bool is_atomic_prop(enum igt_atomic_crtc_properties prop)
  * further programming will take place, which may result in some changes
  * taking effect and others not taking effect.
  */
-static int igt_pipe_commit(igt_crtc_t *pipe,
+static int igt_crtc_commit(igt_crtc_t *pipe,
 			   enum igt_commit_style s,
 			   bool fail_on_error)
 {
@@ -4979,7 +4979,7 @@ static int do_display_commit(igt_display_t *display,
 			igt_crtc_t *pipe_obj = igt_crtc_for_pipe(display,
 								 pipe);
 
-			ret = igt_pipe_commit(pipe_obj, s, fail_on_error);
+			ret = igt_crtc_commit(pipe_obj, s, fail_on_error);
 			if (ret)
 				break;
 		}
@@ -5332,7 +5332,7 @@ void igt_output_set_crtc(igt_output_t *output, igt_crtc_t *pipe_obj)
 	if (old_pipe) {
 		igt_output_t *old_output;
 
-		old_output = igt_pipe_get_output(old_pipe);
+		old_output = igt_crtc_get_output(old_pipe);
 		if (!old_output) {
 			if (display->is_atomic)
 				igt_crtc_replace_prop_blob(old_pipe, IGT_CRTC_MODE_ID, NULL, 0);
@@ -5465,7 +5465,7 @@ bool igt_fit_modes_in_bw(igt_display_t *display)
 }
 
 /**
- * igt_pipe_refresh:
+ * igt_crtc_refresh:
  * @pipe_obj: CRTC to refresh
  * @force: Should be set to true if mode_blob is no longer considered
  * to be valid, for example after doing an atomic commit during fork or closing display fd.
@@ -5475,12 +5475,12 @@ bool igt_fit_modes_in_bw(igt_display_t *display)
  * a fork, or we just want to be sure the pipe is included
  * in the next commit.
  */
-void igt_pipe_refresh(igt_crtc_t *pipe_obj, bool force)
+void igt_crtc_refresh(igt_crtc_t *pipe_obj, bool force)
 {
 	igt_display_t *display = pipe_obj->display;
 
 	if (force && display->is_atomic) {
-		igt_output_t *output = igt_pipe_get_output(pipe_obj);
+		igt_output_t *output = igt_crtc_get_output(pipe_obj);
 
 		pipe_obj->values[IGT_CRTC_MODE_ID] = 0;
 		if (output)
@@ -5507,7 +5507,7 @@ igt_plane_t *igt_output_get_plane(igt_output_t *output, int plane_idx)
 	pipe = igt_output_get_driving_pipe(output);
 	igt_assert(pipe);
 
-	return igt_pipe_get_plane(pipe, plane_idx);
+	return igt_crtc_get_plane(pipe, plane_idx);
 }
 
 /**
@@ -5527,7 +5527,7 @@ igt_plane_t *igt_output_get_plane_type(igt_output_t *output, int plane_type)
 	pipe = igt_output_get_driving_pipe(output);
 	igt_assert(pipe);
 
-	return igt_pipe_get_plane_type(pipe, plane_type);
+	return igt_crtc_get_plane_type(pipe, plane_type);
 }
 
 /**
@@ -5544,7 +5544,7 @@ int igt_output_count_plane_type(igt_output_t *output, int plane_type)
 	igt_crtc_t *pipe = igt_output_get_driving_pipe(output);
 	igt_assert(pipe);
 
-	return igt_pipe_count_plane_type(pipe, plane_type);
+	return igt_crtc_count_plane_type(pipe, plane_type);
 }
 
 /**
@@ -5563,7 +5563,7 @@ igt_plane_t *igt_output_get_plane_type_index(igt_output_t *output,
 	igt_crtc_t *pipe = igt_output_get_driving_pipe(output);
 	igt_assert(pipe);
 
-	return igt_pipe_get_plane_type_index(pipe, plane_type, index);
+	return igt_crtc_get_plane_type_index(pipe, plane_type, index);
 }
 
 /**
@@ -5612,7 +5612,7 @@ void igt_plane_set_fb(igt_plane_t *plane, struct igt_fb *fb)
 		}
 
 		/* Hack to prioritize the plane on the pipe that last set fb */
-		igt_plane_set_pipe(plane, pipe);
+		igt_plane_set_crtc(plane, pipe);
 	} else {
 		igt_plane_set_size(plane, 0, 0);
 
@@ -5648,11 +5648,11 @@ void igt_plane_set_fence_fd(igt_plane_t *plane, int fence_fd)
 }
 
 /**
- * igt_plane_set_pipe:
+ * igt_plane_set_crtc:
  * @plane: Target plane pointer
  * @pipe: The pipe to assign the plane to
  */
-void igt_plane_set_pipe(igt_plane_t *plane, igt_crtc_t *pipe)
+void igt_plane_set_crtc(igt_plane_t *plane, igt_crtc_t *pipe)
 {
 	/*
 	 * HACK: Point the global plane back to the local plane.
@@ -5797,13 +5797,13 @@ void igt_plane_set_rotation(igt_plane_t *plane, igt_rotation_t rotation)
 }
 
 /**
- * igt_pipe_request_out_fence:
+ * igt_crtc_request_out_fence:
  * @pipe: pipe which out fence will be requested for
  *
  * Marks this pipe for requesting an out fence at the next atomic commit
  * will contain the fd number of the out fence created by KMS.
  */
-void igt_pipe_request_out_fence(igt_crtc_t *pipe)
+void igt_crtc_request_out_fence(igt_crtc_t *pipe)
 {
 	igt_crtc_set_prop_value(pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)&pipe->out_fence_fd);
 }
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 5e3108f56e11..71a2f2c4d89c 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -604,18 +604,18 @@ drmModeModeInfo *igt_std_1024_mode_get(int vrefresh);
 void igt_output_set_writeback_fb(igt_output_t *output, struct igt_fb *fb);
 void igt_modeset_disable_all_outputs(igt_display_t *display);
 
-igt_plane_t *igt_pipe_get_plane_type(igt_crtc_t *pipe, int plane_type);
-int igt_pipe_count_plane_type(igt_crtc_t *pipe, int plane_type);
-igt_plane_t *igt_pipe_get_plane_type_index(igt_crtc_t *pipe, int plane_type,
+igt_plane_t *igt_crtc_get_plane_type(igt_crtc_t *pipe, int plane_type);
+int igt_crtc_count_plane_type(igt_crtc_t *pipe, int plane_type);
+igt_plane_t *igt_crtc_get_plane_type_index(igt_crtc_t *pipe, int plane_type,
 					   int index);
 bool output_is_internal_panel(igt_output_t *output);
 igt_output_t *igt_get_single_output_for_pipe(igt_display_t *display, enum pipe pipe);
 
-void igt_pipe_request_out_fence(igt_crtc_t *pipe);
+void igt_crtc_request_out_fence(igt_crtc_t *pipe);
 
 void igt_plane_set_fb(igt_plane_t *plane, struct igt_fb *fb);
 void igt_plane_set_fence_fd(igt_plane_t *plane, int fence_fd);
-void igt_plane_set_pipe(igt_plane_t *plane, igt_crtc_t *pipe);
+void igt_plane_set_crtc(igt_plane_t *plane, igt_crtc_t *pipe);
 void igt_plane_set_position(igt_plane_t *plane, int x, int y);
 void igt_plane_set_size(igt_plane_t *plane, int w, int h);
 void igt_plane_set_rotation(igt_plane_t *plane, igt_rotation_t rotation);
@@ -1119,7 +1119,7 @@ extern void igt_crtc_set_prop_enum(igt_crtc_t *pipe,
 extern void igt_crtc_replace_prop_blob(igt_crtc_t *pipe,
 					   enum igt_atomic_crtc_properties prop,
 					   const void *ptr, size_t length);
-void igt_pipe_refresh(igt_crtc_t *pipe_obj, bool force);
+void igt_crtc_refresh(igt_crtc_t *pipe_obj, bool force);
 
 void igt_enable_connectors(int drm_fd);
 void igt_reset_connectors(void);
diff --git a/tests/amdgpu/amd_abm.c b/tests/amdgpu/amd_abm.c
index 6d6fce320467..0048304baf9c 100644
--- a/tests/amdgpu/amd_abm.c
+++ b/tests/amdgpu/amd_abm.c
@@ -144,7 +144,7 @@ static void test_init(data_t *data)
 	kmstest_dump_mode(data->mode);
 
 	data->primary =
-		 igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+		 igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	igt_output_set_crtc(data->output,
 			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
diff --git a/tests/amdgpu/amd_assr.c b/tests/amdgpu/amd_assr.c
index a0c8d111d4a3..3c4ec0a86f17 100644
--- a/tests/amdgpu/amd_assr.c
+++ b/tests/amdgpu/amd_assr.c
@@ -169,7 +169,7 @@ static void present_visual_pattern(data_t *data, igt_output_t *output)
 
 	pipe = igt_crtc_for_pipe(&data->display, PIPE_A);
 	primary =
-		igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+		igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 	igt_output_set_crtc(output,
 			    pipe);
 
diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
index 80aa46890fc1..359387859d08 100644
--- a/tests/amdgpu/amd_bypass.c
+++ b/tests/amdgpu/amd_bypass.c
@@ -87,7 +87,7 @@ static void test_init(data_t *data)
 	igt_assert(data->mode);
 
 	data->primary =
-		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe_id,
 					  AMDGPU_PIPE_CRC_SOURCE_DPRX);
diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
index ed3e9170f615..d1e164673560 100644
--- a/tests/amdgpu/amd_color.c
+++ b/tests/amdgpu/amd_color.c
@@ -191,7 +191,7 @@ static void test_init(data_t *data)
 	igt_assert(data->mode);
 
 	data->primary =
-		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
 					  IGT_PIPE_CRC_SOURCE_AUTO);
diff --git a/tests/amdgpu/amd_cursor_overlay.c b/tests/amdgpu/amd_cursor_overlay.c
index 481219f9f726..dff03cb9aa52 100644
--- a/tests/amdgpu/amd_cursor_overlay.c
+++ b/tests/amdgpu/amd_cursor_overlay.c
@@ -141,16 +141,16 @@ static void test_init(data_t *data, enum pipe pipe_id, igt_output_t *output,
 	data->pipe = &data->display.pipes[data->pipe_id];
 	data->output = output;
 	data->mode = igt_output_get_mode(data->output);
-	data->primary = igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
-	data->cursor = igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_CURSOR);
+	data->primary = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+	data->cursor = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_CURSOR);
 
 	if (flags & TEST_MAX_PLANES)
 		for (i = 0; i < available_overlay_planes - 1; i++)
-			data->overlays[i] = igt_pipe_get_plane_type_index(data->pipe,
+			data->overlays[i] = igt_crtc_get_plane_type_index(data->pipe,
 						DRM_PLANE_TYPE_OVERLAY, i);
 	if (flags & TEST_NO_AVAILABLE_PLANES)
 		for (i = 0; i < available_overlay_planes; i++)
-			data->overlays[i] = igt_pipe_get_plane_type_index(data->pipe,
+			data->overlays[i] = igt_crtc_get_plane_type_index(data->pipe,
 						DRM_PLANE_TYPE_OVERLAY, i);
 
 	igt_info("Using (pipe %s + %s) to run the subtest.\n",
diff --git a/tests/amdgpu/amd_dp_dsc.c b/tests/amdgpu/amd_dp_dsc.c
index 11d77c6e9f4a..91298ba20cde 100644
--- a/tests/amdgpu/amd_dp_dsc.c
+++ b/tests/amdgpu/amd_dp_dsc.c
@@ -67,7 +67,7 @@ static void test_init(data_t *data)
 		data->pipe_id[i] = PIPE_A + i;
 		data->pipe[i] = igt_crtc_for_pipe(&data->display,
 						  data->pipe_id[i]);
-		data->primary[i] = igt_pipe_get_plane_type(
+		data->primary[i] = igt_crtc_get_plane_type(
 				data->pipe[i], DRM_PLANE_TYPE_PRIMARY);
 		data->pipe_crc[i] =
 				igt_pipe_crc_new(data->fd, data->pipe_id[i],
diff --git a/tests/amdgpu/amd_hotplug.c b/tests/amdgpu/amd_hotplug.c
index e2982f755d46..774630696a61 100644
--- a/tests/amdgpu/amd_hotplug.c
+++ b/tests/amdgpu/amd_hotplug.c
@@ -57,11 +57,11 @@ static void test_init(data_t *data)
 		data->pipe_id[i] = PIPE_A + i;
 		data->pipe[i] = igt_crtc_for_pipe(&data->display,
 						  data->pipe_id[i]);
-		data->primary[i] = igt_pipe_get_plane_type(
+		data->primary[i] = igt_crtc_get_plane_type(
 			data->pipe[i], DRM_PLANE_TYPE_PRIMARY);
-		data->overlay[i] = igt_pipe_get_plane_type_index(
+		data->overlay[i] = igt_crtc_get_plane_type_index(
 			data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 0);
-		data->cursor[i] = igt_pipe_get_plane_type(
+		data->cursor[i] = igt_crtc_get_plane_type(
 			data->pipe[i], DRM_PLANE_TYPE_CURSOR);
 		data->pipe_crc[i] =
 			igt_pipe_crc_new(data->fd, data->pipe_id[i],
diff --git a/tests/amdgpu/amd_mall.c b/tests/amdgpu/amd_mall.c
index 5364cf797163..1673bfd8531f 100644
--- a/tests/amdgpu/amd_mall.c
+++ b/tests/amdgpu/amd_mall.c
@@ -83,7 +83,7 @@ static void test_init(data_t *data)
 	igt_assert(data->mode);
 
 	data->primary =
-		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
 					  IGT_PIPE_CRC_SOURCE_AUTO);
diff --git a/tests/amdgpu/amd_max_bpc.c b/tests/amdgpu/amd_max_bpc.c
index 9abf7abd3800..b5e3f7aa40cf 100644
--- a/tests/amdgpu/amd_max_bpc.c
+++ b/tests/amdgpu/amd_max_bpc.c
@@ -80,7 +80,7 @@ static void test_init(data_t *data)
 				    data->output->name, 8);
 
 	data->primary =
-		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
 					  IGT_PIPE_CRC_SOURCE_AUTO);
diff --git a/tests/amdgpu/amd_mem_leak.c b/tests/amdgpu/amd_mem_leak.c
index 68fbe5f4167f..e6321c215d4e 100644
--- a/tests/amdgpu/amd_mem_leak.c
+++ b/tests/amdgpu/amd_mem_leak.c
@@ -65,7 +65,7 @@ static void test_init(data_t *data)
 	igt_assert(data->mode);
 
 	data->primary =
-		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	igt_output_set_crtc(data->output,
 			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
diff --git a/tests/amdgpu/amd_mode_switch.c b/tests/amdgpu/amd_mode_switch.c
index d142873e9372..fa6d5a323a27 100644
--- a/tests/amdgpu/amd_mode_switch.c
+++ b/tests/amdgpu/amd_mode_switch.c
@@ -41,7 +41,7 @@ static void test_init(data_t *data)
 	for_each_pipe(display, i) {
 		igt_output_t *output = &display->outputs[i];
 
-		data->primary[i] = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->display, i),
+		data->primary[i] = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->display, i),
 							   DRM_PLANE_TYPE_PRIMARY);
 
 		data->output[i] = output;
diff --git a/tests/amdgpu/amd_multidisplay_modeset.c b/tests/amdgpu/amd_multidisplay_modeset.c
index a35eeb7ab9d4..e2200be2dbb3 100644
--- a/tests/amdgpu/amd_multidisplay_modeset.c
+++ b/tests/amdgpu/amd_multidisplay_modeset.c
@@ -161,7 +161,7 @@ static void test_init(struct data_t *data)
 		 */
 		output = igt_get_single_output_for_pipe(display, i);
 		pipes = igt_crtc_for_pipe(display, i);
-		data->primary[i] = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->display, i),
+		data->primary[i] = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->display, i),
 							   DRM_PLANE_TYPE_PRIMARY);
 		data->output[i] = output;
 
diff --git a/tests/amdgpu/amd_odm.c b/tests/amdgpu/amd_odm.c
index 3decc7d805e0..c8c268b982e5 100644
--- a/tests/amdgpu/amd_odm.c
+++ b/tests/amdgpu/amd_odm.c
@@ -76,7 +76,7 @@ static void test_init(struct data *data)
 		      data->output->config.connector->connector_type == DRM_MODE_CONNECTOR_HDMIB,
 		      "ODM Combine isn't supported on HDMI 1.x\n");
 
-	data->primary = igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+	data->primary = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 	igt_output_set_crtc(data->output,
 			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
 
diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c
index 06d2ace58a49..f56723d74485 100644
--- a/tests/amdgpu/amd_plane.c
+++ b/tests/amdgpu/amd_plane.c
@@ -157,13 +157,13 @@ static void test_init(data_t *data)
 	for_each_pipe(display, i) {
 		data->pipe_id[i] = PIPE_A + i;
 		data->pipe[i] = igt_crtc_for_pipe(display, data->pipe_id[i]);
-		data->primary[i] = igt_pipe_get_plane_type(
+		data->primary[i] = igt_crtc_get_plane_type(
 			data->pipe[i], DRM_PLANE_TYPE_PRIMARY);
-		data->overlay[i] = igt_pipe_get_plane_type_index(
+		data->overlay[i] = igt_crtc_get_plane_type_index(
 			data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 0);
-		data->overlay2[i] = igt_pipe_get_plane_type_index(
+		data->overlay2[i] = igt_crtc_get_plane_type_index(
 			data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 1);
-		data->cursor[i] = igt_pipe_get_plane_type(
+		data->cursor[i] = igt_crtc_get_plane_type(
 			data->pipe[i], DRM_PLANE_TYPE_CURSOR);
 		data->pipe_crc[i] =
 			igt_pipe_crc_new(data->fd, data->pipe_id[i],
diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c
index c66dcf1ef39d..b98d43718251 100644
--- a/tests/amdgpu/amd_psr.c
+++ b/tests/amdgpu/amd_psr.c
@@ -185,13 +185,13 @@ static void test_init(data_t *data)
 	kmstest_dump_mode(data->mode);
 
 	data->primary =
-		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	data->cursor =
-		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_CURSOR);
+		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_CURSOR);
 
 	data->overlay =
-		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_OVERLAY);
+		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_OVERLAY);
 
 	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
 					  IGT_PIPE_CRC_SOURCE_AUTO);
diff --git a/tests/amdgpu/amd_replay.c b/tests/amdgpu/amd_replay.c
index 3104c436a326..65707a3c384e 100644
--- a/tests/amdgpu/amd_replay.c
+++ b/tests/amdgpu/amd_replay.c
@@ -75,7 +75,7 @@ static void test_init(struct test_data *data)
 	kmstest_dump_mode(data->mode);
 
 	data->primary =
-		 igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+		 igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	igt_output_set_crtc(data->output,
 			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
diff --git a/tests/amdgpu/amd_subvp.c b/tests/amdgpu/amd_subvp.c
index 66114d36a8af..a4ee50a85f78 100644
--- a/tests/amdgpu/amd_subvp.c
+++ b/tests/amdgpu/amd_subvp.c
@@ -67,7 +67,7 @@ static void test_init(struct data *data)
 		data->pipe_id[i] = PIPE_A + i;
 		data->pipe[i] = igt_crtc_for_pipe(&data->display,
 						  data->pipe_id[i]);
-		data->primary[i] = igt_pipe_get_plane_type(data->pipe[i],
+		data->primary[i] = igt_crtc_get_plane_type(data->pipe[i],
 							   DRM_PLANE_TYPE_PRIMARY);
 		data->pipe_crc[i] = igt_pipe_crc_new(data->fd,
 						     data->pipe_id[i],
diff --git a/tests/chamelium/kms_chamelium_color.c b/tests/chamelium/kms_chamelium_color.c
index 86d43509244a..e00013a78665 100644
--- a/tests/chamelium/kms_chamelium_color.c
+++ b/tests/chamelium/kms_chamelium_color.c
@@ -459,7 +459,7 @@ static int test_setup(data_t *data, enum pipe p)
 	pipe = igt_crtc_for_pipe(&data->display, p);
 	igt_require(pipe->n_planes >= 0);
 
-	data->primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+	data->primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	/*
 	 * Prefer to run this test on HDMI connector if its connected, since on DP we
diff --git a/tests/chamelium/kms_chamelium_sharpness_filter.c b/tests/chamelium/kms_chamelium_sharpness_filter.c
index 21d4b6fe649e..14189687c29c 100644
--- a/tests/chamelium/kms_chamelium_sharpness_filter.c
+++ b/tests/chamelium/kms_chamelium_sharpness_filter.c
@@ -185,7 +185,7 @@ static int test_setup(data_t *data, enum pipe p)
 	pipe = igt_crtc_for_pipe(&data->display, p);
 	igt_require(pipe->n_planes >= 0);
 
-	data->primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+	data->primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 	igt_assert(data->primary);
 
 	/*
diff --git a/tests/intel/gem_pxp.c b/tests/intel/gem_pxp.c
index 31a872e4b559..9015397c8a91 100644
--- a/tests/intel/gem_pxp.c
+++ b/tests/intel/gem_pxp.c
@@ -1227,7 +1227,7 @@ static void test_display_protected_crc(int i915, igt_display_t *display)
 	for_each_connected_output(display, output) {
 		mode = igt_output_get_mode(output);
 		pipe = igt_crtc_for_pipe(display, i);
-		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 		igt_require(igt_pipe_connector_valid(i, output));
 		igt_output_set_crtc(output,
 				    igt_crtc_for_pipe(output->display, i));
@@ -1247,7 +1247,7 @@ static void test_display_protected_crc(int i915, igt_display_t *display)
 		pipe = igt_crtc_for_pipe(display, output->pending_pipe);
 		pipe_crc = igt_pipe_crc_new(i915, pipe->pipe,
 					    IGT_PIPE_CRC_SOURCE_AUTO);
-		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 		igt_require(igt_pipe_connector_valid(pipe->pipe, output));
 		igt_output_set_crtc(output, pipe);
 
diff --git a/tests/intel/kms_busy.c b/tests/intel/kms_busy.c
index 55ad6f19a905..35a52a2994d9 100644
--- a/tests/intel/kms_busy.c
+++ b/tests/intel/kms_busy.c
@@ -161,7 +161,7 @@ static void flip_to_fb(igt_display_t *dpy, int pipe,
 		gem_quiescent_gpu(dpy->drm_fd);
 
 		/* Clear old mode blob. */
-		igt_pipe_refresh(igt_crtc_for_pipe(dpy, pipe), true);
+		igt_crtc_refresh(igt_crtc_for_pipe(dpy, pipe), true);
 
 		igt_output_set_crtc(output,
 				    igt_crtc_for_pipe(output->display, pipe));
diff --git a/tests/intel/kms_cdclk.c b/tests/intel/kms_cdclk.c
index a9c4dda98f2c..36ce46a44f64 100644
--- a/tests/intel/kms_cdclk.c
+++ b/tests/intel/kms_cdclk.c
@@ -242,7 +242,7 @@ static void set_mode(data_t *data, int count, drmModeModeInfo *mode,
 
 	for (int i = 0; i < count; i++) {
 		pipe = igt_crtc_for_pipe(display, i);
-		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 
 		igt_output_override_mode(valid_outputs[i], &mode[i]);
 
diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c
index dee3e898f7f7..e8c8e342f5dc 100644
--- a/tests/intel/kms_frontbuffer_tracking.c
+++ b/tests/intel/kms_frontbuffer_tracking.c
@@ -1116,7 +1116,7 @@ static void init_mode_params(struct modeset_params *params,
 	params->output = output;
 	params->mode = *mode;
 
-	params->primary.plane = igt_pipe_get_plane_type(igt_crtc_for_pipe(&drm.display, pipe),
+	params->primary.plane = igt_crtc_get_plane_type(igt_crtc_for_pipe(&drm.display, pipe),
 							DRM_PLANE_TYPE_PRIMARY);
 	params->primary.fb = NULL;
 	params->primary.x = 0;
@@ -1124,7 +1124,7 @@ static void init_mode_params(struct modeset_params *params,
 	params->primary.w = mode->hdisplay;
 	params->primary.h = mode->vdisplay;
 
-	params->cursor.plane = igt_pipe_get_plane_type(igt_crtc_for_pipe(&drm.display, pipe),
+	params->cursor.plane = igt_crtc_get_plane_type(igt_crtc_for_pipe(&drm.display, pipe),
 						       DRM_PLANE_TYPE_CURSOR);
 	params->cursor.fb = NULL;
 	params->cursor.x = 0;
@@ -1132,7 +1132,7 @@ static void init_mode_params(struct modeset_params *params,
 	params->cursor.w = 64;
 	params->cursor.h = 64;
 
-	params->sprite.plane = igt_pipe_get_plane_type(igt_crtc_for_pipe(&drm.display, pipe),
+	params->sprite.plane = igt_crtc_get_plane_type(igt_crtc_for_pipe(&drm.display, pipe),
 						       DRM_PLANE_TYPE_OVERLAY);
 	igt_require(params->sprite.plane);
 	params->sprite.fb = NULL;
diff --git a/tests/intel/kms_sharpness_filter.c b/tests/intel/kms_sharpness_filter.c
index 94c11ed2fecb..2f3044c7a9c7 100644
--- a/tests/intel/kms_sharpness_filter.c
+++ b/tests/intel/kms_sharpness_filter.c
@@ -338,7 +338,7 @@ static void test_sharpness_filter(data_t *data,  enum test_type type)
 	igt_pipe_crc_t *pipe_crc = NULL;
 	int ret;
 
-	data->plane[0] = igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+	data->plane[0] = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 	igt_skip_on_f(!igt_plane_has_format_mod(data->plane[0], data->format, data->modifier),
 		      "No requested format/modifier on pipe %s\n", kmstest_pipe_name(data->pipe_id));
 
diff --git a/tests/intel/xe_pxp.c b/tests/intel/xe_pxp.c
index 967130f26f32..87c2c67394dd 100644
--- a/tests/intel/xe_pxp.c
+++ b/tests/intel/xe_pxp.c
@@ -848,7 +848,7 @@ static void compare_crcs(int fd, igt_display_t *display, igt_fb_t *ref_fb, igt_f
 		pipe = igt_crtc_for_pipe(display, output->pending_pipe);
 		pipe_crc = igt_pipe_crc_new(fd, pipe->pipe,
 					    IGT_PIPE_CRC_SOURCE_AUTO);
-		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 		igt_require(igt_pipe_connector_valid(pipe->pipe, output));
 		igt_output_set_crtc(output, pipe);
 
@@ -903,7 +903,7 @@ static void test_display_pxp_fb(int fd, igt_display_t *display)
 	for_each_connected_output(display, output) {
 		mode = igt_output_get_mode(output);
 		pipe = igt_crtc_for_pipe(display, i);
-		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 		igt_require(igt_pipe_connector_valid(i, output));
 		igt_output_set_crtc(output,
 				    igt_crtc_for_pipe(output->display, i));
@@ -961,7 +961,7 @@ static void test_display_black_pxp_fb(int fd, igt_display_t *display)
 	for_each_connected_output(display, output) {
 		mode = igt_output_get_mode(output);
 		pipe = igt_crtc_for_pipe(display, i);
-		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 		igt_require(igt_pipe_connector_valid(i, output));
 		igt_output_set_crtc(output,
 				    igt_crtc_for_pipe(output->display, i));
diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
index d20a500f37c7..8966637c450b 100644
--- a/tests/kms_atomic.c
+++ b/tests/kms_atomic.c
@@ -938,12 +938,12 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
 	crtc_commit_atomic_flags_err(data->pipe, data->primary, 0, ATOMIC_RELAX_NONE, EINVAL);
 
 	/* valid out fence ptr and flip event but not allowed prop on crtc */
-	igt_pipe_request_out_fence(data->pipe);
+	igt_crtc_request_out_fence(data->pipe);
 	crtc_commit_atomic_flags_err(data->pipe, data->primary, DRM_MODE_PAGE_FLIP_EVENT,
 				     ATOMIC_RELAX_NONE, EINVAL);
 
 	/* valid flip event but not allowed prop on crtc */
-	igt_pipe_request_out_fence(data->pipe);
+	igt_crtc_request_out_fence(data->pipe);
 	crtc_commit_atomic_flags_err(data->pipe, data->primary, DRM_MODE_PAGE_FLIP_EVENT,
 				     ATOMIC_RELAX_NONE, EINVAL);
 
@@ -957,7 +957,7 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
 	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->fb.fb_id);
 
 	/* valid out fence but invalid prop on crtc */
-	igt_pipe_request_out_fence(data->pipe);
+	igt_crtc_request_out_fence(data->pipe);
 	crtc_commit_atomic_flags_err(data->pipe, data->primary, 0,
 				     ATOMIC_RELAX_NONE, EINVAL);
 
@@ -984,7 +984,7 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
 	crtc_commit(data->pipe, data->primary, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
 
 	/* out fence ptr but not page flip event */
-	igt_pipe_request_out_fence(data->pipe);
+	igt_crtc_request_out_fence(data->pipe);
 	crtc_commit(data->pipe, data->primary, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
 
 	igt_assert(data->pipe->out_fence_fd != -1);
@@ -1333,7 +1333,7 @@ static void atomic_setup(data_t *data, enum pipe pipe, igt_output_t *output)
 	igt_display_reset(&data->display);
 	igt_output_set_crtc(output, igt_crtc_for_pipe(output->display, pipe));
 
-	data->primary = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->display, pipe),
+	data->primary = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->display, pipe),
 						DRM_PLANE_TYPE_PRIMARY);
 	data->pipe = igt_crtc_for_pipe(&data->display, pipe);
 	mode = igt_output_get_mode(output);
@@ -1419,7 +1419,7 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	igt_subtest_with_dynamic("plane-overlay-legacy") {
 		for_each_pipe_with_single_output(&data.display, pipe, output) {
 			igt_plane_t *overlay =
-				igt_pipe_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
+				igt_crtc_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
 							DRM_PLANE_TYPE_OVERLAY);
 			uint32_t format = plane_get_igt_format(overlay);
 
@@ -1458,7 +1458,7 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	igt_subtest_with_dynamic("plane-primary-overlay-mutable-zpos") {
 		for_each_pipe_with_single_output(&data.display, pipe, output) {
 			igt_plane_t *overlay =
-				igt_pipe_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
+				igt_crtc_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
 							DRM_PLANE_TYPE_OVERLAY);
 
 			if (!pipe_output_combo_valid(&data.display, pipe, output))
@@ -1530,7 +1530,7 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
 	igt_subtest_with_dynamic("plane-cursor-legacy") {
 		for_each_pipe_with_single_output(&data.display, pipe, output) {
 			igt_plane_t *cursor =
-				igt_pipe_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
+				igt_crtc_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
 							DRM_PLANE_TYPE_CURSOR);
 
 			if (!pipe_output_combo_valid(&data.display, pipe, output))
diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c
index 090c0ead7a24..d51c79efe7f0 100644
--- a/tests/kms_atomic_interruptible.c
+++ b/tests/kms_atomic_interruptible.c
@@ -297,7 +297,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_pipe_refresh(igt_crtc_for_pipe(display, pipe), true);
+		igt_crtc_refresh(igt_crtc_for_pipe(display, pipe), true);
 
 	igt_plane_set_fb(plane, NULL);
 	igt_plane_set_fb(primary, NULL);
diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index 4da3289073ce..883a90e04a1a 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -509,7 +509,7 @@ static void unprepare_fencing(data_t *data, enum pipe pipe)
 static void atomic_commit(data_t *data_v, enum pipe pipe, unsigned int flags, void *data, bool fencing)
 {
 	if (fencing)
-		igt_pipe_request_out_fence(igt_crtc_for_pipe(&data_v->display, pipe));
+		igt_crtc_request_out_fence(igt_crtc_for_pipe(&data_v->display, pipe));
 
 	igt_display_commit_atomic(&data_v->display, flags, data);
 }
@@ -610,7 +610,7 @@ run_transition_test(data_t *data, enum pipe pipe, igt_output_t *output,
 		wm_setup_plane(data, pipe, iter_max - 1, parms, false);
 
 		if (fencing)
-			igt_pipe_request_out_fence(pipe_obj);
+			igt_crtc_request_out_fence(pipe_obj);
 
 		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));
@@ -805,7 +805,7 @@ static unsigned set_combinations(data_t *data, unsigned mask, struct igt_fb *fb)
 	unset_output_pipe(&data->display);
 
 	for_each_pipe(&data->display, pipe) {
-		igt_plane_t *plane = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->display, pipe),
+		igt_plane_t *plane = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->display, pipe),
 							     DRM_PLANE_TYPE_PRIMARY);
 
 		enum pipe old_pipe = plane->ref->pipe->pipe;
@@ -815,7 +815,7 @@ static unsigned set_combinations(data_t *data, unsigned mask, struct igt_fb *fb)
 		 * currently is holding the plane
 		 */
 		if (old_pipe != pipe) {
-			igt_plane_t *old_plane = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->display, old_pipe),
+			igt_plane_t *old_plane = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->display, old_pipe),
 									 DRM_PLANE_TYPE_PRIMARY);
 
 			igt_plane_set_fb(old_plane, NULL);
@@ -824,7 +824,7 @@ static unsigned set_combinations(data_t *data, unsigned mask, struct igt_fb *fb)
 	}
 
 	for_each_pipe(&data->display, pipe) {
-		igt_plane_t *plane = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->display, pipe),
+		igt_plane_t *plane = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->display, pipe),
 							     DRM_PLANE_TYPE_PRIMARY);
 		drmModeModeInfo *mode = NULL;
 
@@ -922,7 +922,7 @@ retry:
 
 	for_each_pipe(&data->display, i) {
 		igt_crtc_t *pipe = igt_crtc_for_pipe(&data->display, i);
-		igt_plane_t *plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+		igt_plane_t *plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 		drmModeModeInfo *mode = NULL;
 
 		/* count enable pipes to set max iteration */
@@ -957,7 +957,7 @@ retry:
 			igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
 
 			if (fencing)
-				igt_pipe_request_out_fence(igt_crtc_for_pipe(&data->display, i));
+				igt_crtc_request_out_fence(igt_crtc_for_pipe(&data->display, i));
 		} else {
 			igt_plane_set_fb(plane, NULL);
 		}
diff --git a/tests/kms_bw.c b/tests/kms_bw.c
index 4e41be942cb1..13c8e3bec2b9 100644
--- a/tests/kms_bw.c
+++ b/tests/kms_bw.c
@@ -127,7 +127,7 @@ static void test_init(data_t *data, bool physical)
 		data->pipe_id[i] = i;
 		data->pipe[i] = igt_crtc_for_pipe(&data->display,
 						  data->pipe_id[i]);
-		data->primary[i] = igt_pipe_get_plane_type(
+		data->primary[i] = igt_crtc_get_plane_type(
 			data->pipe[i], DRM_PLANE_TYPE_PRIMARY);
 		data->pipe_crc[i] =
 			igt_pipe_crc_new(data->fd, data->pipe_id[i],
diff --git a/tests/kms_color.c b/tests/kms_color.c
index 2fc3aec75907..529fa33ab000 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -739,7 +739,7 @@ static void test_setup(data_t *data, enum pipe p)
 	pipe = igt_crtc_for_pipe(&data->display, p);
 	igt_require(pipe->n_planes >= 0);
 
-	data->primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+	data->primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 	data->pipe_crc = igt_pipe_crc_new(data->drm_fd,
 					  data->primary->pipe->pipe,
 					  IGT_PIPE_CRC_SOURCE_AUTO);
diff --git a/tests/kms_color_pipeline.c b/tests/kms_color_pipeline.c
index 3c9a2cdee55f..e1b7c50e6d5f 100644
--- a/tests/kms_color_pipeline.c
+++ b/tests/kms_color_pipeline.c
@@ -58,7 +58,7 @@ static void test_setup(data_t *data, enum pipe p)
 
 	igt_output_set_crtc(data->output, pipe);
 
-	data->primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+	data->primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 	data->mode = igt_output_get_mode(data->output);
 	igt_require(data->mode);
 
diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
index 8198832727cc..4431432e5cbc 100644
--- a/tests/kms_concurrent.c
+++ b/tests/kms_concurrent.c
@@ -233,7 +233,7 @@ test_plane_position_with_output(data_t *data, enum pipe pipe, int max_planes,
 	bool loop_forever = opt.iterations == LOOP_FOREVER ? true : false;
 	int ret;
 
-	igt_pipe_refresh(igt_crtc_for_pipe(&data->display, pipe), true);
+	igt_crtc_refresh(igt_crtc_for_pipe(&data->display, pipe), true);
 
 	i = 0;
 	while (i < iterations || loop_forever) {
diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index 7171e565cd51..d5a61e30e6a7 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -472,7 +472,7 @@ find_connected_pipe(igt_display_t *display, bool second, igt_output_t **output)
 static void flip_nonblocking(igt_display_t *display, enum pipe pipe_id, bool atomic, struct igt_fb *fb, void *data)
 {
 	igt_crtc_t *pipe = igt_crtc_for_pipe(display, pipe_id);
-	igt_plane_t *primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+	igt_plane_t *primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 	int ret;
 
 	igt_set_timeout(5, "Scheduling page flip\n");
@@ -536,8 +536,8 @@ static void transition_nonblocking(igt_display_t *display, enum pipe pipe_id,
 				   bool hide_sprite)
 {
 	igt_crtc_t *pipe = igt_crtc_for_pipe(display, pipe_id);
-	igt_plane_t *primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
-	igt_plane_t *sprite = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_OVERLAY);
+	igt_plane_t *primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+	igt_plane_t *sprite = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_OVERLAY);
 
 	if (hide_sprite) {
 		igt_plane_set_fb(primary, prim_fb);
@@ -636,7 +636,7 @@ static void flip(igt_display_t *display,
 
 	if (mode == flip_test_atomic_transitions ||
 		mode == flip_test_atomic_transitions_varying_size) {
-		igt_require(igt_pipe_get_plane_type(igt_crtc_for_pipe(display, flip_pipe),
+		igt_require(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, flip_pipe),
 						    DRM_PLANE_TYPE_OVERLAY));
 	}
 
diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c
index 818ebf32c2f0..77f5677fe69e 100644
--- a/tests/kms_display_modes.c
+++ b/tests/kms_display_modes.c
@@ -105,9 +105,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_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe1),
+	plane[0] = igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe1),
 					   DRM_PLANE_TYPE_PRIMARY);
-	plane[1] = igt_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe2),
+	plane[1] = igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe2),
 					   DRM_PLANE_TYPE_PRIMARY);
 
 	igt_plane_set_fb(plane[0], &fbs[0]);
@@ -161,10 +161,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_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe1),
+	igt_plane_set_fb(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe1),
 						 DRM_PLANE_TYPE_PRIMARY),
 			 NULL);
-	igt_plane_set_fb(igt_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe2),
+	igt_plane_set_fb(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe2),
 						 DRM_PLANE_TYPE_PRIMARY),
 			 NULL);
 	igt_assert_f(igt_fit_modes_in_bw(display), "Unable to fit modes in bw\n");
diff --git a/tests/kms_dither.c b/tests/kms_dither.c
index f79fbb2cb2f3..6b3efef71818 100644
--- a/tests/kms_dither.c
+++ b/tests/kms_dither.c
@@ -79,7 +79,7 @@ static void prepare_test(data_t *data, igt_output_t *output, enum pipe p)
 	igt_assert(pipe);
 
 	data->primary =
-		igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+		igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	igt_output_set_crtc(output, pipe);
 }
diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c
index 1df12aeab254..8f05a4f40e64 100644
--- a/tests/kms_hdr.c
+++ b/tests/kms_hdr.c
@@ -220,7 +220,7 @@ static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe)
 	igt_assert(data->mode);
 
 	data->primary =
-		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
 					  IGT_PIPE_CRC_SOURCE_AUTO);
diff --git a/tests/kms_lease.c b/tests/kms_lease.c
index 4111a26b4c8b..6d45d041b5b4 100644
--- a/tests/kms_lease.c
+++ b/tests/kms_lease.c
@@ -909,7 +909,7 @@ static void invalid_create_leases(data_t *data)
 	igt_assert_eq(create_lease(data->master.fd, &mcl, NULL), -EINVAL);
 
 	/* sanity check */
-	object_ids[2] = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
+	object_ids[2] = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
 						DRM_PLANE_TYPE_PRIMARY)->drm_plane->plane_id;
 	mcl.object_count = 3;
 	igt_assert_eq(create_lease(data->master.fd, &mcl, NULL), 0);
@@ -1076,7 +1076,7 @@ static int _create_simple_lease(int master_fd, data_t *data, int expected_ret)
 
 	object_ids[0] = igt_crtc_for_pipe(&data->master.display, 0)->crtc_id;
 	object_ids[1] = data->master.display.outputs[0].id;
-	object_ids[2] = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
+	object_ids[2] = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
 						DRM_PLANE_TYPE_PRIMARY)->drm_plane->plane_id;
 	mcl.object_ids = (uint64_t) (uintptr_t) object_ids;
 	mcl.object_count = 3;
@@ -1164,12 +1164,12 @@ static void implicit_plane_lease(data_t *data)
 	struct drm_mode_create_lease mcl;
 	struct drm_mode_get_lease mgl;
 	int ret;
-	uint32_t cursor_id = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
+	uint32_t cursor_id = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
 						     DRM_PLANE_TYPE_CURSOR)->drm_plane->plane_id;
 
 	object_ids[0] = igt_crtc_for_pipe(&data->master.display, 0)->crtc_id;
 	object_ids[1] = data->master.display.outputs[0].id;
-	object_ids[2] = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
+	object_ids[2] = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
 						DRM_PLANE_TYPE_PRIMARY)->drm_plane->plane_id;
 	mcl.object_ids = (uint64_t) (uintptr_t) object_ids;
 	mcl.object_count = 3;
@@ -1302,7 +1302,7 @@ int igt_main()
 										 data.pipe)->crtc_id;
 						data.connector_id = output->id;
 						data.plane_id =
-							igt_pipe_get_plane_type(igt_crtc_for_pipe(&data.master.display, data.pipe),
+							igt_crtc_get_plane_type(igt_crtc_for_pipe(&data.master.display, data.pipe),
 										DRM_PLANE_TYPE_PRIMARY)->drm_plane->plane_id;
 						f->func(&data);
 					}
diff --git a/tests/kms_multipipe_modeset.c b/tests/kms_multipipe_modeset.c
index 663e95db81b3..cfab18cc65c5 100644
--- a/tests/kms_multipipe_modeset.c
+++ b/tests/kms_multipipe_modeset.c
@@ -76,7 +76,7 @@ static void run_test(data_t *data, int valid_outputs)
 	/* Collect reference CRC by Committing individually on all outputs*/
 	for_each_connected_output(display, output) {
 		pipe = igt_crtc_for_pipe(display, i);
-		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 
 		mode = NULL;
 
@@ -102,7 +102,7 @@ static void run_test(data_t *data, int valid_outputs)
 	/* Simultaneously commit on all outputs */
 	for_each_connected_output(display, output) {
 		pipe = igt_crtc_for_pipe(display, i);
-		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 
 		mode = NULL;
 
diff --git a/tests/kms_plane_alpha_blend.c b/tests/kms_plane_alpha_blend.c
index cfb67861086a..a7070ac62169 100644
--- a/tests/kms_plane_alpha_blend.c
+++ b/tests/kms_plane_alpha_blend.c
@@ -214,7 +214,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe)
 	drmModeModeInfo *mode;
 	igt_display_t *display = &data->display;
 	int w, h;
-	igt_plane_t *primary = igt_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe),
+	igt_plane_t *primary = igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe),
 						       DRM_PLANE_TYPE_PRIMARY);
 
 	/* create the pipe_crc object for this pipe */
@@ -388,7 +388,7 @@ static void constant_alpha_mid(data_t *data, enum pipe pipe, igt_plane_t *plane)
 	igt_crc_t ref_crc, crc;
 
 	if (plane->type != DRM_PLANE_TYPE_PRIMARY)
-		igt_plane_set_fb(igt_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
+		igt_plane_set_fb(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
 				 &data->gray_fb);
 
 	igt_plane_set_prop_enum(plane, IGT_PLANE_PIXEL_BLEND_MODE, "None");
@@ -414,7 +414,7 @@ static void constant_alpha_max(data_t *data, enum pipe pipe, igt_plane_t *plane)
 	igt_crc_t ref_crc, crc;
 
 	if (plane->type != DRM_PLANE_TYPE_PRIMARY)
-		igt_plane_set_fb(igt_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
+		igt_plane_set_fb(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
 				 &data->gray_fb);
 
 	igt_plane_set_fb(plane, &data->argb_fb_100);
@@ -445,7 +445,7 @@ static void alpha_7efc(data_t *data, enum pipe pipe, igt_plane_t *plane)
 	igt_crc_t ref_crc = {}, crc = {};
 
 	if (plane->type != DRM_PLANE_TYPE_PRIMARY)
-		igt_plane_set_fb(igt_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
+		igt_plane_set_fb(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
 				 &data->gray_fb);
 
 	igt_display_commit2(display, COMMIT_ATOMIC);
@@ -500,7 +500,7 @@ static void coverage_premult_constant(data_t *data, enum pipe pipe, igt_plane_t
 
 	/* Set a background color on the primary fb for testing */
 	if (plane->type != DRM_PLANE_TYPE_PRIMARY)
-		igt_plane_set_fb(igt_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
+		igt_plane_set_fb(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
 				 &data->gray_fb);
 
 	igt_require(igt_plane_try_prop_enum(plane, IGT_PLANE_PIXEL_BLEND_MODE, "Coverage"));
diff --git a/tests/kms_plane_cursor.c b/tests/kms_plane_cursor.c
index fcb7cea06c9e..9e2d59b80765 100644
--- a/tests/kms_plane_cursor.c
+++ b/tests/kms_plane_cursor.c
@@ -99,10 +99,10 @@ static void test_init(data_t *data, enum pipe pipe_id, igt_output_t *output,
 
 	data->mode = igt_output_get_mode(data->output);
 
-	data->primary = igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+	data->primary = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 	if (flags & TEST_OVERLAY)
-		data->overlay = igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_OVERLAY);
-	data->cursor = igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_CURSOR);
+		data->overlay = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_OVERLAY);
+	data->cursor = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_CURSOR);
 
 	igt_info("Using (pipe %s + %s) to run the subtest.\n",
 		 kmstest_pipe_name(data->pipe_id), igt_output_name(data->output));
@@ -328,7 +328,7 @@ int igt_main()
 		igt_subtest_with_dynamic_f("%s", tests[i].name) {
 			for_each_pipe_with_single_output(&data.display, pipe, output) {
 				if ((tests[i].flags & TEST_OVERLAY) &&
-				    !igt_pipe_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
+				    !igt_crtc_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
 							     DRM_PLANE_TYPE_OVERLAY))
 					continue;
 
diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 3ba709dd2cd0..32bb120cdfdd 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -1029,11 +1029,11 @@ test_invalid_num_scalers(data_t *d, enum pipe pipe, igt_output_t *output)
 	width = height = 20;
 	mode = igt_output_get_mode(output);
 
-	plane[0] = igt_pipe_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 0);
+	plane[0] = igt_crtc_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 0);
 	igt_require(plane[0]);
-	plane[1] = igt_pipe_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 1);
+	plane[1] = igt_crtc_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 1);
 	igt_require(plane[1]);
-	plane[2] = igt_pipe_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 2);
+	plane[2] = igt_crtc_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 2);
 	igt_require(plane[2]);
 
 	igt_create_fb(display->drm_fd,
diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c
index 774d011a0531..d4e0b519bbc4 100644
--- a/tests/kms_rmfb.c
+++ b/tests/kms_rmfb.c
@@ -147,7 +147,7 @@ test_rmfb(struct rmfb_data *data, igt_output_t *output, enum pipe pipe, bool reo
 		drmSetClientCap(data->drm_fd, DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1);
 		drmSetClientCap(data->drm_fd, DRM_CLIENT_CAP_ATOMIC, 1);
 
-		igt_pipe_refresh(igt_crtc_for_pipe(&data->display, pipe),
+		igt_crtc_refresh(igt_crtc_for_pipe(&data->display, pipe),
 				 true);
 	} else {
 		igt_remove_fb(data->drm_fd, &fb);
diff --git a/tools/amd_hdmi_compliance.c b/tools/amd_hdmi_compliance.c
index 6becc646d20a..e8eeaf95c64c 100644
--- a/tools/amd_hdmi_compliance.c
+++ b/tools/amd_hdmi_compliance.c
@@ -407,7 +407,7 @@ static void test_init(data_t *data, int conn_id)
 	igt_require_f(data->output, "No valid connectors found\n");
 
 	data->primary =
-		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
+		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	igt_output_set_crtc(data->output,
 			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH i-g-t 06/12] lib/kms: Eliminate some redundant igt_crtc_for_pipe()s
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
                   ` (4 preceding siblings ...)
  2026-01-20 17:16 ` [PATCH i-g-t 05/12] lib/kms: Rename a bunch of crtc functions Ville Syrjala
@ 2026-01-20 17:16 ` Ville Syrjala
  2026-01-21  9:45   ` Jani Nikula
  2026-01-20 17:16 ` [PATCH i-g-t 07/12] lib/crc: Convert igt_pipe_crc away from enum pipe Ville Syrjala
                   ` (9 subsequent siblings)
  15 siblings, 1 reply; 32+ messages in thread
From: Ville Syrjala @ 2026-01-20 17:16 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

A bunch of places already have the igt_crtc_t around
in some variable. Use it instead of repeating the
igt_crtc_for_pipe().

Done with cocci:
 #include "scripts/iterators.cocci"

@@
expression CRTC, DISPLAY, DISPLAY2, PIPE;
@@
{
...
CRTC = igt_crtc_for_pipe(DISPLAY, PIPE)
<+...
- igt_crtc_for_pipe(DISPLAY2, PIPE)
+ CRTC
...+>
}

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/amdgpu/amd_abm.c                  | 2 +-
 tests/amdgpu/amd_bypass.c               | 2 +-
 tests/amdgpu/amd_color.c                | 2 +-
 tests/amdgpu/amd_ilr.c                  | 2 +-
 tests/amdgpu/amd_link_settings.c        | 2 +-
 tests/amdgpu/amd_mall.c                 | 2 +-
 tests/amdgpu/amd_max_bpc.c              | 2 +-
 tests/amdgpu/amd_mem_leak.c             | 2 +-
 tests/amdgpu/amd_multidisplay_modeset.c | 2 +-
 tests/amdgpu/amd_odm.c                  | 2 +-
 tests/amdgpu/amd_psr.c                  | 2 +-
 tests/amdgpu/amd_replay.c               | 2 +-
 tests/intel/gem_pxp.c                   | 2 +-
 tests/intel/kms_sharpness_filter.c      | 2 +-
 tests/intel/xe_pxp.c                    | 4 ++--
 tests/kms_atomic_transition.c           | 4 ++--
 tests/kms_hdr.c                         | 2 +-
 tests/kms_multipipe_modeset.c           | 4 ++--
 tools/amd_hdmi_compliance.c             | 2 +-
 19 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/tests/amdgpu/amd_abm.c b/tests/amdgpu/amd_abm.c
index 0048304baf9c..ab52c83e8f9c 100644
--- a/tests/amdgpu/amd_abm.c
+++ b/tests/amdgpu/amd_abm.c
@@ -147,7 +147,7 @@ static void test_init(data_t *data)
 		 igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	igt_output_set_crtc(data->output,
-			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
+			    data->pipe);
 
 	data->w = data->mode->hdisplay;
 	data->h = data->mode->vdisplay;
diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
index 359387859d08..626c4bf36c13 100644
--- a/tests/amdgpu/amd_bypass.c
+++ b/tests/amdgpu/amd_bypass.c
@@ -93,7 +93,7 @@ static void test_init(data_t *data)
 					  AMDGPU_PIPE_CRC_SOURCE_DPRX);
 
 	igt_output_set_crtc(data->output,
-			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
+			    data->pipe);
 
 	data->width = data->mode->hdisplay;
 	data->height = data->mode->vdisplay;
diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
index d1e164673560..28622d8e16ed 100644
--- a/tests/amdgpu/amd_color.c
+++ b/tests/amdgpu/amd_color.c
@@ -197,7 +197,7 @@ static void test_init(data_t *data)
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_output_set_crtc(data->output,
-			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
+			    data->pipe);
 
 	data->w = data->mode->hdisplay;
 	data->h = data->mode->vdisplay;
diff --git a/tests/amdgpu/amd_ilr.c b/tests/amdgpu/amd_ilr.c
index f1db9649c4e8..70254bdc1288 100644
--- a/tests/amdgpu/amd_ilr.c
+++ b/tests/amdgpu/amd_ilr.c
@@ -104,7 +104,7 @@ static void test_init(data_t *data, igt_output_t *output)
 					  AMDGPU_PIPE_CRC_SOURCE_DPRX);
 
 	igt_output_set_crtc(output,
-			    igt_crtc_for_pipe(output->display, data->pipe_id));
+			    data->pipe);
 
 	data->primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
 }
diff --git a/tests/amdgpu/amd_link_settings.c b/tests/amdgpu/amd_link_settings.c
index d042eb58d656..83d53ee54250 100644
--- a/tests/amdgpu/amd_link_settings.c
+++ b/tests/amdgpu/amd_link_settings.c
@@ -103,7 +103,7 @@ static void test_init(data_t *data, igt_output_t *output)
 	data->pipe = igt_crtc_for_pipe(&data->display, data->pipe_id);
 
 	igt_output_set_crtc(output,
-			    igt_crtc_for_pipe(output->display, data->pipe_id));
+			    data->pipe);
 
 	data->primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
 }
diff --git a/tests/amdgpu/amd_mall.c b/tests/amdgpu/amd_mall.c
index 1673bfd8531f..baa475ed0fbf 100644
--- a/tests/amdgpu/amd_mall.c
+++ b/tests/amdgpu/amd_mall.c
@@ -89,7 +89,7 @@ static void test_init(data_t *data)
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_output_set_crtc(data->output,
-			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
+			    data->pipe);
 
 	data->w = data->mode->hdisplay;
 	data->h = data->mode->vdisplay;
diff --git a/tests/amdgpu/amd_max_bpc.c b/tests/amdgpu/amd_max_bpc.c
index b5e3f7aa40cf..b25cc80f3817 100644
--- a/tests/amdgpu/amd_max_bpc.c
+++ b/tests/amdgpu/amd_max_bpc.c
@@ -86,7 +86,7 @@ static void test_init(data_t *data)
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_output_set_crtc(data->output,
-			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
+			    data->pipe);
 
 	data->w = data->mode->hdisplay;
 	data->h = data->mode->vdisplay;
diff --git a/tests/amdgpu/amd_mem_leak.c b/tests/amdgpu/amd_mem_leak.c
index e6321c215d4e..2897e6d82b12 100644
--- a/tests/amdgpu/amd_mem_leak.c
+++ b/tests/amdgpu/amd_mem_leak.c
@@ -68,7 +68,7 @@ static void test_init(data_t *data)
 		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	igt_output_set_crtc(data->output,
-			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
+			    data->pipe);
 
 	data->w = data->mode->hdisplay;
 	data->h = data->mode->vdisplay;
diff --git a/tests/amdgpu/amd_multidisplay_modeset.c b/tests/amdgpu/amd_multidisplay_modeset.c
index e2200be2dbb3..2af063a9937b 100644
--- a/tests/amdgpu/amd_multidisplay_modeset.c
+++ b/tests/amdgpu/amd_multidisplay_modeset.c
@@ -161,7 +161,7 @@ static void test_init(struct data_t *data)
 		 */
 		output = igt_get_single_output_for_pipe(display, i);
 		pipes = igt_crtc_for_pipe(display, i);
-		data->primary[i] = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->display, i),
+		data->primary[i] = igt_crtc_get_plane_type(pipes,
 							   DRM_PLANE_TYPE_PRIMARY);
 		data->output[i] = output;
 
diff --git a/tests/amdgpu/amd_odm.c b/tests/amdgpu/amd_odm.c
index c8c268b982e5..b6a09b65f14b 100644
--- a/tests/amdgpu/amd_odm.c
+++ b/tests/amdgpu/amd_odm.c
@@ -78,7 +78,7 @@ static void test_init(struct data *data)
 
 	data->primary = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 	igt_output_set_crtc(data->output,
-			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
+			    data->pipe);
 
 	igt_display_reset(display);
 }
diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c
index b98d43718251..af52f0e4ed54 100644
--- a/tests/amdgpu/amd_psr.c
+++ b/tests/amdgpu/amd_psr.c
@@ -197,7 +197,7 @@ static void test_init(data_t *data)
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_output_set_crtc(data->output,
-			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
+			    data->pipe);
 
 	data->w = data->mode->hdisplay;
 	data->h = data->mode->vdisplay;
diff --git a/tests/amdgpu/amd_replay.c b/tests/amdgpu/amd_replay.c
index 65707a3c384e..cd340fabc3a3 100644
--- a/tests/amdgpu/amd_replay.c
+++ b/tests/amdgpu/amd_replay.c
@@ -78,7 +78,7 @@ static void test_init(struct test_data *data)
 		 igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	igt_output_set_crtc(data->output,
-			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
+			    data->pipe);
 
 	data->w = data->mode->hdisplay;
 	data->h = data->mode->vdisplay;
diff --git a/tests/intel/gem_pxp.c b/tests/intel/gem_pxp.c
index 9015397c8a91..b45cfde0c1ac 100644
--- a/tests/intel/gem_pxp.c
+++ b/tests/intel/gem_pxp.c
@@ -1230,7 +1230,7 @@ static void test_display_protected_crc(int i915, igt_display_t *display)
 		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 		igt_require(igt_pipe_connector_valid(i, output));
 		igt_output_set_crtc(output,
-				    igt_crtc_for_pipe(output->display, i));
+				    pipe);
 
 		igt_plane_set_fb(plane, &ref_fb);
 		igt_fb_set_size(&ref_fb, plane, mode->hdisplay, mode->vdisplay);
diff --git a/tests/intel/kms_sharpness_filter.c b/tests/intel/kms_sharpness_filter.c
index 2f3044c7a9c7..45285818c895 100644
--- a/tests/intel/kms_sharpness_filter.c
+++ b/tests/intel/kms_sharpness_filter.c
@@ -446,7 +446,7 @@ run_sharpness_filter_test(data_t *data, enum test_type type)
 			}
 
 			igt_output_set_crtc(data->output,
-					    igt_crtc_for_pipe(data->output->display, data->pipe_id));
+					    data->pipe);
 
 			if (!intel_pipe_output_combo_valid(display)) {
 				igt_output_set_crtc(data->output, NULL);
diff --git a/tests/intel/xe_pxp.c b/tests/intel/xe_pxp.c
index 87c2c67394dd..2642109693d3 100644
--- a/tests/intel/xe_pxp.c
+++ b/tests/intel/xe_pxp.c
@@ -906,7 +906,7 @@ static void test_display_pxp_fb(int fd, igt_display_t *display)
 		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 		igt_require(igt_pipe_connector_valid(i, output));
 		igt_output_set_crtc(output,
-				    igt_crtc_for_pipe(output->display, i));
+				    pipe);
 
 		commit_fb(display, plane, &ref_fb, mode);
 
@@ -964,7 +964,7 @@ static void test_display_black_pxp_fb(int fd, igt_display_t *display)
 		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 		igt_require(igt_pipe_connector_valid(i, output));
 		igt_output_set_crtc(output,
-				    igt_crtc_for_pipe(output->display, i));
+				    pipe);
 
 		igt_plane_set_fb(plane, &ref_fb);
 		igt_fb_set_size(&ref_fb, plane, mode->hdisplay, mode->vdisplay);
diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index 883a90e04a1a..ca97edbc73e0 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -937,7 +937,7 @@ retry:
 				continue;
 
 			igt_output_set_crtc(output,
-					    igt_crtc_for_pipe(output->display, i));
+					    pipe);
 			if (intel_pipe_output_combo_valid(&data->display)) {
 				mode = igt_output_get_mode(output);
 
@@ -957,7 +957,7 @@ retry:
 			igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
 
 			if (fencing)
-				igt_crtc_request_out_fence(igt_crtc_for_pipe(&data->display, i));
+				igt_crtc_request_out_fence(pipe);
 		} else {
 			igt_plane_set_fb(plane, NULL);
 		}
diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c
index 8f05a4f40e64..6fb936955d62 100644
--- a/tests/kms_hdr.c
+++ b/tests/kms_hdr.c
@@ -226,7 +226,7 @@ static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe)
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_output_set_crtc(data->output,
-			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
+			    data->pipe);
 	igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC, 10);
 
 	data->w = data->mode->hdisplay;
diff --git a/tests/kms_multipipe_modeset.c b/tests/kms_multipipe_modeset.c
index cfab18cc65c5..27df48899d71 100644
--- a/tests/kms_multipipe_modeset.c
+++ b/tests/kms_multipipe_modeset.c
@@ -84,7 +84,7 @@ static void run_test(data_t *data, int valid_outputs)
 						IGT_PIPE_CRC_SOURCE_AUTO);
 
 		igt_output_set_crtc(output,
-				    igt_crtc_for_pipe(output->display, i));
+				    pipe);
 		mode = igt_output_get_mode(output);
 		igt_assert(mode);
 
@@ -107,7 +107,7 @@ static void run_test(data_t *data, int valid_outputs)
 		mode = NULL;
 
 		igt_output_set_crtc(output,
-				    igt_crtc_for_pipe(output->display, i));
+				    pipe);
 		mode = igt_output_get_mode(output);
 		igt_assert(mode);
 
diff --git a/tools/amd_hdmi_compliance.c b/tools/amd_hdmi_compliance.c
index e8eeaf95c64c..6f6f6979ad6b 100644
--- a/tools/amd_hdmi_compliance.c
+++ b/tools/amd_hdmi_compliance.c
@@ -410,7 +410,7 @@ static void test_init(data_t *data, int conn_id)
 		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
 	igt_output_set_crtc(data->output,
-			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
+			    data->pipe);
 
 	if (data->timeout_seconds > 0) {
 		struct sigaction sa;
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH i-g-t 07/12] lib/crc: Convert igt_pipe_crc away from enum pipe
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
                   ` (5 preceding siblings ...)
  2026-01-20 17:16 ` [PATCH i-g-t 06/12] lib/kms: Eliminate some redundant igt_crtc_for_pipe()s Ville Syrjala
@ 2026-01-20 17:16 ` Ville Syrjala
  2026-01-21  9:21   ` Jani Nikula
  2026-01-20 17:16 ` [PATCH i-g-t 08/12] lib/kms: Add igt_crtc_t based CRC wrappers Ville Syrjala
                   ` (8 subsequent siblings)
  15 siblings, 1 reply; 32+ messages in thread
From: Ville Syrjala @ 2026-01-20 17:16 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Use the correct crtc_index/crtc_offset rather than the
incorrect pipe for the pipe crc debugfs stuff. Currently
the two match 1:1 so no functional change, but if/when we
change the pipe<->crtc mapping this needs to be done correctly.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 lib/igt_pipe_crc.c | 32 ++++++++++++++++----------------
 lib/igt_pipe_crc.h |  6 ++----
 2 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/lib/igt_pipe_crc.c b/lib/igt_pipe_crc.c
index 866bf2881cbd..9a79edd51531 100644
--- a/lib/igt_pipe_crc.c
+++ b/lib/igt_pipe_crc.c
@@ -189,7 +189,7 @@ struct _igt_pipe_crc {
 	int crc_fd;
 	int flags;
 
-	enum pipe pipe;
+	int crtc_index;
 	char *source;
 };
 
@@ -215,7 +215,7 @@ void igt_require_pipe_crc(int fd)
 }
 
 static igt_pipe_crc_t *
-pipe_crc_new(int fd, enum pipe pipe, const char *source, int flags)
+pipe_crc_new(int fd, int crtc_index, const char *source, int flags)
 {
 	igt_pipe_crc_t *pipe_crc;
 	char buf[128];
@@ -235,14 +235,14 @@ pipe_crc_new(int fd, enum pipe pipe, const char *source, int flags)
 	pipe_crc = calloc(1, sizeof(struct _igt_pipe_crc));
 	igt_assert(pipe_crc);
 
-	sprintf(buf, "crtc-%d/crc/control", pipe);
+	sprintf(buf, "crtc-%d/crc/control", crtc_index);
 	pipe_crc->ctl_fd = openat(debugfs, buf, O_WRONLY);
 	igt_assert(pipe_crc->ctl_fd != -1);
 
 	pipe_crc->crc_fd = -1;
 	pipe_crc->fd = fd;
 	pipe_crc->dir = debugfs;
-	pipe_crc->pipe = pipe;
+	pipe_crc->crtc_index = crtc_index;
 	pipe_crc->source = strdup(env_source);
 	igt_assert(pipe_crc->source);
 	pipe_crc->flags = flags;
@@ -253,39 +253,39 @@ pipe_crc_new(int fd, enum pipe pipe, const char *source, int flags)
 /**
  * igt_pipe_crc_new:
  * @fd: fd of the device
- * @pipe: display pipe to use as source
+ * @crtc_index: CRTC to use as source
  * @source: CRC tap point to use as source
  *
- * This sets up a new pipe CRC capture object for the given @pipe and @source
+ * This sets up a new pipe CRC capture object for the given @crtc_index and @source
  * in blocking mode.
  *
- * Returns: A pipe CRC object for the given @pipe and @source. The library
+ * Returns: A pipe CRC object for the given @crtc_index and @source. The library
  * assumes that the source is always available since recent kernels support at
  * least IGT_PIPE_CRC_SOURCE_AUTO everywhere.
  */
 igt_pipe_crc_t *
-igt_pipe_crc_new(int fd, enum pipe pipe, const char *source)
+igt_pipe_crc_new(int fd, int crtc_index, const char *source)
 {
-	return pipe_crc_new(fd, pipe, source, O_RDONLY);
+	return pipe_crc_new(fd, crtc_index, source, O_RDONLY);
 }
 
 /**
  * igt_pipe_crc_new_nonblock:
  * @fd: fd of the device
- * @pipe: display pipe to use as source
+ * @crtc_index: CRTC to use as source
  * @source: CRC tap point to use as source
  *
- * This sets up a new pipe CRC capture object for the given @pipe and @source
+ * This sets up a new pipe CRC capture object for the given @crtc_index and @source
  * in nonblocking mode.
  *
- * Returns: A pipe CRC object for the given @pipe and @source. The library
+ * Returns: A pipe CRC object for the given @crtc_index and @source. The library
  * assumes that the source is always available since recent kernels support at
  * least IGT_PIPE_CRC_SOURCE_AUTO everywhere.
  */
 igt_pipe_crc_t *
-igt_pipe_crc_new_nonblock(int fd, enum pipe pipe, const char *source)
+igt_pipe_crc_new_nonblock(int fd, int crtc_index, const char *source)
 {
-	return pipe_crc_new(fd, pipe, source, O_RDONLY | O_NONBLOCK);
+	return pipe_crc_new(fd, crtc_index, source, O_RDONLY | O_NONBLOCK);
 }
 
 /**
@@ -380,7 +380,7 @@ void igt_pipe_crc_start(igt_pipe_crc_t *pipe_crc)
 
 	igt_assert_eq(write(pipe_crc->ctl_fd, src, strlen(src)), strlen(src));
 
-	sprintf(buf, "crtc-%d/crc/data", pipe_crc->pipe);
+	sprintf(buf, "crtc-%d/crc/data", pipe_crc->crtc_index);
 
 	igt_set_timeout(10, "Opening crc fd, and poll for first CRC.");
 	pipe_crc->crc_fd = openat(pipe_crc->dir, buf, pipe_crc->flags);
@@ -560,7 +560,7 @@ igt_pipe_crc_get_for_frame(int drm_fd, igt_pipe_crc_t *pipe_crc,
 void
 igt_pipe_crc_get_current(int drm_fd, igt_pipe_crc_t *pipe_crc, igt_crc_t *crc)
 {
-	unsigned vblank = kmstest_get_vblank(drm_fd, pipe_crc->pipe, 0) + 1;
+	unsigned vblank = kmstest_get_vblank(drm_fd, pipe_crc->crtc_index, 0) + 1;
 
 	return igt_pipe_crc_get_for_frame(drm_fd, pipe_crc, vblank, crc);
 }
diff --git a/lib/igt_pipe_crc.h b/lib/igt_pipe_crc.h
index 171f082300ec..f648b2c9231e 100644
--- a/lib/igt_pipe_crc.h
+++ b/lib/igt_pipe_crc.h
@@ -9,8 +9,6 @@
 #include <stdbool.h>
 #include <stdint.h>
 
-enum pipe;
-
 /**
  * igt_pipe_crc_t:
  *
@@ -48,9 +46,9 @@ char *igt_crc_to_string(igt_crc_t *crc);
 
 void igt_require_pipe_crc(int fd);
 igt_pipe_crc_t *
-igt_pipe_crc_new(int fd, enum pipe pipe, const char *source);
+igt_pipe_crc_new(int fd, int crtc_index, const char *source);
 igt_pipe_crc_t *
-igt_pipe_crc_new_nonblock(int fd, enum pipe pipe, const char *source);
+igt_pipe_crc_new_nonblock(int fd, int crtc_index, const char *source);
 void igt_pipe_crc_free(igt_pipe_crc_t *pipe_crc);
 void igt_pipe_crc_start(igt_pipe_crc_t *pipe_crc);
 void igt_pipe_crc_stop(igt_pipe_crc_t *pipe_crc);
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH i-g-t 08/12] lib/kms: Add igt_crtc_t based CRC wrappers
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
                   ` (6 preceding siblings ...)
  2026-01-20 17:16 ` [PATCH i-g-t 07/12] lib/crc: Convert igt_pipe_crc away from enum pipe Ville Syrjala
@ 2026-01-20 17:16 ` Ville Syrjala
  2026-01-21  9:33   ` Jani Nikula
  2026-01-20 17:16 ` [PATCH i-g-t 09/12] lib/kms: Use igt_crtc_crc_new() Ville Syrjala
                   ` (7 subsequent siblings)
  15 siblings, 1 reply; 32+ messages in thread
From: Ville Syrjala @ 2026-01-20 17:16 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Add wrappers for igt_pipe_crc_new*() that take igt_crtc_t rather
than the bare crtc index. Should help eliminate the pipe usage
from tests.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 lib/igt_kms.c | 14 ++++++++++++++
 lib/igt_kms.h |  4 ++++
 2 files changed, 18 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 74ad82d77dd3..901bbfab5934 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -59,6 +59,7 @@
 #include "intel_chipset.h"
 #include "igt_debugfs.h"
 #include "igt_device.h"
+#include "igt_pipe_crc.h"
 #include "igt_sysfs.h"
 #include "sw_sync.h"
 #ifdef HAVE_CHAMELIUM
@@ -5299,6 +5300,19 @@ int igt_output_preferred_vrefresh(igt_output_t *output)
 		return 60;
 }
 
+igt_pipe_crc_t *igt_crtc_crc_new(igt_crtc_t *crtc, const char *source)
+{
+	return igt_pipe_crc_new(crtc->display->drm_fd, crtc->crtc_offset,
+				source);
+}
+
+igt_pipe_crc_t *igt_crtc_crc_new_nonblock(igt_crtc_t *crtc, const char *source)
+{
+	return igt_pipe_crc_new_nonblock(crtc->display->drm_fd,
+					 crtc->crtc_offset,
+					 source);
+}
+
 static const char *igt_crtc_name(igt_crtc_t *crtc)
 {
 	if (crtc == NULL)
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 71a2f2c4d89c..b291673c2f7f 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -584,6 +584,10 @@ static inline igt_crtc_t *igt_crtc_for_pipe(igt_display_t *display, enum pipe pi
 	return &display->pipes[pipe];
 }
 
+typedef struct _igt_pipe_crc igt_pipe_crc_t;
+igt_pipe_crc_t *igt_crtc_crc_new(igt_crtc_t *crtc, const char *source);
+igt_pipe_crc_t *igt_crtc_crc_new_nonblock(igt_crtc_t *crtc, const char *source);
+
 const char *igt_output_name(igt_output_t *output);
 bool kmstest_mode_is_valid(const drmModeModeInfo *mode);
 drmModeModeInfo *igt_output_get_mode(igt_output_t *output);
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH i-g-t 09/12] lib/kms: Use igt_crtc_crc_new()
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
                   ` (7 preceding siblings ...)
  2026-01-20 17:16 ` [PATCH i-g-t 08/12] lib/kms: Add igt_crtc_t based CRC wrappers Ville Syrjala
@ 2026-01-20 17:16 ` Ville Syrjala
  2026-01-21  9:36   ` Jani Nikula
  2026-01-20 17:16 ` [PATCH i-g-t 10/12] lib/kms: Use igt_crtc_crc_new() more Ville Syrjala
                   ` (6 subsequent siblings)
  15 siblings, 1 reply; 32+ messages in thread
From: Ville Syrjala @ 2026-01-20 17:16 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Replace igt_pipe_crc_new*() with igt_crtc_crc_new*() in
the places that already have the igt_crtc_t around.

Done with cocci:
 #include "scripts/iterators.cocci"

@@
typedef igt_crtc_t;
igt_crtc_t *CRTC;
expression FD;
@@
(
- igt_pipe_crc_new(FD, CRTC->pipe
+ igt_crtc_crc_new(CRTC
	,...)
|
- igt_pipe_crc_new_nonblock(FD, CRTC->pipe
+ igt_crtc_crc_new_nonblock(CRTC
	,...)
)

@@
typedef igt_plane_t;
igt_plane_t *PLANE;
expression FD;
@@
(
- igt_pipe_crc_new(FD, PLANE->pipe->pipe
+ igt_crtc_crc_new(PLANE->pipe
	,...)
|
- igt_pipe_crc_new_nonblock(FD, PLANE->pipe->pipe
+ igt_crtc_crc_new_nonblock(PLANE->pipe
	,...)
)

@@
expression FD, CRTC, DISPLAY, PIPE;
@@
{
...
 CRTC = igt_crtc_for_pipe(DISPLAY, PIPE)
<+...
- igt_pipe_crc_new(FD, PIPE
+ igt_crtc_crc_new(CRTC
  ,...)
...+>
}

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/amdgpu/amd_bypass.c               | 2 +-
 tests/amdgpu/amd_color.c                | 2 +-
 tests/amdgpu/amd_dp_dsc.c               | 2 +-
 tests/amdgpu/amd_hotplug.c              | 2 +-
 tests/amdgpu/amd_ilr.c                  | 2 +-
 tests/amdgpu/amd_mall.c                 | 2 +-
 tests/amdgpu/amd_max_bpc.c              | 2 +-
 tests/amdgpu/amd_multidisplay_modeset.c | 9 ++++-----
 tests/amdgpu/amd_plane.c                | 2 +-
 tests/amdgpu/amd_psr.c                  | 2 +-
 tests/amdgpu/amd_subvp.c                | 3 +--
 tests/intel/gem_pxp.c                   | 2 +-
 tests/intel/xe_pxp.c                    | 2 +-
 tests/kms_atomic_transition.c           | 2 +-
 tests/kms_bw.c                          | 2 +-
 tests/kms_color.c                       | 3 +--
 tests/kms_color_pipeline.c              | 3 +--
 tests/kms_hdr.c                         | 2 +-
 tests/kms_multipipe_modeset.c           | 2 +-
 tests/kms_plane_cursor.c                | 2 +-
 20 files changed, 23 insertions(+), 27 deletions(-)

diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
index 626c4bf36c13..3924b84da736 100644
--- a/tests/amdgpu/amd_bypass.c
+++ b/tests/amdgpu/amd_bypass.c
@@ -89,7 +89,7 @@ static void test_init(data_t *data)
 	data->primary =
 		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe_id,
+	data->pipe_crc = igt_crtc_crc_new(data->pipe,
 					  AMDGPU_PIPE_CRC_SOURCE_DPRX);
 
 	igt_output_set_crtc(data->output,
diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
index 28622d8e16ed..df418bfbe7c1 100644
--- a/tests/amdgpu/amd_color.c
+++ b/tests/amdgpu/amd_color.c
@@ -193,7 +193,7 @@ static void test_init(data_t *data)
 	data->primary =
 		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
-	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
+	data->pipe_crc = igt_crtc_crc_new(data->pipe,
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_output_set_crtc(data->output,
diff --git a/tests/amdgpu/amd_dp_dsc.c b/tests/amdgpu/amd_dp_dsc.c
index 91298ba20cde..25ea4660c821 100644
--- a/tests/amdgpu/amd_dp_dsc.c
+++ b/tests/amdgpu/amd_dp_dsc.c
@@ -70,7 +70,7 @@ static void test_init(data_t *data)
 		data->primary[i] = igt_crtc_get_plane_type(
 				data->pipe[i], DRM_PLANE_TYPE_PRIMARY);
 		data->pipe_crc[i] =
-				igt_pipe_crc_new(data->fd, data->pipe_id[i],
+				igt_crtc_crc_new(data->pipe[i],
 						 IGT_PIPE_CRC_SOURCE_AUTO);
 	}
 
diff --git a/tests/amdgpu/amd_hotplug.c b/tests/amdgpu/amd_hotplug.c
index 774630696a61..82de393b6d32 100644
--- a/tests/amdgpu/amd_hotplug.c
+++ b/tests/amdgpu/amd_hotplug.c
@@ -64,7 +64,7 @@ static void test_init(data_t *data)
 		data->cursor[i] = igt_crtc_get_plane_type(
 			data->pipe[i], DRM_PLANE_TYPE_CURSOR);
 		data->pipe_crc[i] =
-			igt_pipe_crc_new(data->fd, data->pipe_id[i],
+			igt_crtc_crc_new(data->pipe[i],
 					 IGT_PIPE_CRC_SOURCE_AUTO);
 	}
 
diff --git a/tests/amdgpu/amd_ilr.c b/tests/amdgpu/amd_ilr.c
index 70254bdc1288..861110bcc7c3 100644
--- a/tests/amdgpu/amd_ilr.c
+++ b/tests/amdgpu/amd_ilr.c
@@ -100,7 +100,7 @@ static void test_init(data_t *data, igt_output_t *output)
 
 	data->pipe = igt_crtc_for_pipe(&data->display, data->pipe_id);
 
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe_id,
+	data->pipe_crc = igt_crtc_crc_new(data->pipe,
 					  AMDGPU_PIPE_CRC_SOURCE_DPRX);
 
 	igt_output_set_crtc(output,
diff --git a/tests/amdgpu/amd_mall.c b/tests/amdgpu/amd_mall.c
index baa475ed0fbf..2c5345907d24 100644
--- a/tests/amdgpu/amd_mall.c
+++ b/tests/amdgpu/amd_mall.c
@@ -85,7 +85,7 @@ static void test_init(data_t *data)
 	data->primary =
 		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
-	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
+	data->pipe_crc = igt_crtc_crc_new(data->pipe,
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_output_set_crtc(data->output,
diff --git a/tests/amdgpu/amd_max_bpc.c b/tests/amdgpu/amd_max_bpc.c
index b25cc80f3817..46be469d9e13 100644
--- a/tests/amdgpu/amd_max_bpc.c
+++ b/tests/amdgpu/amd_max_bpc.c
@@ -82,7 +82,7 @@ static void test_init(data_t *data)
 	data->primary =
 		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
-	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
+	data->pipe_crc = igt_crtc_crc_new(data->pipe,
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_output_set_crtc(data->output,
diff --git a/tests/amdgpu/amd_multidisplay_modeset.c b/tests/amdgpu/amd_multidisplay_modeset.c
index 2af063a9937b..0af235e77394 100644
--- a/tests/amdgpu/amd_multidisplay_modeset.c
+++ b/tests/amdgpu/amd_multidisplay_modeset.c
@@ -174,13 +174,12 @@ static void test_init(struct data_t *data)
 			ret = dpcd_read_byte(data->fd, output->config.connector,
 				DPCD_TEST_SINK_MISC, &dpcd_246h);
 			if (ret && ((dpcd_246h & 0x20) != 0x0))
-				data->pipe_crc_dprx[i] = igt_pipe_crc_new(
-					data->fd, pipes->pipe,
-					AMDGPU_PIPE_CRC_SOURCE_DPRX);
+				data->pipe_crc_dprx[i] = igt_crtc_crc_new(pipes,
+									  AMDGPU_PIPE_CRC_SOURCE_DPRX);
 		}
 
-		data->pipe_crc_otg[i] = igt_pipe_crc_new(data->fd, pipes->pipe,
-						IGT_PIPE_CRC_SOURCE_AUTO);
+		data->pipe_crc_otg[i] = igt_crtc_crc_new(pipes,
+							 IGT_PIPE_CRC_SOURCE_AUTO);
 		/* disable eDP PSR */
 		if (data->output[i]->config.connector->connector_type ==
 				DRM_MODE_CONNECTOR_eDP) {
diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c
index f56723d74485..369bce509a87 100644
--- a/tests/amdgpu/amd_plane.c
+++ b/tests/amdgpu/amd_plane.c
@@ -166,7 +166,7 @@ static void test_init(data_t *data)
 		data->cursor[i] = igt_crtc_get_plane_type(
 			data->pipe[i], DRM_PLANE_TYPE_CURSOR);
 		data->pipe_crc[i] =
-			igt_pipe_crc_new(data->fd, data->pipe_id[i],
+			igt_crtc_crc_new(data->pipe[i],
 					 IGT_PIPE_CRC_SOURCE_AUTO);
 	}
 
diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c
index af52f0e4ed54..9479e8cd3de4 100644
--- a/tests/amdgpu/amd_psr.c
+++ b/tests/amdgpu/amd_psr.c
@@ -193,7 +193,7 @@ static void test_init(data_t *data)
 	data->overlay =
 		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_OVERLAY);
 
-	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
+	data->pipe_crc = igt_crtc_crc_new(data->pipe,
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_output_set_crtc(data->output,
diff --git a/tests/amdgpu/amd_subvp.c b/tests/amdgpu/amd_subvp.c
index a4ee50a85f78..f6465ba35b50 100644
--- a/tests/amdgpu/amd_subvp.c
+++ b/tests/amdgpu/amd_subvp.c
@@ -69,8 +69,7 @@ static void test_init(struct data *data)
 						  data->pipe_id[i]);
 		data->primary[i] = igt_crtc_get_plane_type(data->pipe[i],
 							   DRM_PLANE_TYPE_PRIMARY);
-		data->pipe_crc[i] = igt_pipe_crc_new(data->fd,
-						     data->pipe_id[i],
+		data->pipe_crc[i] = igt_crtc_crc_new(data->pipe[i],
 						     IGT_PIPE_CRC_SOURCE_AUTO);
 	}
 
diff --git a/tests/intel/gem_pxp.c b/tests/intel/gem_pxp.c
index b45cfde0c1ac..d41a07b4c012 100644
--- a/tests/intel/gem_pxp.c
+++ b/tests/intel/gem_pxp.c
@@ -1245,7 +1245,7 @@ static void test_display_protected_crc(int i915, igt_display_t *display)
 	for_each_connected_output(display, output) {
 		mode = igt_output_get_mode(output);
 		pipe = igt_crtc_for_pipe(display, output->pending_pipe);
-		pipe_crc = igt_pipe_crc_new(i915, pipe->pipe,
+		pipe_crc = igt_crtc_crc_new(pipe,
 					    IGT_PIPE_CRC_SOURCE_AUTO);
 		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 		igt_require(igt_pipe_connector_valid(pipe->pipe, output));
diff --git a/tests/intel/xe_pxp.c b/tests/intel/xe_pxp.c
index 2642109693d3..6aadf691a3ae 100644
--- a/tests/intel/xe_pxp.c
+++ b/tests/intel/xe_pxp.c
@@ -846,7 +846,7 @@ static void compare_crcs(int fd, igt_display_t *display, igt_fb_t *ref_fb, igt_f
 	for_each_connected_output(display, output) {
 		mode = igt_output_get_mode(output);
 		pipe = igt_crtc_for_pipe(display, output->pending_pipe);
-		pipe_crc = igt_pipe_crc_new(fd, pipe->pipe,
+		pipe_crc = igt_crtc_crc_new(pipe,
 					    IGT_PIPE_CRC_SOURCE_AUTO);
 		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 		igt_require(igt_pipe_connector_valid(pipe->pipe, output));
diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index ca97edbc73e0..60f743c6c614 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -929,7 +929,7 @@ retry:
 		j += 1;
 
 		if (is_intel_device(data->drm_fd))
-			data->pipe_crcs[i] = igt_pipe_crc_new(data->drm_fd, i,
+			data->pipe_crcs[i] = igt_crtc_crc_new(pipe,
 							      IGT_PIPE_CRC_SOURCE_AUTO);
 
 		for_each_valid_output_on_pipe(&data->display, i, output) {
diff --git a/tests/kms_bw.c b/tests/kms_bw.c
index 13c8e3bec2b9..13e2bdfba266 100644
--- a/tests/kms_bw.c
+++ b/tests/kms_bw.c
@@ -130,7 +130,7 @@ static void test_init(data_t *data, bool physical)
 		data->primary[i] = igt_crtc_get_plane_type(
 			data->pipe[i], DRM_PLANE_TYPE_PRIMARY);
 		data->pipe_crc[i] =
-			igt_pipe_crc_new(data->fd, data->pipe_id[i],
+			igt_crtc_crc_new(data->pipe[i],
 					 IGT_PIPE_CRC_SOURCE_AUTO);
 	}
 
diff --git a/tests/kms_color.c b/tests/kms_color.c
index 529fa33ab000..baa629a84b42 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -740,8 +740,7 @@ static void test_setup(data_t *data, enum pipe p)
 	igt_require(pipe->n_planes >= 0);
 
 	data->primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd,
-					  data->primary->pipe->pipe,
+	data->pipe_crc = igt_crtc_crc_new(data->primary->pipe,
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_display_reset(&data->display);
diff --git a/tests/kms_color_pipeline.c b/tests/kms_color_pipeline.c
index e1b7c50e6d5f..e360f77af45e 100644
--- a/tests/kms_color_pipeline.c
+++ b/tests/kms_color_pipeline.c
@@ -62,8 +62,7 @@ static void test_setup(data_t *data, enum pipe p)
 	data->mode = igt_output_get_mode(data->output);
 	igt_require(data->mode);
 
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd,
-					  data->primary->pipe->pipe,
+	data->pipe_crc = igt_crtc_crc_new(data->primary->pipe,
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_display_commit2(&data->display, COMMIT_ATOMIC);
diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c
index 6fb936955d62..f4c88bc04ab7 100644
--- a/tests/kms_hdr.c
+++ b/tests/kms_hdr.c
@@ -222,7 +222,7 @@ static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe)
 	data->primary =
 		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
 
-	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
+	data->pipe_crc = igt_crtc_crc_new(data->pipe,
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_output_set_crtc(data->output,
diff --git a/tests/kms_multipipe_modeset.c b/tests/kms_multipipe_modeset.c
index 27df48899d71..8270f6e12ec5 100644
--- a/tests/kms_multipipe_modeset.c
+++ b/tests/kms_multipipe_modeset.c
@@ -80,7 +80,7 @@ static void run_test(data_t *data, int valid_outputs)
 
 		mode = NULL;
 
-		pipe_crcs[i] = igt_pipe_crc_new(display->drm_fd, i,
+		pipe_crcs[i] = igt_crtc_crc_new(pipe,
 						IGT_PIPE_CRC_SOURCE_AUTO);
 
 		igt_output_set_crtc(output,
diff --git a/tests/kms_plane_cursor.c b/tests/kms_plane_cursor.c
index 9e2d59b80765..23febe05a473 100644
--- a/tests/kms_plane_cursor.c
+++ b/tests/kms_plane_cursor.c
@@ -108,7 +108,7 @@ static void test_init(data_t *data, enum pipe pipe_id, igt_output_t *output,
 		 kmstest_pipe_name(data->pipe_id), igt_output_name(data->output));
 
 	igt_require_pipe_crc(data->drm_fd);
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe_id,
+	data->pipe_crc = igt_crtc_crc_new(data->pipe,
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	/* Overlay rectangle for a rect in the center of the screen */
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH i-g-t 10/12] lib/kms: Use igt_crtc_crc_new() more
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
                   ` (8 preceding siblings ...)
  2026-01-20 17:16 ` [PATCH i-g-t 09/12] lib/kms: Use igt_crtc_crc_new() Ville Syrjala
@ 2026-01-20 17:16 ` Ville Syrjala
  2026-01-21  9:38   ` Jani Nikula
  2026-01-20 17:16 ` [PATCH i-g-t 11/12] lib/kms: Use igt_crtc_crc_new_nonblock() more Ville Syrjala
                   ` (5 subsequent siblings)
  15 siblings, 1 reply; 32+ messages in thread
From: Ville Syrjala @ 2026-01-20 17:16 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Switch over to igt_crtc_crc_new() from igt_pipe_crc_new()
even for the places that don't have a igt_crtc_t around.
This make it more obvious where we need to modify the
tests when fully switching over from pipe to igt_crc_t.

Done with cocci:
 #include "scripts/iterators.cocci"

@find_data@
iterator name pipe_test;
type T;
T DATA;
identifier FD;
identifier DISPLAY;
@@
igt_display_require(&DATA.DISPLAY, DATA.FD);

@depends on find_data@
find_data.T *DATA;
identifier find_data.FD;
identifier find_data.DISPLAY;
expression PIPE;
@@
- igt_pipe_crc_new(DATA->FD, PIPE
+ igt_crtc_crc_new(igt_crtc_for_pipe(&DATA->DISPLAY, PIPE)
	,...)

@local_fd depends on find_data@
find_data.T *DATA;
identifier find_data.FD, FD2;
identifier find_data.DISPLAY;
expression PIPE;
@@
int FD2 = DATA->FD;
<...
- igt_pipe_crc_new(FD2, PIPE
+ igt_crtc_crc_new(igt_crtc_for_pipe(&DATA->DISPLAY, PIPE)
	,...)
...>

@depends on local_fd@
find_data.T *DATA;
identifier find_data.FD;
identifier FD2;
@@
- int FD2 = DATA->FD;
... when != FD2

@depends on find_data@
typedef igt_display_t;
identifier DISPLAY, find_data.FD;
expression PIPE, E;
find_data.T *DATA;
@@
 igt_display_t *DISPLAY = E;
<...
- igt_pipe_crc_new(DATA->FD, PIPE
+ igt_crtc_crc_new(igt_crtc_for_pipe(DISPLAY, PIPE)
	,...)
...>

@depends on find_data@
identifier find_data.DISPLAY, find_data.FD;
expression PIPE;
find_data.T find_data.DATA;
@@
- igt_pipe_crc_new(DATA.FD, PIPE
+ igt_crtc_crc_new(igt_crtc_for_pipe(&DATA.DISPLAY, PIPE)
	,...)

@@
igt_display_t *DISPLAY;
expression PIPE;
@@
- igt_pipe_crc_new(DISPLAY->drm_fd, PIPE
+ igt_crtc_crc_new(igt_crtc_for_pipe(DISPLAY, PIPE)
	,...)

@@
expression DISPLAY, PIPE;
@@
igt_crtc_crc_new(...)
{
<...
- igt_crtc_crc_new(igt_crtc_for_pipe(DISPLAY, PIPE)
+ igt_pipe_crc_new(DISPLAY->drm_fd, PIPE
	,...)
...>
}

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/amdgpu/amd_cursor_overlay.c      |  2 +-
 tests/intel/kms_big_fb.c               |  4 ++--
 tests/intel/kms_ccs.c                  |  2 +-
 tests/intel/kms_dirtyfb.c              |  4 ++--
 tests/intel/kms_fb_coherency.c         |  2 +-
 tests/intel/kms_fbc_dirty_rect.c       |  2 +-
 tests/intel/kms_flip_scaled_crc.c      |  2 +-
 tests/intel/kms_flip_tiling.c          |  2 +-
 tests/intel/kms_frontbuffer_tracking.c |  2 +-
 tests/intel/kms_mmap_write_crc.c       |  2 +-
 tests/intel/kms_pipe_stress.c          |  2 +-
 tests/intel/kms_pwrite_crc.c           |  2 +-
 tests/intel/kms_sharpness_filter.c     |  2 +-
 tests/kms_async_flips.c                |  3 +--
 tests/kms_atomic.c                     |  2 +-
 tests/kms_cursor_crc.c                 |  2 +-
 tests/kms_cursor_legacy.c              |  4 ++--
 tests/kms_display_modes.c              |  6 ++++--
 tests/kms_pipe_crc_basic.c             |  6 +++---
 tests/kms_plane.c                      |  6 +++---
 tests/kms_plane_alpha_blend.c          |  2 +-
 tests/kms_plane_lowres.c               |  2 +-
 tests/kms_plane_multiple.c             |  8 ++++----
 tests/kms_rotation_crc.c               |  4 ++--
 tests/kms_universal_plane.c            |  2 +-
 tests/nouveau_crc.c                    | 16 +++++++++-------
 26 files changed, 48 insertions(+), 45 deletions(-)

diff --git a/tests/amdgpu/amd_cursor_overlay.c b/tests/amdgpu/amd_cursor_overlay.c
index dff03cb9aa52..e500d9e34066 100644
--- a/tests/amdgpu/amd_cursor_overlay.c
+++ b/tests/amdgpu/amd_cursor_overlay.c
@@ -157,7 +157,7 @@ static void test_init(data_t *data, enum pipe pipe_id, igt_output_t *output,
 		 kmstest_pipe_name(data->pipe_id), igt_output_name(data->output));
 
 	igt_require_pipe_crc(data->drm_fd);
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe_id,
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe_id),
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 }
 
diff --git a/tests/intel/kms_big_fb.c b/tests/intel/kms_big_fb.c
index 4c83398400ba..f6de287f57f2 100644
--- a/tests/intel/kms_big_fb.c
+++ b/tests/intel/kms_big_fb.c
@@ -566,7 +566,7 @@ static bool test_pipe(data_t *data)
 	igt_display_commit2(&data->display, data->display.is_atomic ?
 			    COMMIT_ATOMIC : COMMIT_UNIVERSAL);
 
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	for_each_plane_on_pipe(&data->display, data->pipe, data->plane) {
@@ -632,7 +632,7 @@ max_hw_stride_async_flip_test(data_t *data)
 		 data->hw_stride);
 	generate_pattern(data, &data->big_fb_flip[1], 640, 480);
 
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 	igt_pipe_crc_start(data->pipe_crc);
 
diff --git a/tests/intel/kms_ccs.c b/tests/intel/kms_ccs.c
index 6512e206f047..ea23b6581b06 100644
--- a/tests/intel/kms_ccs.c
+++ b/tests/intel/kms_ccs.c
@@ -1052,7 +1052,7 @@ static int test_ccs(data_t *data)
 		 IGT_FORMAT_ARGS(data->format), IGT_MODIFIER_ARGS(data->ccs_modifier));
 
 	if (data->flags & TEST_CRC) {
-		data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
+		data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
 						  IGT_PIPE_CRC_SOURCE_AUTO);
 
 		if (try_config(data, fb_flags | FB_COMPRESSED, &ref_crc) &&
diff --git a/tests/intel/kms_dirtyfb.c b/tests/intel/kms_dirtyfb.c
index 5697afb2b3e1..407338affd6b 100644
--- a/tests/intel/kms_dirtyfb.c
+++ b/tests/intel/kms_dirtyfb.c
@@ -232,8 +232,8 @@ static void prepare(data_t *data)
 	igt_output_set_crtc(data->output,
 			    igt_crtc_for_pipe(data->output->display, data->pipe));
 
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
-					 IGT_PIPE_CRC_SOURCE_AUTO);
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
+					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_create_color_fb(data->drm_fd, data->mode->hdisplay,
 			    data->mode->vdisplay, DRM_FORMAT_XRGB8888,
diff --git a/tests/intel/kms_fb_coherency.c b/tests/intel/kms_fb_coherency.c
index ca915bc16c4d..e6d043c114d5 100644
--- a/tests/intel/kms_fb_coherency.c
+++ b/tests/intel/kms_fb_coherency.c
@@ -65,7 +65,7 @@ static void prepare_crtc(data_t *data)
 	if (data->pipe_crc)
 		igt_pipe_crc_free(data->pipe_crc);
 
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	/* get reference crc for the white fb */
diff --git a/tests/intel/kms_fbc_dirty_rect.c b/tests/intel/kms_fbc_dirty_rect.c
index e063493ef4f4..c43acb7e9cb5 100644
--- a/tests/intel/kms_fbc_dirty_rect.c
+++ b/tests/intel/kms_fbc_dirty_rect.c
@@ -409,7 +409,7 @@ static bool prepare_test(data_t *data)
 	data->mode = igt_output_get_mode(data->output);
 	igt_output_set_crtc(data->output,
 			    igt_crtc_for_pipe(data->output->display, data->pipe));
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_require_f(intel_fbc_supported_on_chipset(data->drm_fd, data->pipe),
diff --git a/tests/intel/kms_flip_scaled_crc.c b/tests/intel/kms_flip_scaled_crc.c
index 3f8cd0bd642a..c2b1c0700499 100644
--- a/tests/intel/kms_flip_scaled_crc.c
+++ b/tests/intel/kms_flip_scaled_crc.c
@@ -783,7 +783,7 @@ static void test_flip_to_scaled(data_t *data, uint32_t index,
 		igt_pipe_crc_stop(data->pipe_crc);
 		igt_pipe_crc_free(data->pipe_crc);
 	}
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_plane_set_position(primary, 0, 0);
diff --git a/tests/intel/kms_flip_tiling.c b/tests/intel/kms_flip_tiling.c
index e7ada7740cd2..269bb0e24d0a 100644
--- a/tests/intel/kms_flip_tiling.c
+++ b/tests/intel/kms_flip_tiling.c
@@ -72,7 +72,7 @@ static void pipe_crc_new(data_t *data, int pipe)
 	if (data->pipe_crc)
 		return;
 
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 	igt_assert(data->pipe_crc);
 	igt_pipe_crc_start(data->pipe_crc);
diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c
index e8c8e342f5dc..7dd52f982d96 100644
--- a/tests/intel/kms_frontbuffer_tracking.c
+++ b/tests/intel/kms_frontbuffer_tracking.c
@@ -1987,7 +1987,7 @@ static void init_blue_crc(enum pixel_format format, enum tiling_type tiling)
 	igt_display_commit(&drm.display);
 
 	if (!pipe_crc) {
-		pipe_crc = igt_pipe_crc_new(drm.fd, prim_mode_params.pipe,
+		pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&drm.display, prim_mode_params.pipe),
 					    IGT_PIPE_CRC_SOURCE_AUTO);
 		igt_assert(pipe_crc);
 	}
diff --git a/tests/intel/kms_mmap_write_crc.c b/tests/intel/kms_mmap_write_crc.c
index 587fe715bd47..453bcd0198a7 100644
--- a/tests/intel/kms_mmap_write_crc.c
+++ b/tests/intel/kms_mmap_write_crc.c
@@ -206,7 +206,7 @@ static void prepare_crtc(data_t *data)
 	if (data->pipe_crc)
 		igt_pipe_crc_free(data->pipe_crc);
 
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	/* get reference crc for the white fb */
diff --git a/tests/intel/kms_pipe_stress.c b/tests/intel/kms_pipe_stress.c
index 33ccac9fcee3..85bff58d6587 100644
--- a/tests/intel/kms_pipe_stress.c
+++ b/tests/intel/kms_pipe_stress.c
@@ -807,7 +807,7 @@ static void prepare_test(struct data *data)
 		if (data->highest_mode[i]) {
 			igt_info("Using mode: \n");
 			kmstest_dump_mode(data->highest_mode[i]);
-			data->pipe_crc[i] = igt_pipe_crc_new(data->drm_fd, i,
+			data->pipe_crc[i] = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, i),
 							     IGT_PIPE_CRC_SOURCE_AUTO);
 		} else
 			data->pipe_crc[i] = NULL;
diff --git a/tests/intel/kms_pwrite_crc.c b/tests/intel/kms_pwrite_crc.c
index d1cd9674381c..64c167ad3f44 100644
--- a/tests/intel/kms_pwrite_crc.c
+++ b/tests/intel/kms_pwrite_crc.c
@@ -142,7 +142,7 @@ static void prepare_crtc(data_t *data)
 	if (data->pipe_crc)
 		igt_pipe_crc_free(data->pipe_crc);
 
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	/* get reference crc for the white fb */
diff --git a/tests/intel/kms_sharpness_filter.c b/tests/intel/kms_sharpness_filter.c
index 45285818c895..3bee950df95a 100644
--- a/tests/intel/kms_sharpness_filter.c
+++ b/tests/intel/kms_sharpness_filter.c
@@ -369,7 +369,7 @@ static void test_sharpness_filter(data_t *data,  enum test_type type)
 		ret = igt_display_try_commit2(&data->display, COMMIT_ATOMIC);
 
 	if (type == TEST_FILTER_DPMS || type == TEST_FILTER_SUSPEND) {
-		pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe_id,
+		pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe_id),
 					    IGT_PIPE_CRC_SOURCE_AUTO);
 		igt_pipe_crc_collect_crc(pipe_crc, &ref_crc);
 	}
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 92246037ca87..c8586a5f947c 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -850,8 +850,7 @@ static void test_crc(data_t *data)
 			     &data->output->config.connector->connector_id, 1, mode);
 	igt_assert_eq(ret, 0);
 
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd,
-					  kmstest_get_pipe_from_crtc_id(data->drm_fd, data->crtc_id),
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, kmstest_get_pipe_from_crtc_id(data->drm_fd, data->crtc_id)),
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_pipe_crc_start(data->pipe_crc);
diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
index 8966637c450b..b0d920a54cba 100644
--- a/tests/kms_atomic.c
+++ b/tests/kms_atomic.c
@@ -475,7 +475,7 @@ plane_immutable_zpos(data_t *data, igt_output_t *output, enum pipe pipe, int n_p
 	igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
 	/* create the pipe_crc object for this pipe */
-	pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
+	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
 				    IGT_PIPE_CRC_SOURCE_AUTO);
 
 	/* get reference crc */
diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
index 24553e1bda09..4dcf63025687 100644
--- a/tests/kms_cursor_crc.c
+++ b/tests/kms_cursor_crc.c
@@ -605,7 +605,7 @@ static void prepare_crtc(data_t *data, int cursor_w, int cursor_h)
 	/* create the pipe_crc object for this pipe */
 	if (data->pipe_crc)
 		igt_pipe_crc_free(data->pipe_crc);
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	/* x/y position where the cursor is still fully visible */
diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index d5a61e30e6a7..667fc0344c9a 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -1611,7 +1611,7 @@ static void flip_vs_cursor_crc(igt_display_t *display, bool atomic)
 
 	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
 
-	pipe_crc = igt_pipe_crc_new(display->drm_fd, pipe,
+	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(display, pipe),
 				    IGT_PIPE_CRC_SOURCE_AUTO);
 
 	cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
@@ -1692,7 +1692,7 @@ static void flip_vs_cursor_busy_crc(igt_display_t *display, bool atomic)
 
 	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
 
-	pipe_crc = igt_pipe_crc_new(display->drm_fd, pipe,
+	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(display, pipe),
 				    IGT_PIPE_CRC_SOURCE_AUTO);
 
 	cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c
index 77f5677fe69e..317bc57f21a5 100644
--- a/tests/kms_display_modes.c
+++ b/tests/kms_display_modes.c
@@ -97,8 +97,10 @@ static void run_extendedmode_basic(data_t *data,
 
 	igt_assert_f(igt_fit_modes_in_bw(display), "Unable to fit modes in bw\n");
 
-	pipe_crc[0] = igt_pipe_crc_new(data->drm_fd, pipe1, IGT_PIPE_CRC_SOURCE_AUTO);
-	pipe_crc[1] = igt_pipe_crc_new(data->drm_fd, pipe2, IGT_PIPE_CRC_SOURCE_AUTO);
+	pipe_crc[0] = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe1),
+				       IGT_PIPE_CRC_SOURCE_AUTO);
+	pipe_crc[1] = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe2),
+				       IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_create_color_fb(data->drm_fd, mode[0]->hdisplay, mode[0]->vdisplay,
 			    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 1, 0, 0, &fbs[0]);
diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
index c74c0a02ae2f..8861dc7b26bd 100644
--- a/tests/kms_pipe_crc_basic.c
+++ b/tests/kms_pipe_crc_basic.c
@@ -183,7 +183,7 @@ static void test_read_crc(data_t *data, enum pipe pipe,
 		} else {
 			igt_pipe_crc_t *pipe_crc;
 
-			pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
+			pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
 						    IGT_PIPE_CRC_SOURCE_AUTO);
 			igt_pipe_crc_start(pipe_crc);
 
@@ -268,7 +268,7 @@ static void test_compare_crc(data_t *data, enum pipe pipe, igt_output_t *output,
 	igt_plane_set_fb(primary, &fb0);
 	igt_display_commit(display);
 
-	pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
+	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
 				    IGT_PIPE_CRC_SOURCE_AUTO);
 	igt_pipe_crc_collect_crc(pipe_crc, &ref_crc);
 
@@ -298,7 +298,7 @@ static void test_disable_crc_after_crtc(data_t *data, enum pipe pipe,
 	igt_crc_t crc[2];
 	igt_plane_t *primary;
 
-	pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
+	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
 				    IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_display_reset(display);
diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index ec3245c9f2e0..d1c7b06fd4ee 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -130,7 +130,7 @@ static void test_init(data_t *data, enum pipe pipe)
 	igt_require(igt_crtc_for_pipe(&data->display, pipe)->n_planes > 0);
 	if (data->pipe_crc)
 		igt_pipe_crc_free(data->pipe_crc);
-	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 	igt_display_reset(&data->display);
 }
@@ -1364,8 +1364,8 @@ static void test_planar_settings(data_t *data)
 		if (rval == 0) {
 			set_legacy_lut(data, pipe, LUT_MASK);
 			igt_wait_for_vblank_count(igt_crtc_for_pipe(&data->display, pipe), 1);
-			data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
-						IGT_PIPE_CRC_SOURCE_AUTO);
+			data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
+							  IGT_PIPE_CRC_SOURCE_AUTO);
 			igt_pipe_crc_collect_crc(data->pipe_crc, &crc);
 
 			igt_create_color_fb(data->drm_fd, 256, 256,
diff --git a/tests/kms_plane_alpha_blend.c b/tests/kms_plane_alpha_blend.c
index a7070ac62169..c3d53c66c02a 100644
--- a/tests/kms_plane_alpha_blend.c
+++ b/tests/kms_plane_alpha_blend.c
@@ -219,7 +219,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe)
 
 	/* create the pipe_crc object for this pipe */
 	igt_pipe_crc_free(data->pipe_crc);
-	data->pipe_crc = igt_pipe_crc_new(data->gfx_fd, pipe,
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	mode = igt_output_get_mode(output);
diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
index 4b4b4b4597f3..1b08685f2aac 100644
--- a/tests/kms_plane_lowres.c
+++ b/tests/kms_plane_lowres.c
@@ -307,7 +307,7 @@ static void run_test(data_t *data, uint64_t modifier)
 			if (!intel_pipe_output_combo_valid(&data->display))
 				continue;
 
-			data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
+			data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
 							  IGT_PIPE_CRC_SOURCE_AUTO);
 
 			igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), data->output->name)
diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
index 342eb7b293da..f0b9e2aba668 100644
--- a/tests/kms_plane_multiple.c
+++ b/tests/kms_plane_multiple.c
@@ -107,8 +107,8 @@ struct {
  */
 static void test_init(data_t *data, enum pipe pipe, int n_planes)
 {
-	data->pipe_crc1 = igt_pipe_crc_new(data->drm_fd, pipe,
-					  IGT_PIPE_CRC_SOURCE_AUTO);
+	data->pipe_crc1 = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
+					   IGT_PIPE_CRC_SOURCE_AUTO);
 
 	data->plane1 = calloc(n_planes, sizeof(*data->plane1));
 	igt_assert_f(data->plane1 != NULL, "Failed to allocate memory for planes\n");
@@ -417,9 +417,9 @@ test_plane_position(data_t *data, enum pipe pipe, igt_output_t *output, uint64_t
 
 static void test_init_2_display(data_t *data, enum pipe pipe1, enum pipe pipe2, int n_planes)
 {
-	data->pipe_crc1 = igt_pipe_crc_new(data->drm_fd, pipe1,
+	data->pipe_crc1 = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe1),
 					   IGT_PIPE_CRC_SOURCE_AUTO);
-	data->pipe_crc2 = igt_pipe_crc_new(data->drm_fd, pipe2,
+	data->pipe_crc2 = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe2),
 					   IGT_PIPE_CRC_SOURCE_AUTO);
 
 	data->plane1 = calloc(n_planes, sizeof(*data->plane1));
diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
index b1765b4c75e5..abd87508045e 100644
--- a/tests/kms_rotation_crc.c
+++ b/tests/kms_rotation_crc.c
@@ -312,7 +312,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
 	 */
 	if (!is_amdgpu_device(data->gfx_fd))
 		igt_display_commit2(display, COMMIT_ATOMIC);
-	data->pipe_crc = igt_pipe_crc_new(data->gfx_fd, pipe,
+	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
 				          IGT_PIPE_CRC_SOURCE_AUTO);
 
 	if (!is_amdgpu_device(data->gfx_fd) && start_crc)
@@ -955,7 +955,7 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
 		p[0].plane = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
 		p[1].plane = igt_output_get_plane_type(output, DRM_PLANE_TYPE_OVERLAY);
 
-		data->pipe_crc = igt_pipe_crc_new(data->gfx_fd, pipe,
+		data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
 						  IGT_PIPE_CRC_SOURCE_AUTO);
 		igt_pipe_crc_start(data->pipe_crc);
 
diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c
index 7b18f3ee8910..16409a4a55e0 100644
--- a/tests/kms_universal_plane.c
+++ b/tests/kms_universal_plane.c
@@ -96,7 +96,7 @@ functional_test_init(functional_test_t *test, igt_output_t *output, enum pipe pi
 	data_t *data = test->data;
 	drmModeModeInfo *mode;
 
-	test->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
+	test->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
 					  IGT_PIPE_CRC_SOURCE_AUTO);
 
 	igt_output_set_crtc(output, igt_crtc_for_pipe(output->display, pipe));
diff --git a/tests/nouveau_crc.c b/tests/nouveau_crc.c
index 7887ff409e9e..6d61df006095 100644
--- a/tests/nouveau_crc.c
+++ b/tests/nouveau_crc.c
@@ -122,7 +122,7 @@ static void test_ctx_flip_detection(data_t *data)
 	int start = -1, frame, start_color = -1, i;
 	bool found_skip = false;
 
-	pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
+	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
 				    IGT_PIPE_CRC_SOURCE_AUTO);
 
 	create_crc_colors(data, colors, n_colors, pipe_crc);
@@ -233,7 +233,8 @@ static void test_ctx_flip_skip_current_frame(data_t *data)
 	const int n_colors = ARRAY_SIZE(colors);
 	const int n_crcs = 30;
 
-	pipe_crc = igt_pipe_crc_new(fd, data->pipe, IGT_PIPE_CRC_SOURCE_AUTO);
+	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
+				    IGT_PIPE_CRC_SOURCE_AUTO);
 	create_crc_colors(data, colors, n_colors, pipe_crc);
 
 	set_crc_flip_threshold(data, 5);
@@ -263,10 +264,10 @@ static void test_ctx_flip_skip_current_frame(data_t *data)
 static void test_ctx_flip_threshold_reset_after_capture(data_t *data)
 {
 	igt_pipe_crc_t *pipe_crc;
-	const int fd = data->drm_fd;
 	uint32_t value = 0;
 
-	pipe_crc = igt_pipe_crc_new(fd, data->pipe, IGT_PIPE_CRC_SOURCE_AUTO);
+	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
+				    IGT_PIPE_CRC_SOURCE_AUTO);
 
 	set_crc_flip_threshold(data, 5);
 	igt_pipe_crc_start(pipe_crc);
@@ -281,7 +282,8 @@ static void test_ctx_flip_threshold_reset_after_capture(data_t *data)
 
 static void test_source(data_t *data, const char *source)
 {
-	igt_pipe_crc_t *pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe, source);
+	igt_pipe_crc_t *pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
+						    source);
 	igt_crc_t *crcs;
 
 	igt_pipe_crc_start(pipe_crc);
@@ -302,10 +304,10 @@ static void test_source_outp_inactive(data_t *data)
 		{ .r = 0.0, .g = 1.0, .b = 0.0 },
 	};
 	igt_pipe_crc_t *pipe_crc;
-	const int fd = data->drm_fd;
 	const int n_colors = ARRAY_SIZE(colors);
 
-	pipe_crc = igt_pipe_crc_new(fd, data->pipe, "outp-inactive");
+	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
+				    "outp-inactive");
 	create_crc_colors(data, colors, n_colors, pipe_crc);
 
 	/* Changing the color should not change what's outside the active raster */
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH i-g-t 11/12] lib/kms: Use igt_crtc_crc_new_nonblock() more
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
                   ` (9 preceding siblings ...)
  2026-01-20 17:16 ` [PATCH i-g-t 10/12] lib/kms: Use igt_crtc_crc_new() more Ville Syrjala
@ 2026-01-20 17:16 ` Ville Syrjala
  2026-01-21  9:38   ` Jani Nikula
  2026-01-20 17:16 ` [PATCH i-g-t 12/12] lib/kms: Use igt_crtc_crc_new() even more Ville Syrjala
                   ` (4 subsequent siblings)
  15 siblings, 1 reply; 32+ messages in thread
From: Ville Syrjala @ 2026-01-20 17:16 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Switch over to igt_crtc_crc_new_nonblock() from
igt_pipe_crc_new_nonblock() even for the places that
don't have a igt_crtc_t around. This make it more
obvious where we need to modify the tests when fully
switching over from pipe to igt_crc_t.

Done with cocci:
 #include "scripts/iterators.cocci"

@find_data@
iterator name pipe_test;
type T;
T DATA;
identifier FD;
identifier DISPLAY;
@@
igt_display_require(&DATA.DISPLAY, DATA.FD);

@depends on find_data@
find_data.T *DATA;
identifier find_data.FD;
identifier find_data.DISPLAY;
expression PIPE;
@@
- igt_pipe_crc_new_nonblock(DATA->FD, PIPE
+ igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(&DATA->DISPLAY, PIPE)
	,...)

@local_fd depends on find_data@
find_data.T *DATA;
identifier find_data.FD, FD2;
identifier find_data.DISPLAY;
expression PIPE;
@@
int FD2 = DATA->FD;
<...
- igt_pipe_crc_new_nonblock(FD2, PIPE
+ igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(&DATA->DISPLAY, PIPE)
	,...)
...>

@depends on local_fd@
find_data.T *DATA;
identifier find_data.FD;
identifier FD2;
@@
- int FD2 = DATA->FD;
... when != FD2

@depends on find_data@
typedef igt_display_t;
identifier DISPLAY, find_data.FD;
expression PIPE, E;
find_data.T *DATA;
@@
 igt_display_t *DISPLAY = E;
<...
- igt_pipe_crc_new_nonblock(DATA->FD, PIPE
+ igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(DISPLAY, PIPE)
	,...)
...>

@depends on find_data@
identifier find_data.DISPLAY, find_data.FD;
expression PIPE;
find_data.T find_data.DATA;
@@
- igt_pipe_crc_new_nonblock(DATA.FD, PIPE
+ igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(&DATA.DISPLAY, PIPE)
	,...)

@@
igt_display_t *DISPLAY;
expression PIPE;
@@
- igt_pipe_crc_new_nonblock(DISPLAY->drm_fd, PIPE
+ igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(DISPLAY, PIPE)
	,...)

@@
expression DISPLAY, PIPE;
@@
igt_crtc_crc_new_nonblock(...)
{
<...
- igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(DISPLAY, PIPE)
+ igt_pipe_crc_new_nonblock(DISPLAY->drm_fd, PIPE
	,...)
...>
}

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/kms_cursor_edge_walk.c | 2 +-
 tests/kms_pipe_crc_basic.c   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/kms_cursor_edge_walk.c b/tests/kms_cursor_edge_walk.c
index d77787e51b97..eaf4c59b8a19 100644
--- a/tests/kms_cursor_edge_walk.c
+++ b/tests/kms_cursor_edge_walk.c
@@ -284,7 +284,7 @@ static void prepare_crtc(data_t *data)
 	data->jump_y = (mode->vdisplay - data->curh) / 2;
 
 	/* create the pipe_crc object for this pipe */
-	data->pipe_crc = igt_pipe_crc_new_nonblock(data->drm_fd, data->pipe,
+	data->pipe_crc = igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(&data->display, data->pipe),
 						   IGT_PIPE_CRC_SOURCE_AUTO);
 
 	/* get reference crc w/o cursor */
diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
index 8861dc7b26bd..fb2f5f8ebe96 100644
--- a/tests/kms_pipe_crc_basic.c
+++ b/tests/kms_pipe_crc_basic.c
@@ -167,7 +167,7 @@ static void test_read_crc(data_t *data, enum pipe pipe,
 		if (flags & TEST_NONBLOCK) {
 			igt_pipe_crc_t *pipe_crc;
 
-			pipe_crc = igt_pipe_crc_new_nonblock(data->drm_fd, pipe,
+			pipe_crc = igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(&data->display, pipe),
 							     IGT_PIPE_CRC_SOURCE_AUTO);
 			igt_wait_for_vblank(igt_crtc_for_pipe(display, pipe));
 			igt_pipe_crc_start(pipe_crc);
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH i-g-t 12/12] lib/kms: Use igt_crtc_crc_new() even more
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
                   ` (10 preceding siblings ...)
  2026-01-20 17:16 ` [PATCH i-g-t 11/12] lib/kms: Use igt_crtc_crc_new_nonblock() more Ville Syrjala
@ 2026-01-20 17:16 ` Ville Syrjala
  2026-01-21  9:39   ` Jani Nikula
  2026-01-20 19:58 ` ✓ Xe.CI.BAT: success for lib/kms: More pipe->crtc conversion Patchwork
                   ` (3 subsequent siblings)
  15 siblings, 1 reply; 32+ messages in thread
From: Ville Syrjala @ 2026-01-20 17:16 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Switch a few more igt_pipe_crc_new() uses over to
igt_crtc_crc_new(). These weren't caught by the previous
attempts and I the semantic patches were already getting
far too messy, so take care of these separately.

 #include "scripts/iterators.cocci"

@find@
identifier FD;
identifier DISPLAY;
@@
igt_display_require(&DISPLAY, FD);

@depends on find@
typedef igt_display_t;
identifier FUNC, DISPLAY, find.FD;
expression PIPE;
@@
FUNC(..., igt_display_t *DISPLAY ,...)
{
<...
- igt_pipe_crc_new(FD, PIPE
+ igt_crtc_crc_new(igt_crtc_for_pipe(DISPLAY, PIPE)
	,...)
...>
}

@depends on find@
typedef igt_display_t;
identifier DISPLAY, find.FD;
expression PIPE, E;
@@
 igt_display_t *DISPLAY = E;
<...
- igt_pipe_crc_new(FD, PIPE
+ igt_crtc_crc_new(igt_crtc_for_pipe(DISPLAY, PIPE)
	,...)
...>

@depends on find@
identifier find.FD;
identifier find.DISPLAY;
expression PIPE;
@@
- igt_pipe_crc_new(FD, PIPE
+ igt_crtc_crc_new(igt_crtc_for_pipe(&DISPLAY, PIPE)
	,...)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/intel/kms_draw_crc.c | 3 ++-
 tests/intel/xe_pat.c       | 3 ++-
 tests/kms_prime.c          | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/tests/intel/kms_draw_crc.c b/tests/intel/kms_draw_crc.c
index 6f9786ba2454..26bd1fbb1961 100644
--- a/tests/intel/kms_draw_crc.c
+++ b/tests/intel/kms_draw_crc.c
@@ -104,7 +104,8 @@ static void find_modeset_params(void)
 			continue;
 
 		mode = igt_output_get_mode(output);
-		pipe_crc = igt_pipe_crc_new(drm_fd, pipe, IGT_PIPE_CRC_SOURCE_AUTO);
+		pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&display, pipe),
+					    IGT_PIPE_CRC_SOURCE_AUTO);
 		/*Only one pipe/output is enough*/
 		break;
 	}
diff --git a/tests/intel/xe_pat.c b/tests/intel/xe_pat.c
index a7f8ab088d72..24339f688ce6 100644
--- a/tests/intel/xe_pat.c
+++ b/tests/intel/xe_pat.c
@@ -936,7 +936,8 @@ static void display_vs_wb_transient(int fd)
 			continue;
 
 		mode = igt_output_get_mode(output);
-		pipe_crc = igt_pipe_crc_new(fd, pipe, IGT_PIPE_CRC_SOURCE_AUTO);
+		pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&display, pipe),
+					    IGT_PIPE_CRC_SOURCE_AUTO);
 		break;
 	}
 
diff --git a/tests/kms_prime.c b/tests/kms_prime.c
index f443e9838a2b..f51c463211f4 100644
--- a/tests/kms_prime.c
+++ b/tests/kms_prime.c
@@ -401,7 +401,7 @@ static void test_crc(int exporter_fd, int importer_fd)
 	output = setup_display(importer_fd, &display, &pipe);
 
 	mode = igt_output_get_mode(output);
-	pipe_crc = igt_pipe_crc_new(importer_fd, pipe,
+	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&display, pipe),
 				    IGT_PIPE_CRC_SOURCE_AUTO);
 
 	for (i = 0; i < ARRAY_SIZE(colors); i++) {
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* ✓ Xe.CI.BAT: success for lib/kms: More pipe->crtc conversion
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
                   ` (11 preceding siblings ...)
  2026-01-20 17:16 ` [PATCH i-g-t 12/12] lib/kms: Use igt_crtc_crc_new() even more Ville Syrjala
@ 2026-01-20 19:58 ` Patchwork
  2026-01-20 20:07 ` ✓ i915.CI.BAT: " Patchwork
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 32+ messages in thread
From: Patchwork @ 2026-01-20 19:58 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 1821 bytes --]

== Series Details ==

Series: lib/kms: More pipe->crtc conversion
URL   : https://patchwork.freedesktop.org/series/160373/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_8709_BAT -> XEIGTPW_14382_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (11 -> 12)
------------------------------

  Additional (1): bat-bmg-3 

Known issues
------------

  Here are the changes found in XEIGTPW_14382_BAT that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@xe_peer2peer@read@read-gpua-vram01-gpub-vram01-p2p:
    - bat-bmg-3:          NOTRUN -> [SKIP][1] ([Intel XE#6566]) +3 other tests skip
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/bat-bmg-3/igt@xe_peer2peer@read@read-gpua-vram01-gpub-vram01-p2p.html

  
#### Possible fixes ####

  * igt@xe_waitfence@abstime:
    - bat-dg2-oem2:       [TIMEOUT][2] ([Intel XE#6506]) -> [PASS][3]
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/bat-dg2-oem2/igt@xe_waitfence@abstime.html
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/bat-dg2-oem2/igt@xe_waitfence@abstime.html

  
  [Intel XE#6506]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6506
  [Intel XE#6566]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6566


Build changes
-------------

  * IGT: IGT_8709 -> IGTPW_14382

  IGTPW_14382: 55597697930d2c1c31f4b0f864ed3681793a7aad @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8709: 16ce286cac6acc9669a1c758572ae9fceb483c46 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-4419-fa2241b92adb500a9c016188d338aa3f6f8a95a1: fa2241b92adb500a9c016188d338aa3f6f8a95a1

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/index.html

[-- Attachment #2: Type: text/html, Size: 2407 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* ✓ i915.CI.BAT: success for lib/kms: More pipe->crtc conversion
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
                   ` (12 preceding siblings ...)
  2026-01-20 19:58 ` ✓ Xe.CI.BAT: success for lib/kms: More pipe->crtc conversion Patchwork
@ 2026-01-20 20:07 ` Patchwork
  2026-01-21  1:58 ` ✓ Xe.CI.Full: " Patchwork
  2026-01-21  9:15 ` ✓ i915.CI.Full: " Patchwork
  15 siblings, 0 replies; 32+ messages in thread
From: Patchwork @ 2026-01-20 20:07 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 2316 bytes --]

== Series Details ==

Series: lib/kms: More pipe->crtc conversion
URL   : https://patchwork.freedesktop.org/series/160373/
State : success

== Summary ==

CI Bug Log - changes from IGT_8709 -> IGTPW_14382
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/index.html

Participating hosts (43 -> 41)
------------------------------

  Missing    (2): bat-dg2-13 fi-snb-2520m 

Known issues
------------

  Here are the changes found in IGTPW_14382 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@workarounds:
    - bat-dg2-9:          [PASS][1] -> [DMESG-FAIL][2] ([i915#12061]) +1 other test dmesg-fail
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/bat-dg2-9/igt@i915_selftest@live@workarounds.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/bat-dg2-9/igt@i915_selftest@live@workarounds.html

  
#### Possible fixes ####

  * igt@i915_selftest@live:
    - bat-mtlp-8:         [DMESG-FAIL][3] ([i915#12061]) -> [PASS][4] +1 other test pass
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/bat-mtlp-8/igt@i915_selftest@live.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/bat-mtlp-8/igt@i915_selftest@live.html

  * igt@i915_selftest@live@workarounds:
    - bat-mtlp-9:         [DMESG-FAIL][5] ([i915#12061]) -> [PASS][6] +1 other test pass
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/bat-mtlp-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_8709 -> IGTPW_14382

  CI-20190529: 20190529
  CI_DRM_17854: fa2241b92adb500a9c016188d338aa3f6f8a95a1 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_14382: 55597697930d2c1c31f4b0f864ed3681793a7aad @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8709: 16ce286cac6acc9669a1c758572ae9fceb483c46 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/index.html

[-- Attachment #2: Type: text/html, Size: 3123 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* ✓ Xe.CI.Full: success for lib/kms: More pipe->crtc conversion
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
                   ` (13 preceding siblings ...)
  2026-01-20 20:07 ` ✓ i915.CI.BAT: " Patchwork
@ 2026-01-21  1:58 ` Patchwork
  2026-01-21  9:15 ` ✓ i915.CI.Full: " Patchwork
  15 siblings, 0 replies; 32+ messages in thread
From: Patchwork @ 2026-01-21  1:58 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 45904 bytes --]

== Series Details ==

Series: lib/kms: More pipe->crtc conversion
URL   : https://patchwork.freedesktop.org/series/160373/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_8709_FULL -> XEIGTPW_14382_FULL
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (2 -> 2)
------------------------------

  No changes in participating hosts

Known issues
------------

  Here are the changes found in XEIGTPW_14382_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - shard-lnl:          NOTRUN -> [SKIP][1] ([Intel XE#3658])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@linear-32bpp-rotate-90:
    - shard-bmg:          NOTRUN -> [SKIP][2] ([Intel XE#2327]) +1 other test skip
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-2/igt@kms_big_fb@linear-32bpp-rotate-90.html

  * igt@kms_big_fb@linear-64bpp-rotate-90:
    - shard-lnl:          NOTRUN -> [SKIP][3] ([Intel XE#1407]) +1 other test skip
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-7/igt@kms_big_fb@linear-64bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-32bpp-rotate-0:
    - shard-lnl:          NOTRUN -> [SKIP][4] ([Intel XE#1124]) +5 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-7/igt@kms_big_fb@y-tiled-32bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-90:
    - shard-bmg:          NOTRUN -> [SKIP][5] ([Intel XE#1124]) +6 other tests skip
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html

  * igt@kms_bw@linear-tiling-2-displays-2160x1440p:
    - shard-lnl:          NOTRUN -> [SKIP][6] ([Intel XE#367])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-1/igt@kms_bw@linear-tiling-2-displays-2160x1440p.html

  * igt@kms_bw@linear-tiling-2-displays-2560x1440p:
    - shard-bmg:          NOTRUN -> [SKIP][7] ([Intel XE#367])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][8] ([Intel XE#2669]) +3 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-5/igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs@pipe-b-edp-1.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][9] ([Intel XE#3432])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-4/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][10] ([Intel XE#2887]) +2 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-2/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-rc-ccs-cc:
    - shard-lnl:          NOTRUN -> [SKIP][11] ([Intel XE#2887]) +3 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-1/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_chamelium_color@ctm-0-25:
    - shard-lnl:          NOTRUN -> [SKIP][12] ([Intel XE#306])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-8/igt@kms_chamelium_color@ctm-0-25.html

  * igt@kms_chamelium_edid@dp-edid-resolution-list:
    - shard-bmg:          NOTRUN -> [SKIP][13] ([Intel XE#2252]) +6 other tests skip
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-4/igt@kms_chamelium_edid@dp-edid-resolution-list.html

  * igt@kms_chamelium_hpd@vga-hpd-fast:
    - shard-lnl:          NOTRUN -> [SKIP][14] ([Intel XE#373]) +4 other tests skip
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-5/igt@kms_chamelium_hpd@vga-hpd-fast.html

  * igt@kms_color_pipeline@plane-ctm3x4-lut1d@pipe-c-edp-1:
    - shard-lnl:          NOTRUN -> [FAIL][15] ([Intel XE#6968]) +3 other tests fail
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-2/igt@kms_color_pipeline@plane-ctm3x4-lut1d@pipe-c-edp-1.html

  * igt@kms_content_protection@legacy-hdcp14:
    - shard-bmg:          NOTRUN -> [FAIL][16] ([Intel XE#3304]) +1 other test fail
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@kms_content_protection@legacy-hdcp14.html

  * igt@kms_content_protection@type1:
    - shard-lnl:          NOTRUN -> [SKIP][17] ([Intel XE#3278])
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-4/igt@kms_content_protection@type1.html

  * igt@kms_cursor_crc@cursor-onscreen-32x10:
    - shard-bmg:          NOTRUN -> [SKIP][18] ([Intel XE#2320]) +1 other test skip
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-2/igt@kms_cursor_crc@cursor-onscreen-32x10.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x32:
    - shard-lnl:          NOTRUN -> [SKIP][19] ([Intel XE#1424])
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-1/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic:
    - shard-lnl:          NOTRUN -> [SKIP][20] ([Intel XE#309]) +2 other tests skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-1/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
    - shard-lnl:          NOTRUN -> [SKIP][21] ([Intel XE#323])
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-3/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
    - shard-bmg:          NOTRUN -> [SKIP][22] ([Intel XE#2286])
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-2/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-lnl:          NOTRUN -> [SKIP][23] ([Intel XE#1508])
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-7/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

  * igt@kms_dp_link_training@uhbr-mst:
    - shard-bmg:          NOTRUN -> [SKIP][24] ([Intel XE#4354])
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-4/igt@kms_dp_link_training@uhbr-mst.html

  * igt@kms_dp_linktrain_fallback@dp-fallback:
    - shard-lnl:          NOTRUN -> [SKIP][25] ([Intel XE#4294])
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-1/igt@kms_dp_linktrain_fallback@dp-fallback.html

  * igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-dirtyfb-tests:
    - shard-bmg:          NOTRUN -> [SKIP][26] ([Intel XE#4422])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-dirtyfb-tests.html

  * igt@kms_feature_discovery@display-2x:
    - shard-lnl:          NOTRUN -> [SKIP][27] ([Intel XE#702])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-8/igt@kms_feature_discovery@display-2x.html

  * igt@kms_flip@2x-busy-flip:
    - shard-lnl:          NOTRUN -> [SKIP][28] ([Intel XE#1421])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-4/igt@kms_flip@2x-busy-flip.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-lnl:          [PASS][29] -> [FAIL][30] ([Intel XE#301]) +2 other tests fail
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank@c-edp1:
    - shard-lnl:          [PASS][31] -> [FAIL][32] ([Intel XE#301] / [Intel XE#3149]) +1 other test fail
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html

  * igt@kms_flip@flip-vs-suspend-interruptible@d-hdmi-a3:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][33] ([Intel XE#2049] / [Intel XE#2597])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-9/igt@kms_flip@flip-vs-suspend-interruptible@d-hdmi-a3.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][34] ([Intel XE#1401] / [Intel XE#1745]) +1 other test skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-7/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][35] ([Intel XE#1401]) +1 other test skip
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-7/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][36] ([Intel XE#1397] / [Intel XE#1745])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-7/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][37] ([Intel XE#1397])
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-7/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-p016-linear-to-p016-linear-reflect-x@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][38] ([Intel XE#7064])
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-8/igt@kms_flip_scaled_crc@flip-p016-linear-to-p016-linear-reflect-x@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][39] ([Intel XE#651]) +2 other tests skip
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-8/igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][40] ([Intel XE#4141]) +3 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-shrfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][41] ([Intel XE#6312])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-5/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-msflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][42] ([Intel XE#2311]) +11 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-argb161616f-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][43] ([Intel XE#7061]) +2 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcdrrs-argb161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][44] ([Intel XE#656]) +12 other tests skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-abgr161616f-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][45] ([Intel XE#7061])
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsr-abgr161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][46] ([Intel XE#2313]) +12 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_hdmi_inject@inject-audio:
    - shard-lnl:          NOTRUN -> [SKIP][47] ([Intel XE#1470] / [Intel XE#2853])
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-5/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_hdr@invalid-hdr:
    - shard-bmg:          [PASS][48] -> [SKIP][49] ([Intel XE#1503])
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-7/igt@kms_hdr@invalid-hdr.html
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-9/igt@kms_hdr@invalid-hdr.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling:
    - shard-lnl:          NOTRUN -> [SKIP][50] ([Intel XE#6886]) +3 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-8/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-c:
    - shard-bmg:          NOTRUN -> [SKIP][51] ([Intel XE#6886]) +4 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-c.html

  * igt@kms_pm_backlight@fade-with-dpms:
    - shard-bmg:          NOTRUN -> [SKIP][52] ([Intel XE#870])
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-9/igt@kms_pm_backlight@fade-with-dpms.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-lnl:          [PASS][53] -> [FAIL][54] ([Intel XE#718]) +1 other test fail
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-lnl-7/igt@kms_pm_dc@dc6-dpms.html
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-1/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_rpm@dpms-non-lpsp:
    - shard-lnl:          NOTRUN -> [SKIP][55] ([Intel XE#1439] / [Intel XE#3141])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-2/igt@kms_pm_rpm@dpms-non-lpsp.html

  * igt@kms_pm_rpm@modeset-lpsp:
    - shard-bmg:          NOTRUN -> [SKIP][56] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-4/igt@kms_pm_rpm@modeset-lpsp.html

  * igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area:
    - shard-bmg:          NOTRUN -> [SKIP][57] ([Intel XE#1406] / [Intel XE#1489]) +2 other tests skip
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-8/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-lnl:          NOTRUN -> [SKIP][58] ([Intel XE#1406] / [Intel XE#2893]) +1 other test skip
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-5/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-bmg:          NOTRUN -> [SKIP][59] ([Intel XE#1406] / [Intel XE#2387])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-8/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr@fbc-psr2-sprite-plane-move:
    - shard-bmg:          NOTRUN -> [SKIP][60] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +3 other tests skip
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-10/igt@kms_psr@fbc-psr2-sprite-plane-move.html

  * igt@kms_psr@pr-sprite-render:
    - shard-lnl:          NOTRUN -> [SKIP][61] ([Intel XE#1406]) +1 other test skip
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-2/igt@kms_psr@pr-sprite-render.html

  * igt@kms_rotation_crc@primary-4-tiled-reflect-x-0:
    - shard-lnl:          NOTRUN -> [SKIP][62] ([Intel XE#3414] / [Intel XE#3904])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-2/igt@kms_rotation_crc@primary-4-tiled-reflect-x-0.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
    - shard-bmg:          NOTRUN -> [SKIP][63] ([Intel XE#3414] / [Intel XE#3904])
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html

  * igt@kms_setmode@basic@pipe-a-edp-1:
    - shard-lnl:          [PASS][64] -> [FAIL][65] ([Intel XE#6361]) +1 other test fail
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-lnl-5/igt@kms_setmode@basic@pipe-a-edp-1.html
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-7/igt@kms_setmode@basic@pipe-a-edp-1.html

  * igt@kms_vrr@flip-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][66] ([Intel XE#1499])
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-2/igt@kms_vrr@flip-suspend.html

  * igt@xe_configfs@survivability-mode:
    - shard-lnl:          NOTRUN -> [SKIP][67] ([Intel XE#6010])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-1/igt@xe_configfs@survivability-mode.html

  * igt@xe_eudebug@basic-vm-bind-metadata-discovery:
    - shard-bmg:          NOTRUN -> [SKIP][68] ([Intel XE#4837]) +1 other test skip
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-4/igt@xe_eudebug@basic-vm-bind-metadata-discovery.html

  * igt@xe_eudebug@discovery-empty-clients:
    - shard-lnl:          NOTRUN -> [SKIP][69] ([Intel XE#4837]) +1 other test skip
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-5/igt@xe_eudebug@discovery-empty-clients.html

  * igt@xe_eudebug_online@interrupt-other:
    - shard-lnl:          NOTRUN -> [SKIP][70] ([Intel XE#4837] / [Intel XE#6665])
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-3/igt@xe_eudebug_online@interrupt-other.html

  * igt@xe_eudebug_online@resume-one:
    - shard-bmg:          NOTRUN -> [SKIP][71] ([Intel XE#4837] / [Intel XE#6665]) +1 other test skip
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-4/igt@xe_eudebug_online@resume-one.html

  * igt@xe_evict@evict-beng-mixed-many-threads-small:
    - shard-bmg:          [PASS][72] -> [INCOMPLETE][73] ([Intel XE#6321])
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-1/igt@xe_evict@evict-beng-mixed-many-threads-small.html
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@xe_evict@evict-beng-mixed-many-threads-small.html

  * igt@xe_evict@evict-beng-mixed-threads-small-multi-vm:
    - shard-lnl:          NOTRUN -> [SKIP][74] ([Intel XE#688]) +5 other tests skip
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-3/igt@xe_evict@evict-beng-mixed-threads-small-multi-vm.html

  * igt@xe_exec_balancer@twice-parallel-userptr:
    - shard-lnl:          [PASS][75] -> [DMESG-WARN][76] ([Intel XE#4537] / [Intel XE#7063])
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-lnl-5/igt@xe_exec_balancer@twice-parallel-userptr.html
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-3/igt@xe_exec_balancer@twice-parallel-userptr.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate:
    - shard-bmg:          NOTRUN -> [SKIP][77] ([Intel XE#2322]) +2 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-9/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate.html

  * igt@xe_exec_basic@multigpu-once-userptr:
    - shard-lnl:          NOTRUN -> [SKIP][78] ([Intel XE#1392]) +1 other test skip
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-5/igt@xe_exec_basic@multigpu-once-userptr.html

  * igt@xe_exec_multi_queue@few-execs-dyn-priority:
    - shard-lnl:          NOTRUN -> [SKIP][79] ([Intel XE#6874]) +9 other tests skip
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-5/igt@xe_exec_multi_queue@few-execs-dyn-priority.html

  * igt@xe_exec_multi_queue@one-queue-preempt-mode-fault-dyn-priority-smem:
    - shard-bmg:          NOTRUN -> [SKIP][80] ([Intel XE#6874]) +11 other tests skip
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@xe_exec_multi_queue@one-queue-preempt-mode-fault-dyn-priority-smem.html

  * igt@xe_exec_system_allocator@many-64k-mmap-huge:
    - shard-bmg:          NOTRUN -> [SKIP][81] ([Intel XE#5007])
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-4/igt@xe_exec_system_allocator@many-64k-mmap-huge.html
    - shard-lnl:          NOTRUN -> [SKIP][82] ([Intel XE#5007])
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-1/igt@xe_exec_system_allocator@many-64k-mmap-huge.html

  * igt@xe_exec_system_allocator@many-64k-mmap-shared-remap-eocheck:
    - shard-lnl:          [PASS][83] -> [DMESG-WARN][84] ([Intel XE#7063]) +1 other test dmesg-warn
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-lnl-4/igt@xe_exec_system_allocator@many-64k-mmap-shared-remap-eocheck.html
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-3/igt@xe_exec_system_allocator@many-64k-mmap-shared-remap-eocheck.html

  * igt@xe_exec_system_allocator@many-stride-new-prefetch:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][85] ([Intel XE#7098])
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-2/igt@xe_exec_system_allocator@many-stride-new-prefetch.html

  * igt@xe_exec_system_allocator@threads-many-mmap-new-huge-nomemset:
    - shard-bmg:          NOTRUN -> [SKIP][86] ([Intel XE#4943]) +11 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-1/igt@xe_exec_system_allocator@threads-many-mmap-new-huge-nomemset.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-mmap-free-huge:
    - shard-lnl:          NOTRUN -> [SKIP][87] ([Intel XE#4943]) +11 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-5/igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-mmap-free-huge.html

  * igt@xe_live_ktest@xe_bo@xe_bo_evict_kunit:
    - shard-lnl:          NOTRUN -> [SKIP][88] ([Intel XE#2229])
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-4/igt@xe_live_ktest@xe_bo@xe_bo_evict_kunit.html

  * igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit:
    - shard-bmg:          NOTRUN -> [SKIP][89] ([Intel XE#2229])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-1/igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit.html

  * igt@xe_mmap@pci-membarrier:
    - shard-lnl:          NOTRUN -> [SKIP][90] ([Intel XE#5100])
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-4/igt@xe_mmap@pci-membarrier.html

  * igt@xe_multigpu_svm@mgpu-coherency-fail-prefetch:
    - shard-bmg:          NOTRUN -> [SKIP][91] ([Intel XE#6964]) +1 other test skip
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@xe_multigpu_svm@mgpu-coherency-fail-prefetch.html

  * igt@xe_pat@pat-index-xelp:
    - shard-lnl:          NOTRUN -> [SKIP][92] ([Intel XE#977])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-8/igt@xe_pat@pat-index-xelp.html
    - shard-bmg:          NOTRUN -> [SKIP][93] ([Intel XE#2245])
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@xe_pat@pat-index-xelp.html

  * igt@xe_pm@d3cold-i2c:
    - shard-bmg:          NOTRUN -> [SKIP][94] ([Intel XE#5694])
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-8/igt@xe_pm@d3cold-i2c.html

  * igt@xe_pm@s3-vm-bind-userptr:
    - shard-lnl:          NOTRUN -> [SKIP][95] ([Intel XE#584])
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-3/igt@xe_pm@s3-vm-bind-userptr.html

  * igt@xe_pm@s4-d3cold-basic-exec:
    - shard-bmg:          NOTRUN -> [SKIP][96] ([Intel XE#2284])
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@xe_pm@s4-d3cold-basic-exec.html

  * igt@xe_query@multigpu-query-invalid-extension:
    - shard-bmg:          NOTRUN -> [SKIP][97] ([Intel XE#944])
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-10/igt@xe_query@multigpu-query-invalid-extension.html

  * igt@xe_sriov_auto_provisioning@exclusive-ranges:
    - shard-lnl:          NOTRUN -> [SKIP][98] ([Intel XE#4130])
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-2/igt@xe_sriov_auto_provisioning@exclusive-ranges.html

  * igt@xe_sriov_flr@flr-twice:
    - shard-bmg:          NOTRUN -> [FAIL][99] ([Intel XE#5937])
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-9/igt@xe_sriov_flr@flr-twice.html

  
#### Possible fixes ####

  * igt@kms_async_flips@async-flip-with-page-flip-events-linear:
    - shard-lnl:          [FAIL][100] ([Intel XE#5993]) -> [PASS][101] +3 other tests pass
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-lnl-4/igt@kms_async_flips@async-flip-with-page-flip-events-linear.html
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-4/igt@kms_async_flips@async-flip-with-page-flip-events-linear.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs@pipe-b-dp-2:
    - shard-bmg:          [DMESG-FAIL][102] ([Intel XE#5545]) -> [PASS][103] +1 other test pass
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs@pipe-b-dp-2.html
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-3/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs@pipe-b-dp-2.html

  * igt@kms_frontbuffer_tracking@psr-1p-pri-indfb-multidraw:
    - shard-lnl:          [DMESG-WARN][104] ([Intel XE#7063]) -> [PASS][105] +1 other test pass
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-lnl-2/igt@kms_frontbuffer_tracking@psr-1p-pri-indfb-multidraw.html
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-8/igt@kms_frontbuffer_tracking@psr-1p-pri-indfb-multidraw.html

  * igt@kms_pipe_crc_basic@suspend-read-crc:
    - shard-bmg:          [INCOMPLETE][106] ([Intel XE#2597]) -> [PASS][107] +1 other test pass
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-10/igt@kms_pipe_crc_basic@suspend-read-crc.html
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-4/igt@kms_pipe_crc_basic@suspend-read-crc.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-lnl:          [SKIP][108] ([Intel XE#1406] / [Intel XE#4692]) -> [PASS][109]
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-lnl-7/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-3/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1:
    - shard-lnl:          [FAIL][110] ([Intel XE#2142]) -> [PASS][111] +1 other test pass
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-lnl-1/igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1.html
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-5/igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1.html

  * igt@xe_pat@pat-sanity:
    - shard-lnl:          [DMESG-WARN][112] ([Intel XE#4537] / [Intel XE#7063]) -> [PASS][113]
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-lnl-2/igt@xe_pat@pat-sanity.html
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-lnl-3/igt@xe_pat@pat-sanity.html

  * igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling@numvfs-random:
    - shard-bmg:          [FAIL][114] ([Intel XE#5937]) -> [PASS][115] +1 other test pass
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-1/igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling@numvfs-random.html
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-2/igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling@numvfs-random.html

  * igt@xe_sriov_flr@flr-vf1-clear:
    - shard-bmg:          [FAIL][116] ([Intel XE#6569]) -> [PASS][117]
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-8/igt@xe_sriov_flr@flr-vf1-clear.html
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-8/igt@xe_sriov_flr@flr-vf1-clear.html

  * igt@xe_vm@munmap-style-unbind-userptr-inval-many-front:
    - shard-bmg:          [SKIP][118] ([Intel XE#6703]) -> [PASS][119] +60 other tests pass
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@xe_vm@munmap-style-unbind-userptr-inval-many-front.html
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-9/igt@xe_vm@munmap-style-unbind-userptr-inval-many-front.html

  
#### Warnings ####

  * igt@kms_chamelium_hpd@dp-hpd-fast:
    - shard-bmg:          [SKIP][120] ([Intel XE#6703]) -> [SKIP][121] ([Intel XE#2252])
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@kms_chamelium_hpd@dp-hpd-fast.html
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-9/igt@kms_chamelium_hpd@dp-hpd-fast.html

  * igt@kms_cursor_crc@cursor-random-max-size:
    - shard-bmg:          [SKIP][122] ([Intel XE#6703]) -> [SKIP][123] ([Intel XE#2320])
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@kms_cursor_crc@cursor-random-max-size.html
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@kms_cursor_crc@cursor-random-max-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic:
    - shard-bmg:          [FAIL][124] ([Intel XE#4633]) -> [FAIL][125] ([Intel XE#6715])
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-1/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-9/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-bmg:          [SKIP][126] ([Intel XE#6703]) -> [INCOMPLETE][127] ([Intel XE#2049] / [Intel XE#2597])
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@kms_flip@flip-vs-suspend-interruptible.html
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-9/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip_scaled_crc@flip-p016-linear-to-p016-linear-reflect-x:
    - shard-bmg:          [SKIP][128] ([Intel XE#6703]) -> [SKIP][129] ([Intel XE#7064] / [Intel XE#7081])
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@kms_flip_scaled_crc@flip-p016-linear-to-p016-linear-reflect-x.html
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-8/igt@kms_flip_scaled_crc@flip-p016-linear-to-p016-linear-reflect-x.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][130] ([Intel XE#6703]) -> [SKIP][131] ([Intel XE#2311]) +2 other tests skip
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-9/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][132] ([Intel XE#6703]) -> [SKIP][133] ([Intel XE#4141])
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc.html
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt:
    - shard-bmg:          [SKIP][134] ([Intel XE#6703]) -> [SKIP][135] ([Intel XE#2313]) +3 other tests skip
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt.html
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-9/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][136] ([Intel XE#3374] / [Intel XE#3544]) -> [SKIP][137] ([Intel XE#3544])
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-7/igt@kms_hdr@brightness-with-hdr.html
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-10/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-bmg:          [SKIP][138] ([Intel XE#6703]) -> [SKIP][139] ([Intel XE#6911])
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-9/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_panel_fitting@legacy:
    - shard-bmg:          [SKIP][140] ([Intel XE#6703]) -> [SKIP][141] ([Intel XE#2486])
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@kms_panel_fitting@legacy.html
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-4/igt@kms_panel_fitting@legacy.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
    - shard-bmg:          [SKIP][142] ([Intel XE#1406] / [Intel XE#6703]) -> [SKIP][143] ([Intel XE#1406] / [Intel XE#1489])
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr@psr-dpms:
    - shard-bmg:          [SKIP][144] ([Intel XE#1406] / [Intel XE#6703]) -> [SKIP][145] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850])
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@kms_psr@psr-dpms.html
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-8/igt@kms_psr@psr-dpms.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
    - shard-bmg:          [SKIP][146] ([Intel XE#6703]) -> [SKIP][147] ([Intel XE#3414] / [Intel XE#3904])
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-4/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-bmg:          [SKIP][148] ([Intel XE#2509]) -> [SKIP][149] ([Intel XE#2426])
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-10/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@xe_eudebug_online@reset-with-attention:
    - shard-bmg:          [SKIP][150] ([Intel XE#6703]) -> [SKIP][151] ([Intel XE#4837] / [Intel XE#6665])
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@xe_eudebug_online@reset-with-attention.html
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-2/igt@xe_eudebug_online@reset-with-attention.html

  * igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate:
    - shard-bmg:          [SKIP][152] ([Intel XE#6703]) -> [SKIP][153] ([Intel XE#2322]) +1 other test skip
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html

  * igt@xe_exec_multi_queue@many-execs-preempt-mode-userptr:
    - shard-bmg:          [SKIP][154] ([Intel XE#6703]) -> [SKIP][155] ([Intel XE#6874]) +2 other tests skip
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@xe_exec_multi_queue@many-execs-preempt-mode-userptr.html
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-7/igt@xe_exec_multi_queue@many-execs-preempt-mode-userptr.html

  * igt@xe_exec_system_allocator@many-64k-mmap-new-huge:
    - shard-bmg:          [SKIP][156] ([Intel XE#6703]) -> [SKIP][157] ([Intel XE#5007])
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@xe_exec_system_allocator@many-64k-mmap-new-huge.html
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-9/igt@xe_exec_system_allocator@many-64k-mmap-new-huge.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-stride-mmap-free-huge-nomemset:
    - shard-bmg:          [SKIP][158] ([Intel XE#6703]) -> [SKIP][159] ([Intel XE#4943])
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@xe_exec_system_allocator@threads-shared-vm-many-stride-mmap-free-huge-nomemset.html
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-10/igt@xe_exec_system_allocator@threads-shared-vm-many-stride-mmap-free-huge-nomemset.html

  * igt@xe_query@multigpu-query-topology-l3-bank-mask:
    - shard-bmg:          [SKIP][160] ([Intel XE#6703]) -> [SKIP][161] ([Intel XE#944])
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8709/shard-bmg-2/igt@xe_query@multigpu-query-topology-l3-bank-mask.html
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/shard-bmg-3/igt@xe_query@multigpu-query-topology-l3-bank-mask.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
  [Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
  [Intel XE#1470]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1470
  [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#2142]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2142
  [Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [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#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
  [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#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [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#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
  [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#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
  [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
  [Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#2853]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2853
  [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#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
  [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#3278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3278
  [Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#3658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3658
  [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#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4294]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4294
  [Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
  [Intel XE#4422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4422
  [Intel XE#4537]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4537
  [Intel XE#4633]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4633
  [Intel XE#4692]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4692
  [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
  [Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
  [Intel XE#5007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5007
  [Intel XE#5100]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5100
  [Intel XE#5545]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5545
  [Intel XE#5694]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5694
  [Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
  [Intel XE#5937]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5937
  [Intel XE#5993]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5993
  [Intel XE#6010]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6010
  [Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
  [Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
  [Intel XE#6361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6361
  [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#6665]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6665
  [Intel XE#6703]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6703
  [Intel XE#6715]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6715
  [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#6911]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6911
  [Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
  [Intel XE#6968]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6968
  [Intel XE#702]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/702
  [Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
  [Intel XE#7063]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7063
  [Intel XE#7064]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7064
  [Intel XE#7081]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7081
  [Intel XE#7098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7098
  [Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
  [Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977


Build changes
-------------

  * IGT: IGT_8709 -> IGTPW_14382

  IGTPW_14382: 55597697930d2c1c31f4b0f864ed3681793a7aad @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8709: 16ce286cac6acc9669a1c758572ae9fceb483c46 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-4419-fa2241b92adb500a9c016188d338aa3f6f8a95a1: fa2241b92adb500a9c016188d338aa3f6f8a95a1

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14382/index.html

[-- Attachment #2: Type: text/html, Size: 54288 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 01/12] igt/kms: Nuke igt_pipe_is_prop_changed() and igt_pipe_set_prop_value()
  2026-01-20 17:16 ` [PATCH i-g-t 01/12] igt/kms: Nuke igt_pipe_is_prop_changed() and igt_pipe_set_prop_value() Ville Syrjala
@ 2026-01-21  8:50   ` Jani Nikula
  0 siblings, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2026-01-21  8:50 UTC (permalink / raw)
  To: Ville Syrjala, igt-dev

On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Remove the pipe based igt_pipe_is_prop_changed() and
> igt_pipe_set_prop_value() wrappers and just use the crtc
> based variants directly. One step towards eliminating
> pipe usage from tests.
>
> Done with cocci:
>  #include "scripts/iterators.cocci"
>
> @@
> @@
> - igt_pipe_is_prop_changed(...) { ... }
>
> @@
> @@
> - igt_pipe_set_prop_value(...) { ... }
>
> @@
> expression DISPLAY, PIPE;
> @@
> (
> - igt_pipe_is_prop_changed(DISPLAY, PIPE
> + igt_pipe_obj_is_prop_changed(igt_crtc_for_pipe(DISPLAY, PIPE)
> 	,...)
> |
> - igt_pipe_set_prop_value(DISPLAY, PIPE
> + igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(DISPLAY, PIPE)
> 	,...)
> )
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  lib/igt_kms.h                                 | 32 -------------------
>  tests/amdgpu/amd_freesync_video_mode.c        |  5 +--
>  .../kms_chamelium_sharpness_filter.c          | 10 +++---
>  tests/intel/kms_pm_dc.c                       |  5 +--
>  tests/intel/kms_sharpness_filter.c            |  6 ++--
>  tests/kms_atomic_transition.c                 |  2 +-
>  tests/kms_content_protection.c                |  8 ++---
>  tests/kms_vrr.c                               | 11 ++++---
>  8 files changed, 26 insertions(+), 53 deletions(-)
>
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index a271c94a97fd..b848ca2eb973 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -1067,21 +1067,6 @@ static inline bool igt_pipe_obj_is_prop_changed(igt_crtc_t *pipe_obj,
>  	return pipe_obj->changed & (1 << prop);
>  }
>  
> -/**
> - * igt_pipe_is_prop_changed:
> - * @pipe: Pipe object to check.
> - * @prop: Property to check.
> - *
> - * Check whether a given @prop changed for the @pipe.
> - */
> -static inline bool igt_pipe_is_prop_changed(igt_display_t *display,
> -					    enum pipe pipe,
> -					    enum igt_atomic_crtc_properties prop)
> -{
> -	return igt_pipe_obj_is_prop_changed(igt_crtc_for_pipe(display, pipe),
> -					    prop);
> -}
> -
>  /**
>   * igt_pipe_obj_set_prop_changed:
>   * @pipe_obj: Pipe object to check.
> @@ -1124,23 +1109,6 @@ static inline void igt_pipe_obj_set_prop_value(igt_crtc_t *pipe_obj,
>  	igt_pipe_obj_set_prop_changed(pipe_obj, prop);
>  }
>  
> -/**
> - * igt_pipe_set_prop_value:
> - * @pipe: Pipe to check.
> - * @prop: Property to check.
> - * @value: Value to set.
> - *
> - * Sets the given @prop with the @value for the @pipe.
> - */
> -static inline void igt_pipe_set_prop_value(igt_display_t *display,
> -					   enum pipe pipe,
> -					   enum igt_atomic_crtc_properties prop,
> -					   uint64_t value)
> -{
> -	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(display, pipe), prop,
> -				    value);
> -}
> -
>  extern bool igt_pipe_obj_try_prop_enum(igt_crtc_t *pipe,
>  				       enum igt_atomic_crtc_properties prop,
>  				       const char *val);
> diff --git a/tests/amdgpu/amd_freesync_video_mode.c b/tests/amdgpu/amd_freesync_video_mode.c
> index c1a3e8161304..812212ac5f2b 100644
> --- a/tests/amdgpu/amd_freesync_video_mode.c
> +++ b/tests/amdgpu/amd_freesync_video_mode.c
> @@ -548,8 +548,9 @@ 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)
>  {
> -	igt_pipe_set_prop_value(&data->display, pipe, IGT_CRTC_VRR_ENABLED,
> -				enabled);
> +	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
> +				    IGT_CRTC_VRR_ENABLED,
> +				    enabled);
>  	igt_display_commit2(&data->display, COMMIT_ATOMIC);
>  }
>  
> diff --git a/tests/chamelium/kms_chamelium_sharpness_filter.c b/tests/chamelium/kms_chamelium_sharpness_filter.c
> index 6f161660b043..fb6e95a92b5e 100644
> --- a/tests/chamelium/kms_chamelium_sharpness_filter.c
> +++ b/tests/chamelium/kms_chamelium_sharpness_filter.c
> @@ -53,15 +53,15 @@ static bool pipe_output_combo_valid(data_t *data, enum pipe pipe)
>  
>  static void set_filter_strength_on_pipe(data_t *data)
>  {
> -	igt_pipe_set_prop_value(&data->display, data->pipe_id,
> -				IGT_CRTC_SHARPNESS_STRENGTH,
> -				data->filter_strength);
> +	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
> +				    IGT_CRTC_SHARPNESS_STRENGTH,
> +				    data->filter_strength);
>  }
>  
>  static void reset_filter_strength_on_pipe(data_t *data)
>  {
> -	igt_pipe_set_prop_value(&data->display, data->pipe_id,
> -				IGT_CRTC_SHARPNESS_STRENGTH, 0);
> +	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
> +				    IGT_CRTC_SHARPNESS_STRENGTH, 0);
>  }
>  
>  static void paint_image(igt_fb_t *fb)
> diff --git a/tests/intel/kms_pm_dc.c b/tests/intel/kms_pm_dc.c
> index 5e59ba6e03a3..9055e66a2ffa 100644
> --- a/tests/intel/kms_pm_dc.c
> +++ b/tests/intel/kms_pm_dc.c
> @@ -663,8 +663,9 @@ static void test_deep_pkgc_state(data_t *data)
>  				 * TODO: Add check for vmin = vmax = flipline if VRR enabled
>  				 * when KMD allows for such capability.
>  				 */
> -				igt_pipe_set_prop_value(display, pipe,
> -							IGT_CRTC_VRR_ENABLED, false);
> +				igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(display, pipe),
> +							    IGT_CRTC_VRR_ENABLED,
> +							    false);
>  				igt_assert(igt_display_try_commit_atomic(display,
>  									 DRM_MODE_ATOMIC_ALLOW_MODESET,
>  									 NULL) == 0);
> diff --git a/tests/intel/kms_sharpness_filter.c b/tests/intel/kms_sharpness_filter.c
> index 06ceb640a976..ffc43dbaf129 100644
> --- a/tests/intel/kms_sharpness_filter.c
> +++ b/tests/intel/kms_sharpness_filter.c
> @@ -173,9 +173,9 @@ typedef struct {
>  
>  static void set_filter_strength_on_pipe(data_t *data)
>  {
> -	igt_pipe_set_prop_value(&data->display, data->pipe_id,
> -				IGT_CRTC_SHARPNESS_STRENGTH,
> -				data->filter_strength);
> +	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
> +				    IGT_CRTC_SHARPNESS_STRENGTH,
> +				    data->filter_strength);
>  }
>  
>  static bool has_scaling_mode(igt_output_t *output)
> diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
> index 4631d54725db..6aa3439eedae 100644
> --- a/tests/kms_atomic_transition.c
> +++ b/tests/kms_atomic_transition.c
> @@ -829,7 +829,7 @@ static unsigned set_combinations(data_t *data, unsigned mask, struct igt_fb *fb)
>  		drmModeModeInfo *mode = NULL;
>  
>  		if (!(mask & (1 << pipe))) {
> -			if (igt_pipe_is_prop_changed(&data->display, pipe, IGT_CRTC_ACTIVE)) {
> +			if (igt_pipe_obj_is_prop_changed(igt_crtc_for_pipe(&data->display, pipe), IGT_CRTC_ACTIVE)) {
>  				event_mask |= 1 << pipe;
>  				igt_plane_set_fb(plane, NULL);
>  			}
> diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
> index c1a84c63f791..f7896592b3ff 100644
> --- a/tests/kms_content_protection.c
> +++ b/tests/kms_content_protection.c
> @@ -484,12 +484,12 @@ static void test_content_protection_on_output(igt_output_t *output,
>  		test_cp_lic(output);
>  
>  	if (data.cp_tests & CP_DPMS) {
> -		igt_pipe_set_prop_value(display, pipe,
> -					IGT_CRTC_ACTIVE, 0);
> +		igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(display, pipe),
> +					    IGT_CRTC_ACTIVE, 0);
>  		igt_display_commit2(display, commit_style);
>  
> -		igt_pipe_set_prop_value(display, pipe,
> -					IGT_CRTC_ACTIVE, 1);
> +		igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(display, pipe),
> +					    IGT_CRTC_ACTIVE, 1);
>  		igt_display_commit2(display, commit_style);
>  
>  		ret = wait_for_prop_value(output, CP_ENABLED,
> diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c
> index 0e54672a7d83..f05b3b87ad57 100644
> --- a/tests/kms_vrr.c
> +++ b/tests/kms_vrr.c
> @@ -309,8 +309,9 @@ static bool vrr_capable(igt_output_t *output)
>  static void set_vrr_on_pipe(data_t *data, enum pipe pipe,
>  			    bool need_modeset, bool enabled)
>  {
> -	igt_pipe_set_prop_value(&data->display, pipe, IGT_CRTC_VRR_ENABLED,
> -				enabled);
> +	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
> +				    IGT_CRTC_VRR_ENABLED,
> +				    enabled);
>  
>  	igt_assert(igt_display_try_commit_atomic(&data->display,
>  						 need_modeset ? DRM_MODE_ATOMIC_ALLOW_MODESET : 0,
> @@ -405,7 +406,8 @@ static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe)
>  	/* Clear vrr_enabled state before enabling it, because
>  	 * it might be left enabled if the previous test fails.
>  	 */
> -	igt_pipe_set_prop_value(&data->display, pipe, IGT_CRTC_VRR_ENABLED, 0);
> +	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
> +				    IGT_CRTC_VRR_ENABLED, 0);
>  
>  	igt_display_commit2(&data->display, COMMIT_ATOMIC);
>  }
> @@ -968,7 +970,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)
>  {
> -	igt_pipe_set_prop_value(&data->display, pipe, IGT_CRTC_VRR_ENABLED, false);
> +	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
> +				    IGT_CRTC_VRR_ENABLED, false);
>  
>  	if (data->primary)
>  		igt_plane_set_fb(data->primary, NULL);

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 02/12] lib/kms: Rename igt_pipe_obj_*_prop()
  2026-01-20 17:16 ` [PATCH i-g-t 02/12] lib/kms: Rename igt_pipe_obj_*_prop() Ville Syrjala
@ 2026-01-21  8:55   ` Jani Nikula
  0 siblings, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2026-01-21  8:55 UTC (permalink / raw)
  To: Ville Syrjala, igt-dev

On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Rename all the 'pipe_obj' property functions to
> use the 'crtc' terminology instead.
>
> Done with cocci (with manual fixups for docs):
>  #include "scripts/iterators.cocci"
>
> @@
> @@
> (
> - igt_pipe_obj_has_prop
> + igt_crtc_has_prop
> |
> - igt_pipe_obj_get_prop
> + igt_crtc_get_prop
> |
> - igt_pipe_obj_is_prop_changed
> + igt_crtc_is_prop_changed
> |
> - igt_pipe_obj_set_prop_changed
> + igt_crtc_set_prop_changed
> |
> - igt_pipe_obj_clear_prop_changed
> + igt_crtc_clear_prop_changed
> |
> - igt_pipe_obj_set_prop_value
> + igt_crtc_set_prop_value
> |
> - igt_pipe_obj_replace_prop_blob
> + igt_crtc_replace_prop_blob
> |
> - igt_pipe_obj_set_prop_enum
> + igt_crtc_set_prop_enum
> |
> - igt_pipe_obj_try_prop_enum
> + igt_crtc_try_prop_enum
> )
>  (...) { ... }
>
> @@
> @@
> (
> - igt_pipe_obj_has_prop
> + igt_crtc_has_prop
> |
> - igt_pipe_obj_get_prop
> + igt_crtc_get_prop
> |
> - igt_pipe_obj_is_prop_changed
> + igt_crtc_is_prop_changed
> |
> - igt_pipe_obj_set_prop_changed
> + igt_crtc_set_prop_changed
> |
> - igt_pipe_obj_clear_prop_changed
> + igt_crtc_clear_prop_changed
> |
> - igt_pipe_obj_set_prop_value
> + igt_crtc_set_prop_value
> |
> - igt_pipe_obj_replace_prop_blob
> + igt_crtc_replace_prop_blob
> |
> - igt_pipe_obj_set_prop_enum
> + igt_crtc_set_prop_enum
> |
> - igt_pipe_obj_try_prop_enum
> + igt_crtc_try_prop_enum
> )
>  (...);
>
> @@
> @@
> (
> - igt_pipe_obj_has_prop
> + igt_crtc_has_prop
> |
> - igt_pipe_obj_get_prop
> + igt_crtc_get_prop
> |
> - igt_pipe_obj_is_prop_changed
> + igt_crtc_is_prop_changed
> |
> - igt_pipe_obj_set_prop_changed
> + igt_crtc_set_prop_changed
> |
> - igt_pipe_obj_clear_prop_changed
> + igt_crtc_clear_prop_changed
> |
> - igt_pipe_obj_set_prop_value
> + igt_crtc_set_prop_value
> |
> - igt_pipe_obj_replace_prop_blob
> + igt_crtc_replace_prop_blob
> |
> - igt_pipe_obj_set_prop_enum
> + igt_crtc_set_prop_enum
> |
> - igt_pipe_obj_try_prop_enum
> + igt_crtc_try_prop_enum
> )
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  lib/igt_kms.c                                 | 90 +++++++++----------
>  lib/igt_kms.h                                 | 30 +++----
>  tests/amdgpu/amd_bypass.c                     |  6 +-
>  tests/amdgpu/amd_color.c                      | 20 ++---
>  tests/amdgpu/amd_freesync_video_mode.c        |  2 +-
>  tests/amdgpu/amd_plane.c                      |  4 +-
>  tests/chamelium/kms_chamelium_color.c         | 16 ++--
>  tests/chamelium/kms_chamelium_helper.c        | 12 +--
>  .../kms_chamelium_sharpness_filter.c          |  6 +-
>  tests/intel/kms_big_fb.c                      |  6 +-
>  tests/intel/kms_flip_scaled_crc.c             |  4 +-
>  tests/intel/kms_pm_dc.c                       |  2 +-
>  tests/intel/kms_sharpness_filter.c            |  4 +-
>  tests/kms_atomic.c                            | 38 ++++----
>  tests/kms_atomic_transition.c                 |  2 +-
>  tests/kms_color.c                             | 34 +++----
>  tests/kms_color_helper.c                      | 24 ++---
>  tests/kms_content_protection.c                |  4 +-
>  tests/kms_vrr.c                               |  6 +-
>  19 files changed, 155 insertions(+), 155 deletions(-)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 3cb1273f3041..d5436c4cdd2e 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -2733,27 +2733,27 @@ static void igt_plane_reset(igt_plane_t *plane)
>  
>  static void igt_pipe_reset(igt_crtc_t *pipe)
>  {
> -	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_MODE_ID, 0);
> -	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_ACTIVE, 0);
> -	igt_pipe_obj_clear_prop_changed(pipe, IGT_CRTC_OUT_FENCE_PTR);
> +	igt_crtc_set_prop_value(pipe, IGT_CRTC_MODE_ID, 0);
> +	igt_crtc_set_prop_value(pipe, IGT_CRTC_ACTIVE, 0);
> +	igt_crtc_clear_prop_changed(pipe, IGT_CRTC_OUT_FENCE_PTR);
>  
> -	if (igt_pipe_obj_has_prop(pipe, IGT_CRTC_CTM))
> -		igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_CTM, 0);
> +	if (igt_crtc_has_prop(pipe, IGT_CRTC_CTM))
> +		igt_crtc_set_prop_value(pipe, IGT_CRTC_CTM, 0);
>  
> -	if (igt_pipe_obj_has_prop(pipe, IGT_CRTC_GAMMA_LUT))
> -		igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_GAMMA_LUT, 0);
> +	if (igt_crtc_has_prop(pipe, IGT_CRTC_GAMMA_LUT))
> +		igt_crtc_set_prop_value(pipe, IGT_CRTC_GAMMA_LUT, 0);
>  
> -	if (igt_pipe_obj_has_prop(pipe, IGT_CRTC_DEGAMMA_LUT))
> -		igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_DEGAMMA_LUT, 0);
> +	if (igt_crtc_has_prop(pipe, IGT_CRTC_DEGAMMA_LUT))
> +		igt_crtc_set_prop_value(pipe, IGT_CRTC_DEGAMMA_LUT, 0);
>  
> -	if (igt_pipe_obj_has_prop(pipe, IGT_CRTC_SCALING_FILTER))
> -		igt_pipe_obj_set_prop_enum(pipe, IGT_CRTC_SCALING_FILTER, "Default");
> +	if (igt_crtc_has_prop(pipe, IGT_CRTC_SCALING_FILTER))
> +		igt_crtc_set_prop_enum(pipe, IGT_CRTC_SCALING_FILTER, "Default");
>  
> -	if (igt_pipe_obj_has_prop(pipe, IGT_CRTC_VRR_ENABLED))
> -		igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_VRR_ENABLED, 0);
> +	if (igt_crtc_has_prop(pipe, IGT_CRTC_VRR_ENABLED))
> +		igt_crtc_set_prop_value(pipe, IGT_CRTC_VRR_ENABLED, 0);
>  
> -	if (igt_pipe_obj_has_prop(pipe, IGT_CRTC_SHARPNESS_STRENGTH))
> -		igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_SHARPNESS_STRENGTH, 0);
> +	if (igt_crtc_has_prop(pipe, IGT_CRTC_SHARPNESS_STRENGTH))
> +		igt_crtc_set_prop_value(pipe, IGT_CRTC_SHARPNESS_STRENGTH, 0);
>  
>  	pipe->out_fence_fd = -1;
>  }
> @@ -4061,7 +4061,7 @@ static int igt_primary_plane_commit_legacy(igt_plane_t *primary,
>  
>  	if (!igt_plane_is_prop_changed(primary, IGT_PLANE_FB_ID) &&
>  	    !(primary->changed & IGT_PLANE_COORD_CHANGED_MASK) &&
> -	    !igt_pipe_obj_is_prop_changed(primary->pipe, IGT_CRTC_MODE_ID))
> +	    !igt_crtc_is_prop_changed(primary->pipe, IGT_CRTC_MODE_ID))
>  		return 0;
>  
>  	crtc_id = pipe->crtc_id;
> @@ -4210,7 +4210,7 @@ static int igt_pipe_commit(igt_crtc_t *pipe,
>  	int ret;
>  
>  	for (i = 0; i < IGT_NUM_CRTC_PROPS; i++)
> -		if (igt_pipe_obj_is_prop_changed(pipe, i) &&
> +		if (igt_crtc_is_prop_changed(pipe, i) &&
>  		    !is_atomic_prop(i)) {
>  			igt_assert(pipe->props[i]);
>  
> @@ -4659,7 +4659,7 @@ igt_output_replace_prop_blob(igt_output_t *output, enum igt_atomic_connector_pro
>  }
>  
>  /**
> - * igt_pipe_obj_get_prop:
> + * igt_crtc_get_prop:
>   * @pipe: Target pipe.
>   * @prop: Property to return.
>   *
> @@ -4669,16 +4669,16 @@ igt_output_replace_prop_blob(igt_output_t *output, enum igt_atomic_connector_pro
>   * is a blob, the blob id is returned. This can be passed
>   * to drmModeGetPropertyBlob() to get the contents of the blob.
>   */
> -uint64_t igt_pipe_obj_get_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop)
> +uint64_t igt_crtc_get_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop)
>  {
> -	igt_assert(igt_pipe_obj_has_prop(pipe, prop));
> +	igt_assert(igt_crtc_has_prop(pipe, prop));
>  
>  	return igt_mode_object_get_prop(pipe->display, DRM_MODE_OBJECT_CRTC,
>  					pipe->crtc_id, pipe->props[prop]);
>  }
>  
>  /**
> - * igt_pipe_obj_try_prop_enum:
> + * igt_crtc_try_prop_enum:
>   * @pipe_obj: Target pipe object.
>   * @prop: Property to check.
>   * @val: Value to set.
> @@ -4686,7 +4686,7 @@ uint64_t igt_pipe_obj_get_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties
>   * Returns: False if the given @pipe_obj doesn't have the enum @prop or
>   * failed to set the enum property @val else True.
>   */
> -bool igt_pipe_obj_try_prop_enum(igt_crtc_t *pipe_obj,
> +bool igt_crtc_try_prop_enum(igt_crtc_t *pipe_obj,
>  				enum igt_atomic_crtc_properties prop,
>  				const char *val)
>  {
> @@ -4699,12 +4699,12 @@ bool igt_pipe_obj_try_prop_enum(igt_crtc_t *pipe_obj,
>  						 pipe_obj->props[prop], val, &uval))
>  		return false;
>  
> -	igt_pipe_obj_set_prop_value(pipe_obj, prop, uval);
> +	igt_crtc_set_prop_value(pipe_obj, prop, uval);
>  	return true;
>  }
>  
>  /**
> - * igt_pipe_obj_set_prop_enum:
> + * igt_crtc_set_prop_enum:
>   * @pipe_obj: Target pipe object.
>   * @prop: Property to check.
>   * @val: Value to set.
> @@ -4712,15 +4712,15 @@ bool igt_pipe_obj_try_prop_enum(igt_crtc_t *pipe_obj,
>   * This function tries to set given enum property @prop value @val to
>   * the given @pipe_obj, and terminate the execution if its failed.
>   */
> -void igt_pipe_obj_set_prop_enum(igt_crtc_t *pipe_obj,
> +void igt_crtc_set_prop_enum(igt_crtc_t *pipe_obj,
>  				enum igt_atomic_crtc_properties prop,
>  				const char *val)
>  {
> -	igt_assert(igt_pipe_obj_try_prop_enum(pipe_obj, prop, val));
> +	igt_assert(igt_crtc_try_prop_enum(pipe_obj, prop, val));
>  }
>  
>  /**
> - * igt_pipe_obj_replace_prop_blob:
> + * igt_crtc_replace_prop_blob:
>   * @pipe: pipe to set property on.
>   * @prop: property for which the blob will be replaced.
>   * @ptr: Pointer to contents for the property.
> @@ -4736,7 +4736,7 @@ void igt_pipe_obj_set_prop_enum(igt_crtc_t *pipe_obj,
>   * it works better with legacy commit.
>   */
>  void
> -igt_pipe_obj_replace_prop_blob(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop, const void *ptr, size_t length)
> +igt_crtc_replace_prop_blob(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop, const void *ptr, size_t length)
>  {
>  	igt_display_t *display = pipe->display;
>  	uint64_t *blob = &pipe->values[prop];
> @@ -4751,7 +4751,7 @@ igt_pipe_obj_replace_prop_blob(igt_crtc_t *pipe, enum igt_atomic_crtc_properties
>  						     ptr, length, &blob_id) == 0);
>  
>  	*blob = blob_id;
> -	igt_pipe_obj_set_prop_changed(pipe, prop);
> +	igt_crtc_set_prop_changed(pipe, prop);
>  }
>  
>  /*
> @@ -4762,7 +4762,7 @@ static void igt_atomic_prepare_crtc_commit(igt_crtc_t *pipe_obj, drmModeAtomicRe
>  	int i;
>  
>  	for (i = 0; i < IGT_NUM_CRTC_PROPS; i++) {
> -		if (!igt_pipe_obj_is_prop_changed(pipe_obj, i))
> +		if (!igt_crtc_is_prop_changed(pipe_obj, i))
>  			continue;
>  
>  		igt_debug("Pipe %s: Setting property \"%s\" to 0x%"PRIx64"/%"PRIi64"\n",
> @@ -4876,7 +4876,7 @@ display_commit_changed(igt_display_t *display, enum igt_commit_style s)
>  		igt_plane_t *plane;
>  
>  		if (s == COMMIT_ATOMIC) {
> -			if (igt_pipe_obj_is_prop_changed(pipe_obj, IGT_CRTC_OUT_FENCE_PTR))
> +			if (igt_crtc_is_prop_changed(pipe_obj, IGT_CRTC_OUT_FENCE_PTR))
>  				igt_assert(pipe_obj->out_fence_fd >= 0);
>  
>  			pipe_obj->values[IGT_CRTC_OUT_FENCE_PTR] = 0;
> @@ -4884,11 +4884,11 @@ display_commit_changed(igt_display_t *display, enum igt_commit_style s)
>  		} else {
>  			for (i = 0; i < IGT_NUM_CRTC_PROPS; i++)
>  				if (!is_atomic_prop(i))
> -					igt_pipe_obj_clear_prop_changed(pipe_obj, i);
> +					igt_crtc_clear_prop_changed(pipe_obj, i);
>  
>  			if (s != COMMIT_UNIVERSAL) {
> -				igt_pipe_obj_clear_prop_changed(pipe_obj, IGT_CRTC_MODE_ID);
> -				igt_pipe_obj_clear_prop_changed(pipe_obj, IGT_CRTC_ACTIVE);
> +				igt_crtc_clear_prop_changed(pipe_obj, IGT_CRTC_MODE_ID);
> +				igt_crtc_clear_prop_changed(pipe_obj, IGT_CRTC_ACTIVE);
>  			}
>  		}
>  
> @@ -5274,9 +5274,9 @@ void igt_output_override_mode(igt_output_t *output, const drmModeModeInfo *mode)
>  
>  	if (pipe) {
>  		if (output->display->is_atomic)
> -			igt_pipe_obj_replace_prop_blob(pipe, IGT_CRTC_MODE_ID, igt_output_get_mode(output), sizeof(*mode));
> +			igt_crtc_replace_prop_blob(pipe, IGT_CRTC_MODE_ID, igt_output_get_mode(output), sizeof(*mode));
>  		else
> -			igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_MODE_ID);
> +			igt_crtc_set_prop_changed(pipe, IGT_CRTC_MODE_ID);
>  	}
>  }
>  
> @@ -5334,11 +5334,11 @@ void igt_output_set_crtc(igt_output_t *output, igt_crtc_t *pipe_obj)
>  		old_output = igt_pipe_get_output(old_pipe);
>  		if (!old_output) {
>  			if (display->is_atomic)
> -				igt_pipe_obj_replace_prop_blob(old_pipe, IGT_CRTC_MODE_ID, NULL, 0);
> +				igt_crtc_replace_prop_blob(old_pipe, IGT_CRTC_MODE_ID, NULL, 0);
>  			else
> -				igt_pipe_obj_set_prop_changed(old_pipe, IGT_CRTC_MODE_ID);
> +				igt_crtc_set_prop_changed(old_pipe, IGT_CRTC_MODE_ID);
>  
> -			igt_pipe_obj_set_prop_value(old_pipe, IGT_CRTC_ACTIVE, 0);
> +			igt_crtc_set_prop_value(old_pipe, IGT_CRTC_ACTIVE, 0);
>  		}
>  	}
>  
> @@ -5349,11 +5349,11 @@ void igt_output_set_crtc(igt_output_t *output, igt_crtc_t *pipe_obj)
>  
>  	if (pipe_obj) {
>  		if (display->is_atomic)
> -			igt_pipe_obj_replace_prop_blob(pipe_obj, IGT_CRTC_MODE_ID, igt_output_get_mode(output), sizeof(drmModeModeInfo));
> +			igt_crtc_replace_prop_blob(pipe_obj, IGT_CRTC_MODE_ID, igt_output_get_mode(output), sizeof(drmModeModeInfo));
>  		else
> -			igt_pipe_obj_set_prop_changed(pipe_obj, IGT_CRTC_MODE_ID);
> +			igt_crtc_set_prop_changed(pipe_obj, IGT_CRTC_MODE_ID);
>  
> -		igt_pipe_obj_set_prop_value(pipe_obj, IGT_CRTC_ACTIVE, 1);
> +		igt_crtc_set_prop_value(pipe_obj, IGT_CRTC_ACTIVE, 1);
>  	}
>  }
>  
> @@ -5484,9 +5484,9 @@ void igt_pipe_refresh(igt_display_t *display, enum pipe pipe, bool force)
>  
>  		pipe_obj->values[IGT_CRTC_MODE_ID] = 0;
>  		if (output)
> -			igt_pipe_obj_replace_prop_blob(pipe_obj, IGT_CRTC_MODE_ID, igt_output_get_mode(output), sizeof(drmModeModeInfo));
> +			igt_crtc_replace_prop_blob(pipe_obj, IGT_CRTC_MODE_ID, igt_output_get_mode(output), sizeof(drmModeModeInfo));
>  	} else
> -		igt_pipe_obj_set_prop_changed(pipe_obj, IGT_CRTC_MODE_ID);
> +		igt_crtc_set_prop_changed(pipe_obj, IGT_CRTC_MODE_ID);
>  }
>  
>  /**
> @@ -5805,7 +5805,7 @@ void igt_plane_set_rotation(igt_plane_t *plane, igt_rotation_t rotation)
>   */
>  void igt_pipe_request_out_fence(igt_crtc_t *pipe)
>  {
> -	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)&pipe->out_fence_fd);
> +	igt_crtc_set_prop_value(pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)&pipe->out_fence_fd);
>  }
>  
>  /**
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index b848ca2eb973..f12baf94504e 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -1038,7 +1038,7 @@ extern void igt_output_replace_prop_blob(igt_output_t *output,
>  					 enum igt_atomic_connector_properties prop,
>  					 const void *ptr, size_t length);
>  /**
> - * igt_pipe_obj_has_prop:
> + * igt_crtc_has_prop:
>   * @pipe: Pipe to check.
>   * @prop: Property to check.
>   *
> @@ -1047,76 +1047,76 @@ extern void igt_output_replace_prop_blob(igt_output_t *output,
>   * Returns: True if the property is supported, otherwise false.
>   */
>  static inline bool
> -igt_pipe_obj_has_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop)
> +igt_crtc_has_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop)
>  {
>  	return pipe->props[prop];
>  }
>  
> -uint64_t igt_pipe_obj_get_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop);
> +uint64_t igt_crtc_get_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop);
>  
>  /**
> - * igt_pipe_obj_is_prop_changed:
> + * igt_crtc_is_prop_changed:
>   * @pipe_obj: Pipe object to check.
>   * @prop: Property to check.
>   *
>   * Check whether a given @prop changed for the @pipe_obj.
>   */
> -static inline bool igt_pipe_obj_is_prop_changed(igt_crtc_t *pipe_obj,
> +static inline bool igt_crtc_is_prop_changed(igt_crtc_t *pipe_obj,
>  						enum igt_atomic_crtc_properties prop)
>  {
>  	return pipe_obj->changed & (1 << prop);
>  }
>  
>  /**
> - * igt_pipe_obj_set_prop_changed:
> + * igt_crtc_set_prop_changed:
>   * @pipe_obj: Pipe object to check.
>   * @prop: Property to check.
>   *
>   * Sets the given @prop for the @pipe_obj.
>   */
> -static inline void igt_pipe_obj_set_prop_changed(igt_crtc_t *pipe_obj,
> +static inline void igt_crtc_set_prop_changed(igt_crtc_t *pipe_obj,
>  						 enum igt_atomic_crtc_properties prop)
>  {
>  	pipe_obj->changed |= 1 << prop;
>  }
>  
>  /**
> - * igt_pipe_obj_clear_prop_changed:
> + * igt_crtc_clear_prop_changed:
>   * @pipe_obj: Pipe object to check.
>   * @prop: Property to check.
>   *
>   * Clears the given @prop for the @pipe_obj.
>   */
> -static inline void igt_pipe_obj_clear_prop_changed(igt_crtc_t *pipe_obj,
> +static inline void igt_crtc_clear_prop_changed(igt_crtc_t *pipe_obj,
>  						   enum igt_atomic_crtc_properties prop)
>  {
>  	pipe_obj->changed &= ~(1 << prop);
>  }
>  
>  /**
> - * igt_pipe_obj_set_prop_value:
> + * igt_crtc_set_prop_value:
>   * @pipe_obj: Pipe object to check.
>   * @prop: Property to check.
>   * @value: Value to set.
>   *
>   * Sets the given @prop with the @value for the @pipe_obj.
>   */
> -static inline void igt_pipe_obj_set_prop_value(igt_crtc_t *pipe_obj,
> +static inline void igt_crtc_set_prop_value(igt_crtc_t *pipe_obj,
>  					       enum igt_atomic_crtc_properties prop,
>  					       uint64_t value)
>  {
>  	pipe_obj->values[prop] = value;
> -	igt_pipe_obj_set_prop_changed(pipe_obj, prop);
> +	igt_crtc_set_prop_changed(pipe_obj, prop);
>  }
>  
> -extern bool igt_pipe_obj_try_prop_enum(igt_crtc_t *pipe,
> +extern bool igt_crtc_try_prop_enum(igt_crtc_t *pipe,
>  				       enum igt_atomic_crtc_properties prop,
>  				       const char *val);
>  
> -extern void igt_pipe_obj_set_prop_enum(igt_crtc_t *pipe,
> +extern void igt_crtc_set_prop_enum(igt_crtc_t *pipe,
>  				       enum igt_atomic_crtc_properties prop,
>  				       const char *val);
> -extern void igt_pipe_obj_replace_prop_blob(igt_crtc_t *pipe,
> +extern void igt_crtc_replace_prop_blob(igt_crtc_t *pipe,
>  					   enum igt_atomic_crtc_properties prop,
>  					   const void *ptr, size_t length);
>  void igt_pipe_refresh(igt_display_t *display, enum pipe pipe, bool force);
> diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
> index 7f768ea4e209..80aa46890fc1 100644
> --- a/tests/amdgpu/amd_bypass.c
> +++ b/tests/amdgpu/amd_bypass.c
> @@ -359,9 +359,9 @@ static void bypass_8bpc_test(data_t *data)
>  	 *   no regamma
>  	 *   no CTM
>  	 */
> -	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_DEGAMMA_LUT, NULL, 0);
> -	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
> -	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_CTM, NULL, 0);
> +	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_DEGAMMA_LUT, NULL, 0);
> +	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
> +	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_CTM, NULL, 0);
>  
>  	igt_plane_set_fb(data->primary, &fb);
>  	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
> diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
> index 9631fc34d9f4..ed3e9170f615 100644
> --- a/tests/amdgpu/amd_color.c
> +++ b/tests/amdgpu/amd_color.c
> @@ -159,7 +159,7 @@ static void set_degamma_lut(data_t *data, lut_t const *lut)
>  	size_t size = lut ? sizeof(lut->data[0]) * lut->size : 0;
>  	const void *ptr = lut ? lut->data : NULL;
>  
> -	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_DEGAMMA_LUT, ptr,
> +	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_DEGAMMA_LUT, ptr,
>  				       size);
>  }
>  
> @@ -169,7 +169,7 @@ static void set_regamma_lut(data_t *data, lut_t const *lut)
>  	size_t size = lut ? sizeof(lut->data[0]) * lut->size : 0;
>  	const void *ptr = lut ? lut->data : NULL;
>  
> -	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_GAMMA_LUT, ptr,
> +	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_GAMMA_LUT, ptr,
>  				       size);
>  }
>  
> @@ -228,10 +228,10 @@ static void test_crtc_linear_degamma(data_t *data)
>  
>  	test_init(data);
>  
> -	igt_require(igt_pipe_obj_has_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT));
> +	igt_require(igt_crtc_has_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT));
>  
>  	data->degamma_lut_size =
> -		igt_pipe_obj_get_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT_SIZE);
> +		igt_crtc_get_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT_SIZE);
>  
>  	lut_init(&lut_linear, data->degamma_lut_size);
>  	lut_gen_linear(&lut_linear, 0xffff);
> @@ -275,10 +275,10 @@ static void test_crtc_linear_regamma(data_t *data)
>  
>  	test_init(data);
>  
> -	igt_require(igt_pipe_obj_has_prop(data->pipe, IGT_CRTC_GAMMA_LUT));
> +	igt_require(igt_crtc_has_prop(data->pipe, IGT_CRTC_GAMMA_LUT));
>  
>  	data->regamma_lut_size =
> -		igt_pipe_obj_get_prop(data->pipe, IGT_CRTC_GAMMA_LUT_SIZE);
> +		igt_crtc_get_prop(data->pipe, IGT_CRTC_GAMMA_LUT_SIZE);
>  
>  	lut_init(&lut_linear, data->regamma_lut_size);
>  	lut_gen_linear(&lut_linear, 0xffff);
> @@ -338,14 +338,14 @@ static void test_crtc_lut_accuracy(data_t *data)
>  
>  	test_init(data);
>  
> -	igt_require(igt_pipe_obj_has_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT));
> -	igt_require(igt_pipe_obj_has_prop(data->pipe, IGT_CRTC_GAMMA_LUT));
> +	igt_require(igt_crtc_has_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT));
> +	igt_require(igt_crtc_has_prop(data->pipe, IGT_CRTC_GAMMA_LUT));
>  
>  	data->degamma_lut_size =
> -		igt_pipe_obj_get_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT_SIZE);
> +		igt_crtc_get_prop(data->pipe, IGT_CRTC_DEGAMMA_LUT_SIZE);
>  
>  	data->regamma_lut_size =
> -		igt_pipe_obj_get_prop(data->pipe, IGT_CRTC_GAMMA_LUT_SIZE);
> +		igt_crtc_get_prop(data->pipe, IGT_CRTC_GAMMA_LUT_SIZE);
>  
>  	lut_init(&lut_degamma, data->degamma_lut_size);
>  	lut_gen_degamma_srgb(&lut_degamma, 0xffff);
> diff --git a/tests/amdgpu/amd_freesync_video_mode.c b/tests/amdgpu/amd_freesync_video_mode.c
> index 812212ac5f2b..964833994533 100644
> --- a/tests/amdgpu/amd_freesync_video_mode.c
> +++ b/tests/amdgpu/amd_freesync_video_mode.c
> @@ -548,7 +548,7 @@ 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)
>  {
> -	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
> +	igt_crtc_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
>  				    IGT_CRTC_VRR_ENABLED,
>  				    enabled);
>  	igt_display_commit2(&data->display, COMMIT_ATOMIC);
> diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c
> index 53fb6a12f558..06d2ace58a49 100644
> --- a/tests/amdgpu/amd_plane.c
> +++ b/tests/amdgpu/amd_plane.c
> @@ -265,7 +265,7 @@ static void set_regamma_lut(data_t *data, lut_t const *lut, int n)
>  {
>  	size_t size = lut ? sizeof(lut->data) * lut->size : 0;
>  	const void *ptr = lut ? lut->data : NULL;
> -	igt_pipe_obj_replace_prop_blob(data->pipe[n], IGT_CRTC_GAMMA_LUT, ptr,
> +	igt_crtc_replace_prop_blob(data->pipe[n], IGT_CRTC_GAMMA_LUT, ptr,
>  				       size);
>  }
>  
> @@ -627,7 +627,7 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int
>  	igt_skip_on_f(valid_outputs < display_count,
>  			"Valid outputs (%d) should be equal or greater than %d\n", valid_outputs, display_count);
>  
> -	regamma_lut_size = igt_pipe_obj_get_prop(data->pipe[0], IGT_CRTC_GAMMA_LUT_SIZE);
> +	regamma_lut_size = igt_crtc_get_prop(data->pipe[0], IGT_CRTC_GAMMA_LUT_SIZE);
>  	igt_assert_lt(0, regamma_lut_size);
>  	lut_init(&lut, regamma_lut_size);
>  	lut_gen(&lut);
> diff --git a/tests/chamelium/kms_chamelium_color.c b/tests/chamelium/kms_chamelium_color.c
> index 2512f7b7e049..86d43509244a 100644
> --- a/tests/chamelium/kms_chamelium_color.c
> +++ b/tests/chamelium/kms_chamelium_color.c
> @@ -80,7 +80,7 @@ static bool test_pipe_degamma(data_t *data,
>  	};
>  	bool ret;
>  
> -	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT));
> +	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT));
>  
>  	degamma_full = generate_table_max(data->degamma_lut_size);
>  
> @@ -169,7 +169,7 @@ static bool test_pipe_gamma(data_t *data,
>  	};
>  	bool ret;
>  
> -	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
> +	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
>  
>  	gamma_full = generate_table_max(data->gamma_lut_size);
>  
> @@ -255,7 +255,7 @@ static bool test_pipe_ctm(data_t *data,
>  	int fb_id, fb_modeset_id, fbref_id;
>  	bool ret = true;
>  
> -	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM));
> +	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_CTM));
>  
>  	degamma_linear = generate_table(data->degamma_lut_size, 1.0);
>  	gamma_linear = generate_table(data->gamma_lut_size, 1.0);
> @@ -358,7 +358,7 @@ static bool test_pipe_limited_range_ctm(data_t *data,
>  	int fb_id0, fb_id1;
>  	bool ret = false;
>  
> -	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM));
> +	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_CTM));
>  
>  	degamma_linear = generate_table(data->degamma_lut_size, 1.0);
>  	gamma_linear = generate_table(data->gamma_lut_size, 1.0);
> @@ -433,16 +433,16 @@ prep_pipe(data_t *data, enum pipe p)
>  {
>  	igt_require_pipe(&data->display, p);
>  
> -	if (igt_pipe_obj_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_DEGAMMA_LUT_SIZE)) {
> +	if (igt_crtc_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_DEGAMMA_LUT_SIZE)) {
>  		data->degamma_lut_size =
> -			igt_pipe_obj_get_prop(igt_crtc_for_pipe(&data->display, p),
> +			igt_crtc_get_prop(igt_crtc_for_pipe(&data->display, p),
>  					      IGT_CRTC_DEGAMMA_LUT_SIZE);
>  		igt_assert_lt(0, data->degamma_lut_size);
>  	}
>  
> -	if (igt_pipe_obj_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_GAMMA_LUT_SIZE)) {
> +	if (igt_crtc_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_GAMMA_LUT_SIZE)) {
>  		data->gamma_lut_size =
> -			igt_pipe_obj_get_prop(igt_crtc_for_pipe(&data->display, p),
> +			igt_crtc_get_prop(igt_crtc_for_pipe(&data->display, p),
>  					      IGT_CRTC_GAMMA_LUT_SIZE);
>  		igt_assert_lt(0, data->gamma_lut_size);
>  	}
> diff --git a/tests/chamelium/kms_chamelium_helper.c b/tests/chamelium/kms_chamelium_helper.c
> index 328ff9292d0d..12735c541de1 100644
> --- a/tests/chamelium/kms_chamelium_helper.c
> +++ b/tests/chamelium/kms_chamelium_helper.c
> @@ -182,14 +182,14 @@ void chamelium_enable_output(chamelium_data_t *data,
>  	igt_output_override_mode(output, mode);
>  
>  	/* Clear any color correction values that might be enabled */
> -	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
> -		igt_pipe_obj_replace_prop_blob(primary->pipe,
> +	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
> +		igt_crtc_replace_prop_blob(primary->pipe,
>  					       IGT_CRTC_DEGAMMA_LUT, NULL, 0);
> -	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT))
> -		igt_pipe_obj_replace_prop_blob(primary->pipe,
> +	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT))
> +		igt_crtc_replace_prop_blob(primary->pipe,
>  					       IGT_CRTC_GAMMA_LUT, NULL, 0);
> -	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM))
> -		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_CTM,
> +	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_CTM))
> +		igt_crtc_replace_prop_blob(primary->pipe, IGT_CRTC_CTM,
>  					       NULL, 0);
>  
>  	igt_display_commit2(display, COMMIT_ATOMIC);
> diff --git a/tests/chamelium/kms_chamelium_sharpness_filter.c b/tests/chamelium/kms_chamelium_sharpness_filter.c
> index fb6e95a92b5e..21d4b6fe649e 100644
> --- a/tests/chamelium/kms_chamelium_sharpness_filter.c
> +++ b/tests/chamelium/kms_chamelium_sharpness_filter.c
> @@ -53,14 +53,14 @@ static bool pipe_output_combo_valid(data_t *data, enum pipe pipe)
>  
>  static void set_filter_strength_on_pipe(data_t *data)
>  {
> -	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
> +	igt_crtc_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
>  				    IGT_CRTC_SHARPNESS_STRENGTH,
>  				    data->filter_strength);
>  }
>  
>  static void reset_filter_strength_on_pipe(data_t *data)
>  {
> -	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
> +	igt_crtc_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
>  				    IGT_CRTC_SHARPNESS_STRENGTH, 0);
>  }
>  
> @@ -219,7 +219,7 @@ static void test_sharpness_filter(data_t *data,  enum pipe p)
>  	int port_idx = test_setup(data, p);
>  
>  	igt_require(port_idx >= 0);
> -	igt_require(igt_pipe_obj_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_SHARPNESS_STRENGTH));
> +	igt_require(igt_crtc_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_SHARPNESS_STRENGTH));
>  
>  	if (!pipe_output_combo_valid(data, p))
>  		return;
> diff --git a/tests/intel/kms_big_fb.c b/tests/intel/kms_big_fb.c
> index 595611c319f0..4c83398400ba 100644
> --- a/tests/intel/kms_big_fb.c
> +++ b/tests/intel/kms_big_fb.c
> @@ -389,7 +389,7 @@ static void set_c8_lut(data_t *data)
>  		lut[i].blue = ((i & 0x03) >> 0) * 0xffff / 0x3;
>  	}
>  
> -	igt_pipe_obj_replace_prop_blob(pipe, IGT_CRTC_GAMMA_LUT, lut,
> +	igt_crtc_replace_prop_blob(pipe, IGT_CRTC_GAMMA_LUT, lut,
>  				       lut_size * sizeof(lut[0]));
>  
>  	free(lut);
> @@ -399,7 +399,7 @@ static void unset_lut(data_t *data)
>  {
>  	igt_crtc_t *pipe = igt_crtc_for_pipe(&data->display, data->pipe);
>  
> -	igt_pipe_obj_replace_prop_blob(pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
> +	igt_crtc_replace_prop_blob(pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
>  }
>  
>  static bool test_plane(data_t *data)
> @@ -518,7 +518,7 @@ static bool test_pipe(data_t *data)
>  		 kmstest_pipe_name(data->pipe), igt_output_name(data->output));
>  
>  	if (data->format == DRM_FORMAT_C8 &&
> -	    !igt_pipe_obj_has_prop(igt_crtc_for_pipe(&data->display, data->pipe),
> +	    !igt_crtc_has_prop(igt_crtc_for_pipe(&data->display, data->pipe),
>  				   IGT_CRTC_GAMMA_LUT))
>  		return false;
>  
> diff --git a/tests/intel/kms_flip_scaled_crc.c b/tests/intel/kms_flip_scaled_crc.c
> index 954b46b5ff67..3f8cd0bd642a 100644
> --- a/tests/intel/kms_flip_scaled_crc.c
> +++ b/tests/intel/kms_flip_scaled_crc.c
> @@ -709,7 +709,7 @@ static void set_lut(data_t *data, enum pipe pipe)
>  		lut[i].blue = v;
>  	}
>  
> -	igt_pipe_obj_replace_prop_blob(pipe_obj, IGT_CRTC_GAMMA_LUT,
> +	igt_crtc_replace_prop_blob(pipe_obj, IGT_CRTC_GAMMA_LUT,
>  				       lut, sizeof(lut[0]) * lut_size);
>  
>  	free(lut);
> @@ -719,7 +719,7 @@ static void clear_lut(data_t *data, enum pipe pipe)
>  {
>  	igt_crtc_t *pipe_obj = igt_crtc_for_pipe(&data->display, pipe);
>  
> -	igt_pipe_obj_set_prop_value(pipe_obj, IGT_CRTC_GAMMA_LUT, 0);
> +	igt_crtc_set_prop_value(pipe_obj, IGT_CRTC_GAMMA_LUT, 0);
>  }
>  
>  static void test_flip_to_scaled(data_t *data, uint32_t index,
> diff --git a/tests/intel/kms_pm_dc.c b/tests/intel/kms_pm_dc.c
> index 9055e66a2ffa..4babf1341e0b 100644
> --- a/tests/intel/kms_pm_dc.c
> +++ b/tests/intel/kms_pm_dc.c
> @@ -663,7 +663,7 @@ static void test_deep_pkgc_state(data_t *data)
>  				 * TODO: Add check for vmin = vmax = flipline if VRR enabled
>  				 * when KMD allows for such capability.
>  				 */
> -				igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(display, pipe),
> +				igt_crtc_set_prop_value(igt_crtc_for_pipe(display, pipe),
>  							    IGT_CRTC_VRR_ENABLED,
>  							    false);
>  				igt_assert(igt_display_try_commit_atomic(display,
> diff --git a/tests/intel/kms_sharpness_filter.c b/tests/intel/kms_sharpness_filter.c
> index ffc43dbaf129..94c11ed2fecb 100644
> --- a/tests/intel/kms_sharpness_filter.c
> +++ b/tests/intel/kms_sharpness_filter.c
> @@ -173,7 +173,7 @@ typedef struct {
>  
>  static void set_filter_strength_on_pipe(data_t *data)
>  {
> -	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
> +	igt_crtc_set_prop_value(igt_crtc_for_pipe(&data->display, data->pipe_id),
>  				    IGT_CRTC_SHARPNESS_STRENGTH,
>  				    data->filter_strength);
>  }
> @@ -419,7 +419,7 @@ static void test_sharpness_filter(data_t *data,  enum test_type type)
>  
>  static bool has_sharpness_filter(igt_crtc_t *pipe)
>  {
> -	return igt_pipe_obj_has_prop(pipe, IGT_CRTC_SHARPNESS_STRENGTH);
> +	return igt_crtc_has_prop(pipe, IGT_CRTC_SHARPNESS_STRENGTH);
>  }
>  
>  static void
> diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
> index 58d57cafecce..d20a500f37c7 100644
> --- a/tests/kms_atomic.c
> +++ b/tests/kms_atomic.c
> @@ -232,7 +232,7 @@ static void crtc_get_current_state(igt_crtc_t *pipe, uint64_t *values)
>  			continue;
>  		}
>  
> -		values[i] = igt_pipe_obj_get_prop(pipe, i);
> +		values[i] = igt_crtc_get_prop(pipe, i);
>  	}
>  }
>  
> @@ -856,20 +856,20 @@ static void crtc_invalid_params(data_t *data, igt_output_t *output)
>  	drmModeModeInfo *mode = igt_output_get_mode(output);
>  
>  	/* Pass a series of invalid object IDs for the mode ID. */
> -	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->primary->drm_plane->plane_id);
> +	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->primary->drm_plane->plane_id);
>  	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EINVAL);
>  
> -	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->pipe->crtc_id);
> +	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->pipe->crtc_id);
>  	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EINVAL);
>  
> -	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->fb.fb_id);
> +	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->fb.fb_id);
>  	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EINVAL);
>  
> -	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, old_mode_id);
> +	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, old_mode_id);
>  	crtc_commit_atomic_flags_err(data->pipe, data->primary, DRM_MODE_ATOMIC_TEST_ONLY, ATOMIC_RELAX_NONE, 0);
>  
>  	/* Can we restore mode? */
> -	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, old_mode_id);
> +	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, old_mode_id);
>  	crtc_commit_atomic_flags_err(data->pipe, data->primary, DRM_MODE_ATOMIC_TEST_ONLY, ATOMIC_RELAX_NONE, 0);
>  
>  	/*
> @@ -882,14 +882,14 @@ static void crtc_invalid_params(data_t *data, igt_output_t *output)
>  				     ATOMIC_RELAX_NONE, EINVAL);
>  
>  	/* Create a blob which is the wrong size to be a valid mode. */
> -	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_MODE_ID, mode, sizeof(*mode) - 1);
> +	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_MODE_ID, mode, sizeof(*mode) - 1);
>  	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EINVAL);
>  
> -	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_MODE_ID, mode, sizeof(*mode) + 1);
> +	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_MODE_ID, mode, sizeof(*mode) + 1);
>  	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EINVAL);
>  
>  	/* Restore the CRTC and check the state matches the old. */
> -	igt_pipe_obj_replace_prop_blob(data->pipe, IGT_CRTC_MODE_ID, mode, sizeof(*mode));
> +	igt_crtc_replace_prop_blob(data->pipe, IGT_CRTC_MODE_ID, mode, sizeof(*mode));
>  	crtc_commit(data->pipe, data->primary, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
>  }
>  
> @@ -908,7 +908,7 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
>  	map = mmap(NULL, page_size, PROT_READ, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
>  	igt_assert(map != MAP_FAILED);
>  
> -	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
> +	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
>  	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EFAULT);
>  	munmap(map, page_size);
>  
> @@ -916,7 +916,7 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
>  	map = mmap(NULL, page_size, PROT_EXEC, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
>  	igt_assert(map != MAP_FAILED);
>  
> -	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
> +	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
>  	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EFAULT);
>  	munmap(map, page_size);
>  
> @@ -924,7 +924,7 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
>  	map = mmap(NULL, page_size, PROT_NONE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
>  	igt_assert(map != MAP_FAILED);
>  
> -	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
> +	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
>  	crtc_commit_atomic_err(data->pipe, data->primary, ATOMIC_RELAX_NONE, EFAULT);
>  	munmap(map, page_size);
>  
> @@ -932,8 +932,8 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
>  	fence_fd = sw_sync_timeline_create_fence(timeline, 1);
>  	igt_plane_set_fence_fd(data->primary, fence_fd);
>  
> -	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_ACTIVE, 0);
> -	igt_pipe_obj_clear_prop_changed(data->pipe, IGT_CRTC_OUT_FENCE_PTR);
> +	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_ACTIVE, 0);
> +	igt_crtc_clear_prop_changed(data->pipe, IGT_CRTC_OUT_FENCE_PTR);
>  
>  	crtc_commit_atomic_flags_err(data->pipe, data->primary, 0, ATOMIC_RELAX_NONE, EINVAL);
>  
> @@ -947,14 +947,14 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
>  	crtc_commit_atomic_flags_err(data->pipe, data->primary, DRM_MODE_PAGE_FLIP_EVENT,
>  				     ATOMIC_RELAX_NONE, EINVAL);
>  
> -	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_ACTIVE, 1);
> +	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_ACTIVE, 1);
>  
>  	/* Configuration should be valid again */
>  	crtc_commit_atomic_flags_err(data->pipe, data->primary, DRM_MODE_ATOMIC_TEST_ONLY,
>  				     ATOMIC_RELAX_NONE, 0);
>  
>  	/* Set invalid prop */
> -	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->fb.fb_id);
> +	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->fb.fb_id);
>  
>  	/* valid out fence but invalid prop on crtc */
>  	igt_pipe_request_out_fence(data->pipe);
> @@ -970,7 +970,7 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
>  				     ATOMIC_RELAX_NONE, EINVAL);
>  
>  	/* successful TEST_ONLY with fences set */
> -	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, old_mode_id);
> +	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, old_mode_id);
>  	crtc_commit_atomic_flags_err(data->pipe, data->primary, DRM_MODE_ATOMIC_TEST_ONLY,
>  				     ATOMIC_RELAX_NONE, 0);
>  	igt_assert(data->pipe->out_fence_fd == -1);
> @@ -979,8 +979,8 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
>  
>  	/* reset fences */
>  	igt_plane_set_fence_fd(data->primary, -1);
> -	igt_pipe_obj_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, 0);
> -	igt_pipe_obj_clear_prop_changed(data->pipe, IGT_CRTC_OUT_FENCE_PTR);
> +	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_OUT_FENCE_PTR, 0);
> +	igt_crtc_clear_prop_changed(data->pipe, IGT_CRTC_OUT_FENCE_PTR);
>  	crtc_commit(data->pipe, data->primary, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
>  
>  	/* out fence ptr but not page flip event */
> diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
> index 6aa3439eedae..4da3289073ce 100644
> --- a/tests/kms_atomic_transition.c
> +++ b/tests/kms_atomic_transition.c
> @@ -829,7 +829,7 @@ static unsigned set_combinations(data_t *data, unsigned mask, struct igt_fb *fb)
>  		drmModeModeInfo *mode = NULL;
>  
>  		if (!(mask & (1 << pipe))) {
> -			if (igt_pipe_obj_is_prop_changed(igt_crtc_for_pipe(&data->display, pipe), IGT_CRTC_ACTIVE)) {
> +			if (igt_crtc_is_prop_changed(igt_crtc_for_pipe(&data->display, pipe), IGT_CRTC_ACTIVE)) {
>  				event_mask |= 1 << pipe;
>  				igt_plane_set_fb(plane, NULL);
>  			}
> diff --git a/tests/kms_color.c b/tests/kms_color.c
> index 74ead943a798..2fc3aec75907 100644
> --- a/tests/kms_color.c
> +++ b/tests/kms_color.c
> @@ -94,8 +94,8 @@ static bool test_pipe_degamma(data_t *data,
>  	int fb_id, fb_modeset_id;
>  	bool ret;
>  
> -	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT));
> -	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
> +	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT));
> +	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
>  
>  	degamma_linear = generate_table(data->degamma_lut_size, 1.0);
>  	degamma_full = generate_table_max(data->degamma_lut_size);
> @@ -183,7 +183,7 @@ static bool test_pipe_gamma(data_t *data,
>  	int fb_id, fb_modeset_id;
>  	bool ret;
>  
> -	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
> +	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
>  
>  	gamma_full = generate_table_max(data->gamma_lut_size);
>  
> @@ -378,9 +378,9 @@ static bool test_pipe_legacy_gamma_reset(data_t *data,
>  	igt_output_t *output = data->output;
>  	bool ret = true;
>  
> -	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
> +	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
>  
> -	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
> +	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
>  		degamma_linear = generate_table(data->degamma_lut_size, 1.0);
>  	gamma_zero = generate_table_zero(data->gamma_lut_size);
>  
> @@ -397,14 +397,14 @@ static bool test_pipe_legacy_gamma_reset(data_t *data,
>  	 * properties and verify the content of the
>  	 * properties.
>  	 */
> -	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
> +	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
>  		set_degamma(data, primary->pipe, degamma_linear);
> -	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM))
> +	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_CTM))
>  		set_ctm(primary->pipe, ctm_identity);
>  	set_gamma(data, primary->pipe, gamma_zero);
>  	igt_display_commit(&data->display);
>  
> -	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT)) {
> +	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT)) {
>  		blob = get_blob(data, primary->pipe, IGT_CRTC_DEGAMMA_LUT);
>  		igt_assert(blob &&
>  			   blob->length == (sizeof(struct drm_color_lut) *
> @@ -412,7 +412,7 @@ static bool test_pipe_legacy_gamma_reset(data_t *data,
>  		drmModeFreePropertyBlob(blob);
>  	}
>  
> -	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM)) {
> +	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_CTM)) {
>  		blob = get_blob(data, primary->pipe, IGT_CRTC_CTM);
>  		igt_assert(blob &&
>  			   blob->length == sizeof(struct drm_color_ctm));
> @@ -459,11 +459,11 @@ static bool test_pipe_legacy_gamma_reset(data_t *data,
>  					  red_lut, green_lut, blue_lut), 0);
>  	igt_display_commit(&data->display);
>  
> -	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
> +	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
>  		igt_assert(get_blob(data, primary->pipe,
>  				    IGT_CRTC_DEGAMMA_LUT) == NULL);
>  
> -	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM))
> +	if (igt_crtc_has_prop(primary->pipe, IGT_CRTC_CTM))
>  		igt_assert(get_blob(data, primary->pipe, IGT_CRTC_CTM) == NULL);
>  
>  	blob = get_blob(data, primary->pipe, IGT_CRTC_GAMMA_LUT);
> @@ -514,7 +514,7 @@ static bool test_pipe_ctm(data_t *data,
>  	igt_crc_t crc_software, crc_hardware;
>  	int fb_id, fb_modeset_id;
>  
> -	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM));
> +	igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_CTM));
>  
>  	igt_output_set_crtc(output, primary->pipe);
>  	igt_output_override_mode(output, mode);
> @@ -546,7 +546,7 @@ static bool test_pipe_ctm(data_t *data,
>  	 * rounding issues and inaccuracies leading to crc mismatch.
>  	 */
>  	if (is_intel_device(data->drm_fd) && memcmp(before, after, sizeof(color_t))) {
> -		igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
> +		igt_require(igt_crtc_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT));
>  
>  		gamma_linear = generate_table(256, 1.0);
>  
> @@ -714,16 +714,16 @@ prep_pipe(data_t *data, enum pipe p)
>  {
>  	igt_require_pipe(&data->display, p);
>  
> -	if (igt_pipe_obj_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_DEGAMMA_LUT_SIZE)) {
> +	if (igt_crtc_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_DEGAMMA_LUT_SIZE)) {
>  		data->degamma_lut_size =
> -			igt_pipe_obj_get_prop(igt_crtc_for_pipe(&data->display, p),
> +			igt_crtc_get_prop(igt_crtc_for_pipe(&data->display, p),
>  					      IGT_CRTC_DEGAMMA_LUT_SIZE);
>  		igt_assert_lt(0, data->degamma_lut_size);
>  	}
>  
> -	if (igt_pipe_obj_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_GAMMA_LUT_SIZE)) {
> +	if (igt_crtc_has_prop(igt_crtc_for_pipe(&data->display, p), IGT_CRTC_GAMMA_LUT_SIZE)) {
>  		data->gamma_lut_size =
> -			igt_pipe_obj_get_prop(igt_crtc_for_pipe(&data->display, p),
> +			igt_crtc_get_prop(igt_crtc_for_pipe(&data->display, p),
>  					      IGT_CRTC_GAMMA_LUT_SIZE);
>  		igt_assert_lt(0, data->gamma_lut_size);
>  	}
> diff --git a/tests/kms_color_helper.c b/tests/kms_color_helper.c
> index 9e68ef334f91..817c5eb110d5 100644
> --- a/tests/kms_color_helper.c
> +++ b/tests/kms_color_helper.c
> @@ -227,7 +227,7 @@ void set_degamma(data_t *data,
>  	struct drm_color_lut *lut = coeffs_to_lut(data, gamma,
>  						  data->color_depth, 0);
>  
> -	igt_pipe_obj_replace_prop_blob(pipe, IGT_CRTC_DEGAMMA_LUT, lut, size);
> +	igt_crtc_replace_prop_blob(pipe, IGT_CRTC_DEGAMMA_LUT, lut, size);
>  
>  	free(lut);
>  }
> @@ -239,7 +239,7 @@ void set_gamma(data_t *data,
>  	struct drm_color_lut *lut = coeffs_to_lut(data, gamma,
>  						  data->color_depth, 0);
>  
> -	igt_pipe_obj_replace_prop_blob(pipe, IGT_CRTC_GAMMA_LUT, lut, size);
> +	igt_crtc_replace_prop_blob(pipe, IGT_CRTC_GAMMA_LUT, lut, size);
>  
>  	free(lut);
>  }
> @@ -261,13 +261,13 @@ void set_ctm(igt_crtc_t *pipe, const double *coefficients)
>  				((int64_t) 1L << 32));
>  	}
>  
> -	igt_pipe_obj_replace_prop_blob(pipe, IGT_CRTC_CTM, &ctm, sizeof(ctm));
> +	igt_crtc_replace_prop_blob(pipe, IGT_CRTC_CTM, &ctm, sizeof(ctm));
>  }
>  
>  void disable_prop(igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop)
>  {
> -	if (igt_pipe_obj_has_prop(pipe, prop))
> -		igt_pipe_obj_replace_prop_blob(pipe, prop, NULL, 0);
> +	if (igt_crtc_has_prop(pipe, prop))
> +		igt_crtc_replace_prop_blob(pipe, prop, NULL, 0);
>  }
>  
>  drmModePropertyBlobPtr
> @@ -275,7 +275,7 @@ get_blob(data_t *data, igt_crtc_t *pipe, enum igt_atomic_crtc_properties prop)
>  {
>  	uint64_t prop_value;
>  
> -	prop_value = igt_pipe_obj_get_prop(pipe, prop);
> +	prop_value = igt_crtc_get_prop(pipe, prop);
>  
>  	if (prop_value == 0)
>  		return NULL;
> @@ -290,15 +290,15 @@ pipe_set_property_blob_id(igt_crtc_t *pipe,
>  {
>  	int ret;
>  
> -	igt_pipe_obj_replace_prop_blob(pipe, prop, NULL, 0);
> +	igt_crtc_replace_prop_blob(pipe, prop, NULL, 0);
>  
> -	igt_pipe_obj_set_prop_value(pipe, prop, blob_id);
> +	igt_crtc_set_prop_value(pipe, prop, blob_id);
>  
>  	ret = igt_display_try_commit2(pipe->display,
>  				      pipe->display->is_atomic ?
>  				      COMMIT_ATOMIC : COMMIT_LEGACY);
>  
> -	igt_pipe_obj_set_prop_value(pipe, prop, 0);
> +	igt_crtc_set_prop_value(pipe, prop, 0);
>  
>  	return ret;
>  }
> @@ -308,7 +308,7 @@ pipe_set_property_blob(igt_crtc_t *pipe,
>  		       enum igt_atomic_crtc_properties prop,
>  		       void *ptr, size_t length)
>  {
> -	igt_pipe_obj_replace_prop_blob(pipe, prop, ptr, length);
> +	igt_crtc_replace_prop_blob(pipe, prop, ptr, length);
>  
>  	return igt_display_try_commit2(pipe->display,
>  				       pipe->display->is_atomic ?
> @@ -324,7 +324,7 @@ invalid_lut_sizes(data_t *data, enum pipe p,
>  	struct drm_color_lut *lut;
>  	size_t lut_size = size * sizeof(lut[0]);
>  
> -	igt_require(igt_pipe_obj_has_prop(pipe, prop));
> +	igt_require(igt_crtc_has_prop(pipe, prop));
>  
>  	lut = malloc(lut_size * 2);
>  
> @@ -366,7 +366,7 @@ void invalid_ctm_matrix_sizes(data_t *data, enum pipe p)
>  	igt_crtc_t *pipe = igt_crtc_for_pipe(display, p);
>  	void *ptr;
>  
> -	igt_require(igt_pipe_obj_has_prop(pipe, IGT_CRTC_CTM));
> +	igt_require(igt_crtc_has_prop(pipe, IGT_CRTC_CTM));
>  
>  	ptr = malloc(sizeof(struct drm_color_ctm) * 4);
>  
> diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
> index f7896592b3ff..f1b98424db79 100644
> --- a/tests/kms_content_protection.c
> +++ b/tests/kms_content_protection.c
> @@ -484,11 +484,11 @@ static void test_content_protection_on_output(igt_output_t *output,
>  		test_cp_lic(output);
>  
>  	if (data.cp_tests & CP_DPMS) {
> -		igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(display, pipe),
> +		igt_crtc_set_prop_value(igt_crtc_for_pipe(display, pipe),
>  					    IGT_CRTC_ACTIVE, 0);
>  		igt_display_commit2(display, commit_style);
>  
> -		igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(display, pipe),
> +		igt_crtc_set_prop_value(igt_crtc_for_pipe(display, pipe),
>  					    IGT_CRTC_ACTIVE, 1);
>  		igt_display_commit2(display, commit_style);
>  
> diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c
> index f05b3b87ad57..eaceea0035ea 100644
> --- a/tests/kms_vrr.c
> +++ b/tests/kms_vrr.c
> @@ -309,7 +309,7 @@ static bool vrr_capable(igt_output_t *output)
>  static void set_vrr_on_pipe(data_t *data, enum pipe pipe,
>  			    bool need_modeset, bool enabled)
>  {
> -	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
> +	igt_crtc_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
>  				    IGT_CRTC_VRR_ENABLED,
>  				    enabled);
>  
> @@ -406,7 +406,7 @@ static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe)
>  	/* Clear vrr_enabled state before enabling it, because
>  	 * it might be left enabled if the previous test fails.
>  	 */
> -	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
> +	igt_crtc_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
>  				    IGT_CRTC_VRR_ENABLED, 0);
>  
>  	igt_display_commit2(&data->display, COMMIT_ATOMIC);
> @@ -970,7 +970,7 @@ 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)
>  {
> -	igt_pipe_obj_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
> +	igt_crtc_set_prop_value(igt_crtc_for_pipe(&data->display, pipe),
>  				    IGT_CRTC_VRR_ENABLED, false);
>  
>  	if (data->primary)

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 03/12] lib/kms: Pass igt_crtc_t to igt_pipe_refresh()
  2026-01-20 17:16 ` [PATCH i-g-t 03/12] lib/kms: Pass igt_crtc_t to igt_pipe_refresh() Ville Syrjala
@ 2026-01-21  8:57   ` Jani Nikula
  0 siblings, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2026-01-21  8:57 UTC (permalink / raw)
  To: Ville Syrjala, igt-dev

On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Pass the igt_crtc_t instead of the pipe to
> igt_pipe_refresh(). One step towards eliminating
> pipe usage from tests.
>
> Done with cocci (with manual fixup for docs):
>  #include "scripts/iterators.cocci"
>
> @@
> typedef igt_display_t;
> typedef igt_crtc_t;
> identifier DISPLAY, PIPE, CRTC;
> expression E;
> @@
> igt_pipe_refresh(
> -	igt_display_t *DISPLAY, enum pipe PIPE
> +	igt_crtc_t *CRTC
> 	,...)
> {
> ...
> - igt_crtc_t *CRTC = igt_crtc_for_pipe(DISPLAY, PIPE);
> + igt_display_t *DISPLAY = CRTC->display;
> ...
> }
>
> @@
> expression DISPLAY, PIPE;
> @@
> igt_pipe_refresh(
> -	DISPLAY, PIPE
> +	igt_crtc_for_pipe(DISPLAY, PIPE)
> 	,...)
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  lib/igt_kms.c                    | 9 ++++-----
>  lib/igt_kms.h                    | 2 +-
>  tests/intel/kms_busy.c           | 2 +-
>  tests/kms_atomic_interruptible.c | 2 +-
>  tests/kms_concurrent.c           | 2 +-
>  tests/kms_rmfb.c                 | 3 ++-
>  6 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index d5436c4cdd2e..a7d259923932 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -5465,19 +5465,18 @@ bool igt_fit_modes_in_bw(igt_display_t *display)
>  
>  /**
>   * igt_pipe_refresh:
> - * @display: a pointer to an #igt_display_t structure
> - * @pipe: Pipe to refresh
> + * @pipe_obj: CRTC to refresh
>   * @force: Should be set to true if mode_blob is no longer considered
>   * to be valid, for example after doing an atomic commit during fork or closing display fd.
>   *
> - * Requests the pipe to be part of the state on next update.
> + * Requests the CRTC to be part of the state on next update.
>   * This is useful when state may have been out of sync after
>   * a fork, or we just want to be sure the pipe is included
>   * in the next commit.
>   */
> -void igt_pipe_refresh(igt_display_t *display, enum pipe pipe, bool force)
> +void igt_pipe_refresh(igt_crtc_t *pipe_obj, bool force)
>  {
> -	igt_crtc_t *pipe_obj = igt_crtc_for_pipe(display, pipe);
> +	igt_display_t *display = pipe_obj->display;
>  
>  	if (force && display->is_atomic) {
>  		igt_output_t *output = igt_pipe_get_output(pipe_obj);
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index f12baf94504e..5e3108f56e11 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -1119,7 +1119,7 @@ extern void igt_crtc_set_prop_enum(igt_crtc_t *pipe,
>  extern void igt_crtc_replace_prop_blob(igt_crtc_t *pipe,
>  					   enum igt_atomic_crtc_properties prop,
>  					   const void *ptr, size_t length);
> -void igt_pipe_refresh(igt_display_t *display, enum pipe pipe, bool force);
> +void igt_pipe_refresh(igt_crtc_t *pipe_obj, bool force);
>  
>  void igt_enable_connectors(int drm_fd);
>  void igt_reset_connectors(void);
> diff --git a/tests/intel/kms_busy.c b/tests/intel/kms_busy.c
> index c38d45dd020d..55ad6f19a905 100644
> --- a/tests/intel/kms_busy.c
> +++ b/tests/intel/kms_busy.c
> @@ -161,7 +161,7 @@ static void flip_to_fb(igt_display_t *dpy, int pipe,
>  		gem_quiescent_gpu(dpy->drm_fd);
>  
>  		/* Clear old mode blob. */
> -		igt_pipe_refresh(dpy, pipe, true);
> +		igt_pipe_refresh(igt_crtc_for_pipe(dpy, pipe), true);
>  
>  		igt_output_set_crtc(output,
>  				    igt_crtc_for_pipe(output->display, pipe));
> diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c
> index b519fc635a54..090c0ead7a24 100644
> --- a/tests/kms_atomic_interruptible.c
> +++ b/tests/kms_atomic_interruptible.c
> @@ -297,7 +297,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_pipe_refresh(display, pipe, true);
> +		igt_pipe_refresh(igt_crtc_for_pipe(display, pipe), true);
>  
>  	igt_plane_set_fb(plane, NULL);
>  	igt_plane_set_fb(primary, NULL);
> diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
> index 4ef8e0f56339..8198832727cc 100644
> --- a/tests/kms_concurrent.c
> +++ b/tests/kms_concurrent.c
> @@ -233,7 +233,7 @@ test_plane_position_with_output(data_t *data, enum pipe pipe, int max_planes,
>  	bool loop_forever = opt.iterations == LOOP_FOREVER ? true : false;
>  	int ret;
>  
> -	igt_pipe_refresh(&data->display, pipe, true);
> +	igt_pipe_refresh(igt_crtc_for_pipe(&data->display, pipe), true);
>  
>  	i = 0;
>  	while (i < iterations || loop_forever) {
> diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c
> index 4726d4745d58..774d011a0531 100644
> --- a/tests/kms_rmfb.c
> +++ b/tests/kms_rmfb.c
> @@ -147,7 +147,8 @@ test_rmfb(struct rmfb_data *data, igt_output_t *output, enum pipe pipe, bool reo
>  		drmSetClientCap(data->drm_fd, DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1);
>  		drmSetClientCap(data->drm_fd, DRM_CLIENT_CAP_ATOMIC, 1);
>  
> -		igt_pipe_refresh(&data->display, pipe, true);
> +		igt_pipe_refresh(igt_crtc_for_pipe(&data->display, pipe),
> +				 true);
>  	} else {
>  		igt_remove_fb(data->drm_fd, &fb);
>  		igt_remove_fb(data->drm_fd, &argb_fb);

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 04/12] lib/kms: Don't pass 'display' to igt_fill_pipe_props)_
  2026-01-20 17:16 ` [PATCH i-g-t 04/12] lib/kms: Don't pass 'display' to igt_fill_pipe_props)_ Ville Syrjala
@ 2026-01-21  8:58   ` Jani Nikula
  2026-01-21  8:58   ` Jani Nikula
  1 sibling, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2026-01-21  8:58 UTC (permalink / raw)
  To: Ville Syrjala, igt-dev

On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> igt_fill_pipe_props() can dig the display out from
> the crtc. No need to pass it in explicitly.
>
> Done with cocci:
>  #include "scripts/iterators.cocci"
>
> @@
> identifier DISPLAY, CRTC;
> @@
> igt_fill_pipe_props(
> -	igt_display_t *DISPLAY,
> 	igt_crtc_t *CRTC, ...)
> {
> + igt_display_t *DISPLAY = CRTC->display;
> ...
> }
>
> @@
> expression DISPLAY;
> @@
> igt_fill_pipe_props(
> -	DISPLAY,
> 	...)
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  lib/igt_kms.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index a7d259923932..33e510acc514 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -964,9 +964,10 @@ igt_atomic_fill_connector_props(igt_display_t *display, igt_output_t *output,
>  }
>  
>  static void
> -igt_fill_pipe_props(igt_display_t *display, igt_crtc_t *pipe,
> +igt_fill_pipe_props(igt_crtc_t *pipe,
>  		    int num_crtc_props, const char * const crtc_prop_names[])
>  {
> +	igt_display_t *display = pipe->display;
>  	drmModeObjectPropertiesPtr props;
>  	int i, j, fd;
>  
> @@ -3123,7 +3124,7 @@ static void igt_crtc_init(igt_display_t *display,
>  	pipe->planes = NULL;
>  	pipe->num_primary_planes = 0;
>  
> -	igt_fill_pipe_props(display, pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
> +	igt_fill_pipe_props(pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
>  
>  	/* Get valid crtc index from crtcs for a pipe */
>  	crtc_mask = __get_crtc_mask_for_pipe(resources, pipe);

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 04/12] lib/kms: Don't pass 'display' to igt_fill_pipe_props)_
  2026-01-20 17:16 ` [PATCH i-g-t 04/12] lib/kms: Don't pass 'display' to igt_fill_pipe_props)_ Ville Syrjala
  2026-01-21  8:58   ` Jani Nikula
@ 2026-01-21  8:58   ` Jani Nikula
  1 sibling, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2026-01-21  8:58 UTC (permalink / raw)
  To: Ville Syrjala, igt-dev

On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> igt_fill_pipe_props() can dig the display out from
> the crtc. No need to pass it in explicitly.

Argh, why do I always notice commit message issues just after hitting
send on r-b.

The subject has stray ")_" at the end.

>
> Done with cocci:
>  #include "scripts/iterators.cocci"
>
> @@
> identifier DISPLAY, CRTC;
> @@
> igt_fill_pipe_props(
> -	igt_display_t *DISPLAY,
> 	igt_crtc_t *CRTC, ...)
> {
> + igt_display_t *DISPLAY = CRTC->display;
> ...
> }
>
> @@
> expression DISPLAY;
> @@
> igt_fill_pipe_props(
> -	DISPLAY,
> 	...)
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  lib/igt_kms.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index a7d259923932..33e510acc514 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -964,9 +964,10 @@ igt_atomic_fill_connector_props(igt_display_t *display, igt_output_t *output,
>  }
>  
>  static void
> -igt_fill_pipe_props(igt_display_t *display, igt_crtc_t *pipe,
> +igt_fill_pipe_props(igt_crtc_t *pipe,
>  		    int num_crtc_props, const char * const crtc_prop_names[])
>  {
> +	igt_display_t *display = pipe->display;
>  	drmModeObjectPropertiesPtr props;
>  	int i, j, fd;
>  
> @@ -3123,7 +3124,7 @@ static void igt_crtc_init(igt_display_t *display,
>  	pipe->planes = NULL;
>  	pipe->num_primary_planes = 0;
>  
> -	igt_fill_pipe_props(display, pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
> +	igt_fill_pipe_props(pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
>  
>  	/* Get valid crtc index from crtcs for a pipe */
>  	crtc_mask = __get_crtc_mask_for_pipe(resources, pipe);

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 05/12] lib/kms: Rename a bunch of crtc functions
  2026-01-20 17:16 ` [PATCH i-g-t 05/12] lib/kms: Rename a bunch of crtc functions Ville Syrjala
@ 2026-01-21  9:06   ` Jani Nikula
  0 siblings, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2026-01-21  9:06 UTC (permalink / raw)
  To: Ville Syrjala, igt-dev

On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Rename a bunch of the functions that take igt_crtc_t
> to also use the 'crtc' terminology in the function
> name.
>
> Done with cocci (with manual fixup for docs):
>  #include "scripts/iterators.cocci"
>
> @@
> @@
> (
> - igt_pipe_request_out_fence
> + igt_crtc_request_out_fence
> |
> - igt_pipe_get_plane
> + igt_crtc_get_plane
> |
> - igt_pipe_get_plane_type
> + igt_crtc_get_plane_type
> |
> - igt_pipe_count_plane_type
> + igt_crtc_count_plane_type
> |
> - igt_pipe_get_plane_type_index
> + igt_crtc_get_plane_type_index
> |
> - igt_pipe_reset
> + igt_crtc_reset
> |
> - igt_pipe_fini
> + igt_crtc_fini
> |
> - igt_pipe_get_output
> + igt_crtc_get_output
> |
> - igt_pipe_commit
> + igt_crtc_commit
> |
> - igt_pipe_refresh
> + igt_crtc_refresh
> |
> - igt_fill_pipe_props
> + igt_fill_crtc_props
> |
> - igt_plane_set_pipe
> + igt_plane_set_crtc
> )
>  (...) { ... }
>
> @@
> @@
> (
> - igt_pipe_request_out_fence
> + igt_crtc_request_out_fence
> |
> - igt_pipe_get_plane
> + igt_crtc_get_plane
> |
> - igt_pipe_get_plane_type
> + igt_crtc_get_plane_type
> |
> - igt_pipe_count_plane_type
> + igt_crtc_count_plane_type
> |
> - igt_pipe_get_plane_type_index
> + igt_crtc_get_plane_type_index
> |
> - igt_pipe_reset
> + igt_crtc_reset
> |
> - igt_pipe_fini
> + igt_crtc_fini
> |
> - igt_pipe_get_output
> + igt_crtc_get_output
> |
> - igt_pipe_commit
> + igt_crtc_commit
> |
> - igt_pipe_refresh
> + igt_crtc_refresh
> |
> - igt_fill_pipe_props
> + igt_fill_crtc_props
> |
> - igt_plane_set_pipe
> + igt_plane_set_crtc
> )
>  (...)
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  lib/igt_kms.c                                 | 64 +++++++++----------
>  lib/igt_kms.h                                 | 12 ++--
>  tests/amdgpu/amd_abm.c                        |  2 +-
>  tests/amdgpu/amd_assr.c                       |  2 +-
>  tests/amdgpu/amd_bypass.c                     |  2 +-
>  tests/amdgpu/amd_color.c                      |  2 +-
>  tests/amdgpu/amd_cursor_overlay.c             |  8 +--
>  tests/amdgpu/amd_dp_dsc.c                     |  2 +-
>  tests/amdgpu/amd_hotplug.c                    |  6 +-
>  tests/amdgpu/amd_mall.c                       |  2 +-
>  tests/amdgpu/amd_max_bpc.c                    |  2 +-
>  tests/amdgpu/amd_mem_leak.c                   |  2 +-
>  tests/amdgpu/amd_mode_switch.c                |  2 +-
>  tests/amdgpu/amd_multidisplay_modeset.c       |  2 +-
>  tests/amdgpu/amd_odm.c                        |  2 +-
>  tests/amdgpu/amd_plane.c                      |  8 +--
>  tests/amdgpu/amd_psr.c                        |  6 +-
>  tests/amdgpu/amd_replay.c                     |  2 +-
>  tests/amdgpu/amd_subvp.c                      |  2 +-
>  tests/chamelium/kms_chamelium_color.c         |  2 +-
>  .../kms_chamelium_sharpness_filter.c          |  2 +-
>  tests/intel/gem_pxp.c                         |  4 +-
>  tests/intel/kms_busy.c                        |  2 +-
>  tests/intel/kms_cdclk.c                       |  2 +-
>  tests/intel/kms_frontbuffer_tracking.c        |  6 +-
>  tests/intel/kms_sharpness_filter.c            |  2 +-
>  tests/intel/xe_pxp.c                          |  6 +-
>  tests/kms_atomic.c                            | 16 ++---
>  tests/kms_atomic_interruptible.c              |  2 +-
>  tests/kms_atomic_transition.c                 | 14 ++--
>  tests/kms_bw.c                                |  2 +-
>  tests/kms_color.c                             |  2 +-
>  tests/kms_color_pipeline.c                    |  2 +-
>  tests/kms_concurrent.c                        |  2 +-
>  tests/kms_cursor_legacy.c                     |  8 +--
>  tests/kms_display_modes.c                     |  8 +--
>  tests/kms_dither.c                            |  2 +-
>  tests/kms_hdr.c                               |  2 +-
>  tests/kms_lease.c                             | 10 +--
>  tests/kms_multipipe_modeset.c                 |  4 +-
>  tests/kms_plane_alpha_blend.c                 | 10 +--
>  tests/kms_plane_cursor.c                      |  8 +--
>  tests/kms_plane_scaling.c                     |  6 +-
>  tests/kms_rmfb.c                              |  2 +-
>  tools/amd_hdmi_compliance.c                   |  2 +-
>  45 files changed, 129 insertions(+), 129 deletions(-)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 33e510acc514..74ad82d77dd3 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -964,7 +964,7 @@ igt_atomic_fill_connector_props(igt_display_t *display, igt_output_t *output,
>  }
>  
>  static void
> -igt_fill_pipe_props(igt_crtc_t *pipe,
> +igt_fill_crtc_props(igt_crtc_t *pipe,
>  		    int num_crtc_props, const char * const crtc_prop_names[])
>  {
>  	igt_display_t *display = pipe->display;
> @@ -2732,7 +2732,7 @@ static void igt_plane_reset(igt_plane_t *plane)
>  	plane->gem_handle = 0;
>  }
>  
> -static void igt_pipe_reset(igt_crtc_t *pipe)
> +static void igt_crtc_reset(igt_crtc_t *pipe)
>  {
>  	igt_crtc_set_prop_value(pipe, IGT_CRTC_MODE_ID, 0);
>  	igt_crtc_set_prop_value(pipe, IGT_CRTC_ACTIVE, 0);
> @@ -2836,7 +2836,7 @@ void igt_display_reset(igt_display_t *display)
>  		for_each_plane_on_pipe(display, pipe, plane)
>  			igt_plane_reset(plane);
>  
> -		igt_pipe_reset(pipe_obj);
> +		igt_crtc_reset(pipe_obj);
>  	}
>  
>  	for (i = 0; i < display->n_outputs; i++) {
> @@ -3106,7 +3106,7 @@ static void igt_crtc_plane_init(igt_display_t *display,
>  	 * it can go on.
>  	 */
>  	if (!global_plane->ref)
> -		igt_plane_set_pipe(plane, pipe);
> +		igt_plane_set_crtc(plane, pipe);
>  
>  	igt_fill_plane_props(display, plane, IGT_NUM_PLANE_PROPS, igt_plane_prop_names);
>  
> @@ -3124,7 +3124,7 @@ static void igt_crtc_init(igt_display_t *display,
>  	pipe->planes = NULL;
>  	pipe->num_primary_planes = 0;
>  
> -	igt_fill_pipe_props(pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
> +	igt_fill_crtc_props(pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
>  
>  	/* Get valid crtc index from crtcs for a pipe */
>  	crtc_mask = __get_crtc_mask_for_pipe(resources, pipe);
> @@ -3435,7 +3435,7 @@ void igt_modeset_disable_all_outputs(igt_display_t *display)
>  
>  }
>  
> -static void igt_pipe_fini(igt_crtc_t *pipe)
> +static void igt_crtc_fini(igt_crtc_t *pipe)
>  {
>  	free(pipe->planes);
>  	pipe->planes = NULL;
> @@ -3477,7 +3477,7 @@ void igt_display_fini(igt_display_t *display)
>  	}
>  
>  	for (i = 0; i < igt_display_n_crtcs(display); i++)
> -		igt_pipe_fini(igt_crtc_for_pipe(display, i));
> +		igt_crtc_fini(igt_crtc_for_pipe(display, i));
>  
>  	for (i = 0; i < display->n_outputs; i++)
>  		igt_output_fini(&display->outputs[i]);
> @@ -3551,7 +3551,7 @@ static igt_crtc_t *igt_output_get_driving_pipe(igt_output_t *output)
>  	return igt_crtc_for_pipe(display, pipe);
>  }
>  
> -static igt_plane_t *igt_pipe_get_plane(igt_crtc_t *pipe, int plane_idx)
> +static igt_plane_t *igt_crtc_get_plane(igt_crtc_t *pipe, int plane_idx)
>  {
>  	igt_require_f(plane_idx >= 0 && plane_idx < pipe->n_planes,
>  		      "Valid pipe->planes plane_idx not found, plane_idx=%d n_planes=%d",
> @@ -3561,7 +3561,7 @@ static igt_plane_t *igt_pipe_get_plane(igt_crtc_t *pipe, int plane_idx)
>  }
>  
>  /**
> - * igt_pipe_get_plane_type:
> + * igt_crtc_get_plane_type:
>   * @pipe: Target pipe
>   * @plane_type: Cursor, primary or an overlay plane
>   *
> @@ -3570,7 +3570,7 @@ static igt_plane_t *igt_pipe_get_plane(igt_crtc_t *pipe, int plane_idx)
>   *
>   * Returns: A #igt_plane_t structure that matches the requested plane type
>   */
> -igt_plane_t *igt_pipe_get_plane_type(igt_crtc_t *pipe, int plane_type)
> +igt_plane_t *igt_crtc_get_plane_type(igt_crtc_t *pipe, int plane_type)
>  {
>  	int plane_idx = plane_type_index(pipe, plane_type);
>  
> @@ -3589,7 +3589,7 @@ igt_plane_t *igt_pipe_get_plane_type(igt_crtc_t *pipe, int plane_type)
>  }
>  
>  /**
> - * igt_pipe_count_plane_type:
> + * igt_crtc_count_plane_type:
>   * @pipe: Target pipe
>   * @plane_type: Cursor, primary or an overlay plane
>   *
> @@ -3597,7 +3597,7 @@ igt_plane_t *igt_pipe_get_plane_type(igt_crtc_t *pipe, int plane_type)
>   *
>   * Returns: The number of planes that match the requested plane type
>   */
> -int igt_pipe_count_plane_type(igt_crtc_t *pipe, int plane_type)
> +int igt_crtc_count_plane_type(igt_crtc_t *pipe, int plane_type)
>  {
>  	int i, count = 0;
>  
> @@ -3609,7 +3609,7 @@ int igt_pipe_count_plane_type(igt_crtc_t *pipe, int plane_type)
>  }
>  
>  /**
> - * igt_pipe_get_plane_type_index:
> + * igt_crtc_get_plane_type_index:
>   * @pipe: Target pipe
>   * @plane_type: Cursor, primary or an overlay plane
>   * @index: the index of the plane among planes of the same type
> @@ -3618,7 +3618,7 @@ int igt_pipe_count_plane_type(igt_crtc_t *pipe, int plane_type)
>   *
>   * Returns: The @index th plane that matches the requested plane type
>   */
> -igt_plane_t *igt_pipe_get_plane_type_index(igt_crtc_t *pipe, int plane_type,
> +igt_plane_t *igt_crtc_get_plane_type_index(igt_crtc_t *pipe, int plane_type,
>  					   int index)
>  {
>  	int i, type_index = 0;
> @@ -3742,7 +3742,7 @@ igt_output_t *igt_get_single_output_for_pipe(igt_display_t *display, enum pipe p
>  	return chosen_outputs[pipe];
>  }
>  
> -static igt_output_t *igt_pipe_get_output(igt_crtc_t *pipe)
> +static igt_output_t *igt_crtc_get_output(igt_crtc_t *pipe)
>  {
>  	igt_display_t *display = pipe->display;
>  	int i;
> @@ -4048,7 +4048,7 @@ static int igt_primary_plane_commit_legacy(igt_plane_t *primary,
>  					   bool fail_on_error)
>  {
>  	struct igt_display *display = primary->pipe->display;
> -	igt_output_t *output = igt_pipe_get_output(pipe);
> +	igt_output_t *output = igt_crtc_get_output(pipe);
>  	drmModeModeInfo *mode;
>  	uint32_t fb_id, crtc_id;
>  	int ret;
> @@ -4163,7 +4163,7 @@ static int igt_plane_commit(igt_plane_t *plane,
>  			    enum igt_commit_style s,
>  			    bool fail_on_error)
>  {
> -	igt_plane_t *plane_primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +	igt_plane_t *plane_primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	if (pipe->display->first_commit || (s == COMMIT_UNIVERSAL &&
>  	     igt_plane_is_prop_changed(plane, IGT_PLANE_ROTATION))) {
> @@ -4203,7 +4203,7 @@ static bool is_atomic_prop(enum igt_atomic_crtc_properties prop)
>   * further programming will take place, which may result in some changes
>   * taking effect and others not taking effect.
>   */
> -static int igt_pipe_commit(igt_crtc_t *pipe,
> +static int igt_crtc_commit(igt_crtc_t *pipe,
>  			   enum igt_commit_style s,
>  			   bool fail_on_error)
>  {
> @@ -4979,7 +4979,7 @@ static int do_display_commit(igt_display_t *display,
>  			igt_crtc_t *pipe_obj = igt_crtc_for_pipe(display,
>  								 pipe);
>  
> -			ret = igt_pipe_commit(pipe_obj, s, fail_on_error);
> +			ret = igt_crtc_commit(pipe_obj, s, fail_on_error);
>  			if (ret)
>  				break;
>  		}
> @@ -5332,7 +5332,7 @@ void igt_output_set_crtc(igt_output_t *output, igt_crtc_t *pipe_obj)
>  	if (old_pipe) {
>  		igt_output_t *old_output;
>  
> -		old_output = igt_pipe_get_output(old_pipe);
> +		old_output = igt_crtc_get_output(old_pipe);
>  		if (!old_output) {
>  			if (display->is_atomic)
>  				igt_crtc_replace_prop_blob(old_pipe, IGT_CRTC_MODE_ID, NULL, 0);
> @@ -5465,7 +5465,7 @@ bool igt_fit_modes_in_bw(igt_display_t *display)
>  }
>  
>  /**
> - * igt_pipe_refresh:
> + * igt_crtc_refresh:
>   * @pipe_obj: CRTC to refresh
>   * @force: Should be set to true if mode_blob is no longer considered
>   * to be valid, for example after doing an atomic commit during fork or closing display fd.
> @@ -5475,12 +5475,12 @@ bool igt_fit_modes_in_bw(igt_display_t *display)
>   * a fork, or we just want to be sure the pipe is included
>   * in the next commit.
>   */
> -void igt_pipe_refresh(igt_crtc_t *pipe_obj, bool force)
> +void igt_crtc_refresh(igt_crtc_t *pipe_obj, bool force)
>  {
>  	igt_display_t *display = pipe_obj->display;
>  
>  	if (force && display->is_atomic) {
> -		igt_output_t *output = igt_pipe_get_output(pipe_obj);
> +		igt_output_t *output = igt_crtc_get_output(pipe_obj);
>  
>  		pipe_obj->values[IGT_CRTC_MODE_ID] = 0;
>  		if (output)
> @@ -5507,7 +5507,7 @@ igt_plane_t *igt_output_get_plane(igt_output_t *output, int plane_idx)
>  	pipe = igt_output_get_driving_pipe(output);
>  	igt_assert(pipe);
>  
> -	return igt_pipe_get_plane(pipe, plane_idx);
> +	return igt_crtc_get_plane(pipe, plane_idx);
>  }
>  
>  /**
> @@ -5527,7 +5527,7 @@ igt_plane_t *igt_output_get_plane_type(igt_output_t *output, int plane_type)
>  	pipe = igt_output_get_driving_pipe(output);
>  	igt_assert(pipe);
>  
> -	return igt_pipe_get_plane_type(pipe, plane_type);
> +	return igt_crtc_get_plane_type(pipe, plane_type);
>  }
>  
>  /**
> @@ -5544,7 +5544,7 @@ int igt_output_count_plane_type(igt_output_t *output, int plane_type)
>  	igt_crtc_t *pipe = igt_output_get_driving_pipe(output);
>  	igt_assert(pipe);
>  
> -	return igt_pipe_count_plane_type(pipe, plane_type);
> +	return igt_crtc_count_plane_type(pipe, plane_type);
>  }
>  
>  /**
> @@ -5563,7 +5563,7 @@ igt_plane_t *igt_output_get_plane_type_index(igt_output_t *output,
>  	igt_crtc_t *pipe = igt_output_get_driving_pipe(output);
>  	igt_assert(pipe);
>  
> -	return igt_pipe_get_plane_type_index(pipe, plane_type, index);
> +	return igt_crtc_get_plane_type_index(pipe, plane_type, index);
>  }
>  
>  /**
> @@ -5612,7 +5612,7 @@ void igt_plane_set_fb(igt_plane_t *plane, struct igt_fb *fb)
>  		}
>  
>  		/* Hack to prioritize the plane on the pipe that last set fb */
> -		igt_plane_set_pipe(plane, pipe);
> +		igt_plane_set_crtc(plane, pipe);
>  	} else {
>  		igt_plane_set_size(plane, 0, 0);
>  
> @@ -5648,11 +5648,11 @@ void igt_plane_set_fence_fd(igt_plane_t *plane, int fence_fd)
>  }
>  
>  /**
> - * igt_plane_set_pipe:
> + * igt_plane_set_crtc:
>   * @plane: Target plane pointer
>   * @pipe: The pipe to assign the plane to
>   */
> -void igt_plane_set_pipe(igt_plane_t *plane, igt_crtc_t *pipe)
> +void igt_plane_set_crtc(igt_plane_t *plane, igt_crtc_t *pipe)
>  {
>  	/*
>  	 * HACK: Point the global plane back to the local plane.
> @@ -5797,13 +5797,13 @@ void igt_plane_set_rotation(igt_plane_t *plane, igt_rotation_t rotation)
>  }
>  
>  /**
> - * igt_pipe_request_out_fence:
> + * igt_crtc_request_out_fence:
>   * @pipe: pipe which out fence will be requested for
>   *
>   * Marks this pipe for requesting an out fence at the next atomic commit
>   * will contain the fd number of the out fence created by KMS.
>   */
> -void igt_pipe_request_out_fence(igt_crtc_t *pipe)
> +void igt_crtc_request_out_fence(igt_crtc_t *pipe)
>  {
>  	igt_crtc_set_prop_value(pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)&pipe->out_fence_fd);
>  }
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index 5e3108f56e11..71a2f2c4d89c 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -604,18 +604,18 @@ drmModeModeInfo *igt_std_1024_mode_get(int vrefresh);
>  void igt_output_set_writeback_fb(igt_output_t *output, struct igt_fb *fb);
>  void igt_modeset_disable_all_outputs(igt_display_t *display);
>  
> -igt_plane_t *igt_pipe_get_plane_type(igt_crtc_t *pipe, int plane_type);
> -int igt_pipe_count_plane_type(igt_crtc_t *pipe, int plane_type);
> -igt_plane_t *igt_pipe_get_plane_type_index(igt_crtc_t *pipe, int plane_type,
> +igt_plane_t *igt_crtc_get_plane_type(igt_crtc_t *pipe, int plane_type);
> +int igt_crtc_count_plane_type(igt_crtc_t *pipe, int plane_type);
> +igt_plane_t *igt_crtc_get_plane_type_index(igt_crtc_t *pipe, int plane_type,
>  					   int index);
>  bool output_is_internal_panel(igt_output_t *output);
>  igt_output_t *igt_get_single_output_for_pipe(igt_display_t *display, enum pipe pipe);
>  
> -void igt_pipe_request_out_fence(igt_crtc_t *pipe);
> +void igt_crtc_request_out_fence(igt_crtc_t *pipe);
>  
>  void igt_plane_set_fb(igt_plane_t *plane, struct igt_fb *fb);
>  void igt_plane_set_fence_fd(igt_plane_t *plane, int fence_fd);
> -void igt_plane_set_pipe(igt_plane_t *plane, igt_crtc_t *pipe);
> +void igt_plane_set_crtc(igt_plane_t *plane, igt_crtc_t *pipe);
>  void igt_plane_set_position(igt_plane_t *plane, int x, int y);
>  void igt_plane_set_size(igt_plane_t *plane, int w, int h);
>  void igt_plane_set_rotation(igt_plane_t *plane, igt_rotation_t rotation);
> @@ -1119,7 +1119,7 @@ extern void igt_crtc_set_prop_enum(igt_crtc_t *pipe,
>  extern void igt_crtc_replace_prop_blob(igt_crtc_t *pipe,
>  					   enum igt_atomic_crtc_properties prop,
>  					   const void *ptr, size_t length);
> -void igt_pipe_refresh(igt_crtc_t *pipe_obj, bool force);
> +void igt_crtc_refresh(igt_crtc_t *pipe_obj, bool force);
>  
>  void igt_enable_connectors(int drm_fd);
>  void igt_reset_connectors(void);
> diff --git a/tests/amdgpu/amd_abm.c b/tests/amdgpu/amd_abm.c
> index 6d6fce320467..0048304baf9c 100644
> --- a/tests/amdgpu/amd_abm.c
> +++ b/tests/amdgpu/amd_abm.c
> @@ -144,7 +144,7 @@ static void test_init(data_t *data)
>  	kmstest_dump_mode(data->mode);
>  
>  	data->primary =
> -		 igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> +		 igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	igt_output_set_crtc(data->output,
>  			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> diff --git a/tests/amdgpu/amd_assr.c b/tests/amdgpu/amd_assr.c
> index a0c8d111d4a3..3c4ec0a86f17 100644
> --- a/tests/amdgpu/amd_assr.c
> +++ b/tests/amdgpu/amd_assr.c
> @@ -169,7 +169,7 @@ static void present_visual_pattern(data_t *data, igt_output_t *output)
>  
>  	pipe = igt_crtc_for_pipe(&data->display, PIPE_A);
>  	primary =
> -		igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +		igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  	igt_output_set_crtc(output,
>  			    pipe);
>  
> diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
> index 80aa46890fc1..359387859d08 100644
> --- a/tests/amdgpu/amd_bypass.c
> +++ b/tests/amdgpu/amd_bypass.c
> @@ -87,7 +87,7 @@ static void test_init(data_t *data)
>  	igt_assert(data->mode);
>  
>  	data->primary =
> -		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> +		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe_id,
>  					  AMDGPU_PIPE_CRC_SOURCE_DPRX);
> diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
> index ed3e9170f615..d1e164673560 100644
> --- a/tests/amdgpu/amd_color.c
> +++ b/tests/amdgpu/amd_color.c
> @@ -191,7 +191,7 @@ static void test_init(data_t *data)
>  	igt_assert(data->mode);
>  
>  	data->primary =
> -		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> +		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
> diff --git a/tests/amdgpu/amd_cursor_overlay.c b/tests/amdgpu/amd_cursor_overlay.c
> index 481219f9f726..dff03cb9aa52 100644
> --- a/tests/amdgpu/amd_cursor_overlay.c
> +++ b/tests/amdgpu/amd_cursor_overlay.c
> @@ -141,16 +141,16 @@ static void test_init(data_t *data, enum pipe pipe_id, igt_output_t *output,
>  	data->pipe = &data->display.pipes[data->pipe_id];
>  	data->output = output;
>  	data->mode = igt_output_get_mode(data->output);
> -	data->primary = igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> -	data->cursor = igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_CURSOR);
> +	data->primary = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> +	data->cursor = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_CURSOR);
>  
>  	if (flags & TEST_MAX_PLANES)
>  		for (i = 0; i < available_overlay_planes - 1; i++)
> -			data->overlays[i] = igt_pipe_get_plane_type_index(data->pipe,
> +			data->overlays[i] = igt_crtc_get_plane_type_index(data->pipe,
>  						DRM_PLANE_TYPE_OVERLAY, i);
>  	if (flags & TEST_NO_AVAILABLE_PLANES)
>  		for (i = 0; i < available_overlay_planes; i++)
> -			data->overlays[i] = igt_pipe_get_plane_type_index(data->pipe,
> +			data->overlays[i] = igt_crtc_get_plane_type_index(data->pipe,
>  						DRM_PLANE_TYPE_OVERLAY, i);
>  
>  	igt_info("Using (pipe %s + %s) to run the subtest.\n",
> diff --git a/tests/amdgpu/amd_dp_dsc.c b/tests/amdgpu/amd_dp_dsc.c
> index 11d77c6e9f4a..91298ba20cde 100644
> --- a/tests/amdgpu/amd_dp_dsc.c
> +++ b/tests/amdgpu/amd_dp_dsc.c
> @@ -67,7 +67,7 @@ static void test_init(data_t *data)
>  		data->pipe_id[i] = PIPE_A + i;
>  		data->pipe[i] = igt_crtc_for_pipe(&data->display,
>  						  data->pipe_id[i]);
> -		data->primary[i] = igt_pipe_get_plane_type(
> +		data->primary[i] = igt_crtc_get_plane_type(
>  				data->pipe[i], DRM_PLANE_TYPE_PRIMARY);
>  		data->pipe_crc[i] =
>  				igt_pipe_crc_new(data->fd, data->pipe_id[i],
> diff --git a/tests/amdgpu/amd_hotplug.c b/tests/amdgpu/amd_hotplug.c
> index e2982f755d46..774630696a61 100644
> --- a/tests/amdgpu/amd_hotplug.c
> +++ b/tests/amdgpu/amd_hotplug.c
> @@ -57,11 +57,11 @@ static void test_init(data_t *data)
>  		data->pipe_id[i] = PIPE_A + i;
>  		data->pipe[i] = igt_crtc_for_pipe(&data->display,
>  						  data->pipe_id[i]);
> -		data->primary[i] = igt_pipe_get_plane_type(
> +		data->primary[i] = igt_crtc_get_plane_type(
>  			data->pipe[i], DRM_PLANE_TYPE_PRIMARY);
> -		data->overlay[i] = igt_pipe_get_plane_type_index(
> +		data->overlay[i] = igt_crtc_get_plane_type_index(
>  			data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 0);
> -		data->cursor[i] = igt_pipe_get_plane_type(
> +		data->cursor[i] = igt_crtc_get_plane_type(
>  			data->pipe[i], DRM_PLANE_TYPE_CURSOR);
>  		data->pipe_crc[i] =
>  			igt_pipe_crc_new(data->fd, data->pipe_id[i],
> diff --git a/tests/amdgpu/amd_mall.c b/tests/amdgpu/amd_mall.c
> index 5364cf797163..1673bfd8531f 100644
> --- a/tests/amdgpu/amd_mall.c
> +++ b/tests/amdgpu/amd_mall.c
> @@ -83,7 +83,7 @@ static void test_init(data_t *data)
>  	igt_assert(data->mode);
>  
>  	data->primary =
> -		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> +		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
> diff --git a/tests/amdgpu/amd_max_bpc.c b/tests/amdgpu/amd_max_bpc.c
> index 9abf7abd3800..b5e3f7aa40cf 100644
> --- a/tests/amdgpu/amd_max_bpc.c
> +++ b/tests/amdgpu/amd_max_bpc.c
> @@ -80,7 +80,7 @@ static void test_init(data_t *data)
>  				    data->output->name, 8);
>  
>  	data->primary =
> -		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> +		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
> diff --git a/tests/amdgpu/amd_mem_leak.c b/tests/amdgpu/amd_mem_leak.c
> index 68fbe5f4167f..e6321c215d4e 100644
> --- a/tests/amdgpu/amd_mem_leak.c
> +++ b/tests/amdgpu/amd_mem_leak.c
> @@ -65,7 +65,7 @@ static void test_init(data_t *data)
>  	igt_assert(data->mode);
>  
>  	data->primary =
> -		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> +		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	igt_output_set_crtc(data->output,
>  			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> diff --git a/tests/amdgpu/amd_mode_switch.c b/tests/amdgpu/amd_mode_switch.c
> index d142873e9372..fa6d5a323a27 100644
> --- a/tests/amdgpu/amd_mode_switch.c
> +++ b/tests/amdgpu/amd_mode_switch.c
> @@ -41,7 +41,7 @@ static void test_init(data_t *data)
>  	for_each_pipe(display, i) {
>  		igt_output_t *output = &display->outputs[i];
>  
> -		data->primary[i] = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->display, i),
> +		data->primary[i] = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->display, i),
>  							   DRM_PLANE_TYPE_PRIMARY);
>  
>  		data->output[i] = output;
> diff --git a/tests/amdgpu/amd_multidisplay_modeset.c b/tests/amdgpu/amd_multidisplay_modeset.c
> index a35eeb7ab9d4..e2200be2dbb3 100644
> --- a/tests/amdgpu/amd_multidisplay_modeset.c
> +++ b/tests/amdgpu/amd_multidisplay_modeset.c
> @@ -161,7 +161,7 @@ static void test_init(struct data_t *data)
>  		 */
>  		output = igt_get_single_output_for_pipe(display, i);
>  		pipes = igt_crtc_for_pipe(display, i);
> -		data->primary[i] = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->display, i),
> +		data->primary[i] = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->display, i),
>  							   DRM_PLANE_TYPE_PRIMARY);
>  		data->output[i] = output;
>  
> diff --git a/tests/amdgpu/amd_odm.c b/tests/amdgpu/amd_odm.c
> index 3decc7d805e0..c8c268b982e5 100644
> --- a/tests/amdgpu/amd_odm.c
> +++ b/tests/amdgpu/amd_odm.c
> @@ -76,7 +76,7 @@ static void test_init(struct data *data)
>  		      data->output->config.connector->connector_type == DRM_MODE_CONNECTOR_HDMIB,
>  		      "ODM Combine isn't supported on HDMI 1.x\n");
>  
> -	data->primary = igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> +	data->primary = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  	igt_output_set_crtc(data->output,
>  			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
>  
> diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c
> index 06d2ace58a49..f56723d74485 100644
> --- a/tests/amdgpu/amd_plane.c
> +++ b/tests/amdgpu/amd_plane.c
> @@ -157,13 +157,13 @@ static void test_init(data_t *data)
>  	for_each_pipe(display, i) {
>  		data->pipe_id[i] = PIPE_A + i;
>  		data->pipe[i] = igt_crtc_for_pipe(display, data->pipe_id[i]);
> -		data->primary[i] = igt_pipe_get_plane_type(
> +		data->primary[i] = igt_crtc_get_plane_type(
>  			data->pipe[i], DRM_PLANE_TYPE_PRIMARY);
> -		data->overlay[i] = igt_pipe_get_plane_type_index(
> +		data->overlay[i] = igt_crtc_get_plane_type_index(
>  			data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 0);
> -		data->overlay2[i] = igt_pipe_get_plane_type_index(
> +		data->overlay2[i] = igt_crtc_get_plane_type_index(
>  			data->pipe[i], DRM_PLANE_TYPE_OVERLAY, 1);
> -		data->cursor[i] = igt_pipe_get_plane_type(
> +		data->cursor[i] = igt_crtc_get_plane_type(
>  			data->pipe[i], DRM_PLANE_TYPE_CURSOR);
>  		data->pipe_crc[i] =
>  			igt_pipe_crc_new(data->fd, data->pipe_id[i],
> diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c
> index c66dcf1ef39d..b98d43718251 100644
> --- a/tests/amdgpu/amd_psr.c
> +++ b/tests/amdgpu/amd_psr.c
> @@ -185,13 +185,13 @@ static void test_init(data_t *data)
>  	kmstest_dump_mode(data->mode);
>  
>  	data->primary =
> -		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> +		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	data->cursor =
> -		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_CURSOR);
> +		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_CURSOR);
>  
>  	data->overlay =
> -		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_OVERLAY);
> +		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_OVERLAY);
>  
>  	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
> diff --git a/tests/amdgpu/amd_replay.c b/tests/amdgpu/amd_replay.c
> index 3104c436a326..65707a3c384e 100644
> --- a/tests/amdgpu/amd_replay.c
> +++ b/tests/amdgpu/amd_replay.c
> @@ -75,7 +75,7 @@ static void test_init(struct test_data *data)
>  	kmstest_dump_mode(data->mode);
>  
>  	data->primary =
> -		 igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> +		 igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	igt_output_set_crtc(data->output,
>  			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> diff --git a/tests/amdgpu/amd_subvp.c b/tests/amdgpu/amd_subvp.c
> index 66114d36a8af..a4ee50a85f78 100644
> --- a/tests/amdgpu/amd_subvp.c
> +++ b/tests/amdgpu/amd_subvp.c
> @@ -67,7 +67,7 @@ static void test_init(struct data *data)
>  		data->pipe_id[i] = PIPE_A + i;
>  		data->pipe[i] = igt_crtc_for_pipe(&data->display,
>  						  data->pipe_id[i]);
> -		data->primary[i] = igt_pipe_get_plane_type(data->pipe[i],
> +		data->primary[i] = igt_crtc_get_plane_type(data->pipe[i],
>  							   DRM_PLANE_TYPE_PRIMARY);
>  		data->pipe_crc[i] = igt_pipe_crc_new(data->fd,
>  						     data->pipe_id[i],
> diff --git a/tests/chamelium/kms_chamelium_color.c b/tests/chamelium/kms_chamelium_color.c
> index 86d43509244a..e00013a78665 100644
> --- a/tests/chamelium/kms_chamelium_color.c
> +++ b/tests/chamelium/kms_chamelium_color.c
> @@ -459,7 +459,7 @@ static int test_setup(data_t *data, enum pipe p)
>  	pipe = igt_crtc_for_pipe(&data->display, p);
>  	igt_require(pipe->n_planes >= 0);
>  
> -	data->primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +	data->primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	/*
>  	 * Prefer to run this test on HDMI connector if its connected, since on DP we
> diff --git a/tests/chamelium/kms_chamelium_sharpness_filter.c b/tests/chamelium/kms_chamelium_sharpness_filter.c
> index 21d4b6fe649e..14189687c29c 100644
> --- a/tests/chamelium/kms_chamelium_sharpness_filter.c
> +++ b/tests/chamelium/kms_chamelium_sharpness_filter.c
> @@ -185,7 +185,7 @@ static int test_setup(data_t *data, enum pipe p)
>  	pipe = igt_crtc_for_pipe(&data->display, p);
>  	igt_require(pipe->n_planes >= 0);
>  
> -	data->primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +	data->primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  	igt_assert(data->primary);
>  
>  	/*
> diff --git a/tests/intel/gem_pxp.c b/tests/intel/gem_pxp.c
> index 31a872e4b559..9015397c8a91 100644
> --- a/tests/intel/gem_pxp.c
> +++ b/tests/intel/gem_pxp.c
> @@ -1227,7 +1227,7 @@ static void test_display_protected_crc(int i915, igt_display_t *display)
>  	for_each_connected_output(display, output) {
>  		mode = igt_output_get_mode(output);
>  		pipe = igt_crtc_for_pipe(display, i);
> -		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  		igt_require(igt_pipe_connector_valid(i, output));
>  		igt_output_set_crtc(output,
>  				    igt_crtc_for_pipe(output->display, i));
> @@ -1247,7 +1247,7 @@ static void test_display_protected_crc(int i915, igt_display_t *display)
>  		pipe = igt_crtc_for_pipe(display, output->pending_pipe);
>  		pipe_crc = igt_pipe_crc_new(i915, pipe->pipe,
>  					    IGT_PIPE_CRC_SOURCE_AUTO);
> -		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  		igt_require(igt_pipe_connector_valid(pipe->pipe, output));
>  		igt_output_set_crtc(output, pipe);
>  
> diff --git a/tests/intel/kms_busy.c b/tests/intel/kms_busy.c
> index 55ad6f19a905..35a52a2994d9 100644
> --- a/tests/intel/kms_busy.c
> +++ b/tests/intel/kms_busy.c
> @@ -161,7 +161,7 @@ static void flip_to_fb(igt_display_t *dpy, int pipe,
>  		gem_quiescent_gpu(dpy->drm_fd);
>  
>  		/* Clear old mode blob. */
> -		igt_pipe_refresh(igt_crtc_for_pipe(dpy, pipe), true);
> +		igt_crtc_refresh(igt_crtc_for_pipe(dpy, pipe), true);
>  
>  		igt_output_set_crtc(output,
>  				    igt_crtc_for_pipe(output->display, pipe));
> diff --git a/tests/intel/kms_cdclk.c b/tests/intel/kms_cdclk.c
> index a9c4dda98f2c..36ce46a44f64 100644
> --- a/tests/intel/kms_cdclk.c
> +++ b/tests/intel/kms_cdclk.c
> @@ -242,7 +242,7 @@ static void set_mode(data_t *data, int count, drmModeModeInfo *mode,
>  
>  	for (int i = 0; i < count; i++) {
>  		pipe = igt_crtc_for_pipe(display, i);
> -		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  		igt_output_override_mode(valid_outputs[i], &mode[i]);
>  
> diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c
> index dee3e898f7f7..e8c8e342f5dc 100644
> --- a/tests/intel/kms_frontbuffer_tracking.c
> +++ b/tests/intel/kms_frontbuffer_tracking.c
> @@ -1116,7 +1116,7 @@ static void init_mode_params(struct modeset_params *params,
>  	params->output = output;
>  	params->mode = *mode;
>  
> -	params->primary.plane = igt_pipe_get_plane_type(igt_crtc_for_pipe(&drm.display, pipe),
> +	params->primary.plane = igt_crtc_get_plane_type(igt_crtc_for_pipe(&drm.display, pipe),
>  							DRM_PLANE_TYPE_PRIMARY);
>  	params->primary.fb = NULL;
>  	params->primary.x = 0;
> @@ -1124,7 +1124,7 @@ static void init_mode_params(struct modeset_params *params,
>  	params->primary.w = mode->hdisplay;
>  	params->primary.h = mode->vdisplay;
>  
> -	params->cursor.plane = igt_pipe_get_plane_type(igt_crtc_for_pipe(&drm.display, pipe),
> +	params->cursor.plane = igt_crtc_get_plane_type(igt_crtc_for_pipe(&drm.display, pipe),
>  						       DRM_PLANE_TYPE_CURSOR);
>  	params->cursor.fb = NULL;
>  	params->cursor.x = 0;
> @@ -1132,7 +1132,7 @@ static void init_mode_params(struct modeset_params *params,
>  	params->cursor.w = 64;
>  	params->cursor.h = 64;
>  
> -	params->sprite.plane = igt_pipe_get_plane_type(igt_crtc_for_pipe(&drm.display, pipe),
> +	params->sprite.plane = igt_crtc_get_plane_type(igt_crtc_for_pipe(&drm.display, pipe),
>  						       DRM_PLANE_TYPE_OVERLAY);
>  	igt_require(params->sprite.plane);
>  	params->sprite.fb = NULL;
> diff --git a/tests/intel/kms_sharpness_filter.c b/tests/intel/kms_sharpness_filter.c
> index 94c11ed2fecb..2f3044c7a9c7 100644
> --- a/tests/intel/kms_sharpness_filter.c
> +++ b/tests/intel/kms_sharpness_filter.c
> @@ -338,7 +338,7 @@ static void test_sharpness_filter(data_t *data,  enum test_type type)
>  	igt_pipe_crc_t *pipe_crc = NULL;
>  	int ret;
>  
> -	data->plane[0] = igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> +	data->plane[0] = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  	igt_skip_on_f(!igt_plane_has_format_mod(data->plane[0], data->format, data->modifier),
>  		      "No requested format/modifier on pipe %s\n", kmstest_pipe_name(data->pipe_id));
>  
> diff --git a/tests/intel/xe_pxp.c b/tests/intel/xe_pxp.c
> index 967130f26f32..87c2c67394dd 100644
> --- a/tests/intel/xe_pxp.c
> +++ b/tests/intel/xe_pxp.c
> @@ -848,7 +848,7 @@ static void compare_crcs(int fd, igt_display_t *display, igt_fb_t *ref_fb, igt_f
>  		pipe = igt_crtc_for_pipe(display, output->pending_pipe);
>  		pipe_crc = igt_pipe_crc_new(fd, pipe->pipe,
>  					    IGT_PIPE_CRC_SOURCE_AUTO);
> -		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  		igt_require(igt_pipe_connector_valid(pipe->pipe, output));
>  		igt_output_set_crtc(output, pipe);
>  
> @@ -903,7 +903,7 @@ static void test_display_pxp_fb(int fd, igt_display_t *display)
>  	for_each_connected_output(display, output) {
>  		mode = igt_output_get_mode(output);
>  		pipe = igt_crtc_for_pipe(display, i);
> -		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  		igt_require(igt_pipe_connector_valid(i, output));
>  		igt_output_set_crtc(output,
>  				    igt_crtc_for_pipe(output->display, i));
> @@ -961,7 +961,7 @@ static void test_display_black_pxp_fb(int fd, igt_display_t *display)
>  	for_each_connected_output(display, output) {
>  		mode = igt_output_get_mode(output);
>  		pipe = igt_crtc_for_pipe(display, i);
> -		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  		igt_require(igt_pipe_connector_valid(i, output));
>  		igt_output_set_crtc(output,
>  				    igt_crtc_for_pipe(output->display, i));
> diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
> index d20a500f37c7..8966637c450b 100644
> --- a/tests/kms_atomic.c
> +++ b/tests/kms_atomic.c
> @@ -938,12 +938,12 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
>  	crtc_commit_atomic_flags_err(data->pipe, data->primary, 0, ATOMIC_RELAX_NONE, EINVAL);
>  
>  	/* valid out fence ptr and flip event but not allowed prop on crtc */
> -	igt_pipe_request_out_fence(data->pipe);
> +	igt_crtc_request_out_fence(data->pipe);
>  	crtc_commit_atomic_flags_err(data->pipe, data->primary, DRM_MODE_PAGE_FLIP_EVENT,
>  				     ATOMIC_RELAX_NONE, EINVAL);
>  
>  	/* valid flip event but not allowed prop on crtc */
> -	igt_pipe_request_out_fence(data->pipe);
> +	igt_crtc_request_out_fence(data->pipe);
>  	crtc_commit_atomic_flags_err(data->pipe, data->primary, DRM_MODE_PAGE_FLIP_EVENT,
>  				     ATOMIC_RELAX_NONE, EINVAL);
>  
> @@ -957,7 +957,7 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
>  	igt_crtc_set_prop_value(data->pipe, IGT_CRTC_MODE_ID, data->fb.fb_id);
>  
>  	/* valid out fence but invalid prop on crtc */
> -	igt_pipe_request_out_fence(data->pipe);
> +	igt_crtc_request_out_fence(data->pipe);
>  	crtc_commit_atomic_flags_err(data->pipe, data->primary, 0,
>  				     ATOMIC_RELAX_NONE, EINVAL);
>  
> @@ -984,7 +984,7 @@ static void crtc_invalid_params_fence(data_t *data, igt_output_t *output)
>  	crtc_commit(data->pipe, data->primary, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
>  
>  	/* out fence ptr but not page flip event */
> -	igt_pipe_request_out_fence(data->pipe);
> +	igt_crtc_request_out_fence(data->pipe);
>  	crtc_commit(data->pipe, data->primary, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
>  
>  	igt_assert(data->pipe->out_fence_fd != -1);
> @@ -1333,7 +1333,7 @@ static void atomic_setup(data_t *data, enum pipe pipe, igt_output_t *output)
>  	igt_display_reset(&data->display);
>  	igt_output_set_crtc(output, igt_crtc_for_pipe(output->display, pipe));
>  
> -	data->primary = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->display, pipe),
> +	data->primary = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->display, pipe),
>  						DRM_PLANE_TYPE_PRIMARY);
>  	data->pipe = igt_crtc_for_pipe(&data->display, pipe);
>  	mode = igt_output_get_mode(output);
> @@ -1419,7 +1419,7 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
>  	igt_subtest_with_dynamic("plane-overlay-legacy") {
>  		for_each_pipe_with_single_output(&data.display, pipe, output) {
>  			igt_plane_t *overlay =
> -				igt_pipe_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
> +				igt_crtc_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
>  							DRM_PLANE_TYPE_OVERLAY);
>  			uint32_t format = plane_get_igt_format(overlay);
>  
> @@ -1458,7 +1458,7 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
>  	igt_subtest_with_dynamic("plane-primary-overlay-mutable-zpos") {
>  		for_each_pipe_with_single_output(&data.display, pipe, output) {
>  			igt_plane_t *overlay =
> -				igt_pipe_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
> +				igt_crtc_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
>  							DRM_PLANE_TYPE_OVERLAY);
>  
>  			if (!pipe_output_combo_valid(&data.display, pipe, output))
> @@ -1530,7 +1530,7 @@ int igt_main_args("e", NULL, help_str, opt_handler, NULL)
>  	igt_subtest_with_dynamic("plane-cursor-legacy") {
>  		for_each_pipe_with_single_output(&data.display, pipe, output) {
>  			igt_plane_t *cursor =
> -				igt_pipe_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
> +				igt_crtc_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
>  							DRM_PLANE_TYPE_CURSOR);
>  
>  			if (!pipe_output_combo_valid(&data.display, pipe, output))
> diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c
> index 090c0ead7a24..d51c79efe7f0 100644
> --- a/tests/kms_atomic_interruptible.c
> +++ b/tests/kms_atomic_interruptible.c
> @@ -297,7 +297,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_pipe_refresh(igt_crtc_for_pipe(display, pipe), true);
> +		igt_crtc_refresh(igt_crtc_for_pipe(display, pipe), true);
>  
>  	igt_plane_set_fb(plane, NULL);
>  	igt_plane_set_fb(primary, NULL);
> diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
> index 4da3289073ce..883a90e04a1a 100644
> --- a/tests/kms_atomic_transition.c
> +++ b/tests/kms_atomic_transition.c
> @@ -509,7 +509,7 @@ static void unprepare_fencing(data_t *data, enum pipe pipe)
>  static void atomic_commit(data_t *data_v, enum pipe pipe, unsigned int flags, void *data, bool fencing)
>  {
>  	if (fencing)
> -		igt_pipe_request_out_fence(igt_crtc_for_pipe(&data_v->display, pipe));
> +		igt_crtc_request_out_fence(igt_crtc_for_pipe(&data_v->display, pipe));
>  
>  	igt_display_commit_atomic(&data_v->display, flags, data);
>  }
> @@ -610,7 +610,7 @@ run_transition_test(data_t *data, enum pipe pipe, igt_output_t *output,
>  		wm_setup_plane(data, pipe, iter_max - 1, parms, false);
>  
>  		if (fencing)
> -			igt_pipe_request_out_fence(pipe_obj);
> +			igt_crtc_request_out_fence(pipe_obj);
>  
>  		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));
> @@ -805,7 +805,7 @@ static unsigned set_combinations(data_t *data, unsigned mask, struct igt_fb *fb)
>  	unset_output_pipe(&data->display);
>  
>  	for_each_pipe(&data->display, pipe) {
> -		igt_plane_t *plane = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->display, pipe),
> +		igt_plane_t *plane = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->display, pipe),
>  							     DRM_PLANE_TYPE_PRIMARY);
>  
>  		enum pipe old_pipe = plane->ref->pipe->pipe;
> @@ -815,7 +815,7 @@ static unsigned set_combinations(data_t *data, unsigned mask, struct igt_fb *fb)
>  		 * currently is holding the plane
>  		 */
>  		if (old_pipe != pipe) {
> -			igt_plane_t *old_plane = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->display, old_pipe),
> +			igt_plane_t *old_plane = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->display, old_pipe),
>  									 DRM_PLANE_TYPE_PRIMARY);
>  
>  			igt_plane_set_fb(old_plane, NULL);
> @@ -824,7 +824,7 @@ static unsigned set_combinations(data_t *data, unsigned mask, struct igt_fb *fb)
>  	}
>  
>  	for_each_pipe(&data->display, pipe) {
> -		igt_plane_t *plane = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->display, pipe),
> +		igt_plane_t *plane = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->display, pipe),
>  							     DRM_PLANE_TYPE_PRIMARY);
>  		drmModeModeInfo *mode = NULL;
>  
> @@ -922,7 +922,7 @@ retry:
>  
>  	for_each_pipe(&data->display, i) {
>  		igt_crtc_t *pipe = igt_crtc_for_pipe(&data->display, i);
> -		igt_plane_t *plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +		igt_plane_t *plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  		drmModeModeInfo *mode = NULL;
>  
>  		/* count enable pipes to set max iteration */
> @@ -957,7 +957,7 @@ retry:
>  			igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
>  
>  			if (fencing)
> -				igt_pipe_request_out_fence(igt_crtc_for_pipe(&data->display, i));
> +				igt_crtc_request_out_fence(igt_crtc_for_pipe(&data->display, i));
>  		} else {
>  			igt_plane_set_fb(plane, NULL);
>  		}
> diff --git a/tests/kms_bw.c b/tests/kms_bw.c
> index 4e41be942cb1..13c8e3bec2b9 100644
> --- a/tests/kms_bw.c
> +++ b/tests/kms_bw.c
> @@ -127,7 +127,7 @@ static void test_init(data_t *data, bool physical)
>  		data->pipe_id[i] = i;
>  		data->pipe[i] = igt_crtc_for_pipe(&data->display,
>  						  data->pipe_id[i]);
> -		data->primary[i] = igt_pipe_get_plane_type(
> +		data->primary[i] = igt_crtc_get_plane_type(
>  			data->pipe[i], DRM_PLANE_TYPE_PRIMARY);
>  		data->pipe_crc[i] =
>  			igt_pipe_crc_new(data->fd, data->pipe_id[i],
> diff --git a/tests/kms_color.c b/tests/kms_color.c
> index 2fc3aec75907..529fa33ab000 100644
> --- a/tests/kms_color.c
> +++ b/tests/kms_color.c
> @@ -739,7 +739,7 @@ static void test_setup(data_t *data, enum pipe p)
>  	pipe = igt_crtc_for_pipe(&data->display, p);
>  	igt_require(pipe->n_planes >= 0);
>  
> -	data->primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +	data->primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  	data->pipe_crc = igt_pipe_crc_new(data->drm_fd,
>  					  data->primary->pipe->pipe,
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
> diff --git a/tests/kms_color_pipeline.c b/tests/kms_color_pipeline.c
> index 3c9a2cdee55f..e1b7c50e6d5f 100644
> --- a/tests/kms_color_pipeline.c
> +++ b/tests/kms_color_pipeline.c
> @@ -58,7 +58,7 @@ static void test_setup(data_t *data, enum pipe p)
>  
>  	igt_output_set_crtc(data->output, pipe);
>  
> -	data->primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +	data->primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  	data->mode = igt_output_get_mode(data->output);
>  	igt_require(data->mode);
>  
> diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
> index 8198832727cc..4431432e5cbc 100644
> --- a/tests/kms_concurrent.c
> +++ b/tests/kms_concurrent.c
> @@ -233,7 +233,7 @@ test_plane_position_with_output(data_t *data, enum pipe pipe, int max_planes,
>  	bool loop_forever = opt.iterations == LOOP_FOREVER ? true : false;
>  	int ret;
>  
> -	igt_pipe_refresh(igt_crtc_for_pipe(&data->display, pipe), true);
> +	igt_crtc_refresh(igt_crtc_for_pipe(&data->display, pipe), true);
>  
>  	i = 0;
>  	while (i < iterations || loop_forever) {
> diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
> index 7171e565cd51..d5a61e30e6a7 100644
> --- a/tests/kms_cursor_legacy.c
> +++ b/tests/kms_cursor_legacy.c
> @@ -472,7 +472,7 @@ find_connected_pipe(igt_display_t *display, bool second, igt_output_t **output)
>  static void flip_nonblocking(igt_display_t *display, enum pipe pipe_id, bool atomic, struct igt_fb *fb, void *data)
>  {
>  	igt_crtc_t *pipe = igt_crtc_for_pipe(display, pipe_id);
> -	igt_plane_t *primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +	igt_plane_t *primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  	int ret;
>  
>  	igt_set_timeout(5, "Scheduling page flip\n");
> @@ -536,8 +536,8 @@ static void transition_nonblocking(igt_display_t *display, enum pipe pipe_id,
>  				   bool hide_sprite)
>  {
>  	igt_crtc_t *pipe = igt_crtc_for_pipe(display, pipe_id);
> -	igt_plane_t *primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> -	igt_plane_t *sprite = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_OVERLAY);
> +	igt_plane_t *primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +	igt_plane_t *sprite = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_OVERLAY);
>  
>  	if (hide_sprite) {
>  		igt_plane_set_fb(primary, prim_fb);
> @@ -636,7 +636,7 @@ static void flip(igt_display_t *display,
>  
>  	if (mode == flip_test_atomic_transitions ||
>  		mode == flip_test_atomic_transitions_varying_size) {
> -		igt_require(igt_pipe_get_plane_type(igt_crtc_for_pipe(display, flip_pipe),
> +		igt_require(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, flip_pipe),
>  						    DRM_PLANE_TYPE_OVERLAY));
>  	}
>  
> diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c
> index 818ebf32c2f0..77f5677fe69e 100644
> --- a/tests/kms_display_modes.c
> +++ b/tests/kms_display_modes.c
> @@ -105,9 +105,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_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe1),
> +	plane[0] = igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe1),
>  					   DRM_PLANE_TYPE_PRIMARY);
> -	plane[1] = igt_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe2),
> +	plane[1] = igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe2),
>  					   DRM_PLANE_TYPE_PRIMARY);
>  
>  	igt_plane_set_fb(plane[0], &fbs[0]);
> @@ -161,10 +161,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_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe1),
> +	igt_plane_set_fb(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe1),
>  						 DRM_PLANE_TYPE_PRIMARY),
>  			 NULL);
> -	igt_plane_set_fb(igt_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe2),
> +	igt_plane_set_fb(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe2),
>  						 DRM_PLANE_TYPE_PRIMARY),
>  			 NULL);
>  	igt_assert_f(igt_fit_modes_in_bw(display), "Unable to fit modes in bw\n");
> diff --git a/tests/kms_dither.c b/tests/kms_dither.c
> index f79fbb2cb2f3..6b3efef71818 100644
> --- a/tests/kms_dither.c
> +++ b/tests/kms_dither.c
> @@ -79,7 +79,7 @@ static void prepare_test(data_t *data, igt_output_t *output, enum pipe p)
>  	igt_assert(pipe);
>  
>  	data->primary =
> -		igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +		igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	igt_output_set_crtc(output, pipe);
>  }
> diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c
> index 1df12aeab254..8f05a4f40e64 100644
> --- a/tests/kms_hdr.c
> +++ b/tests/kms_hdr.c
> @@ -220,7 +220,7 @@ static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe)
>  	igt_assert(data->mode);
>  
>  	data->primary =
> -		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> +		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
> diff --git a/tests/kms_lease.c b/tests/kms_lease.c
> index 4111a26b4c8b..6d45d041b5b4 100644
> --- a/tests/kms_lease.c
> +++ b/tests/kms_lease.c
> @@ -909,7 +909,7 @@ static void invalid_create_leases(data_t *data)
>  	igt_assert_eq(create_lease(data->master.fd, &mcl, NULL), -EINVAL);
>  
>  	/* sanity check */
> -	object_ids[2] = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
> +	object_ids[2] = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
>  						DRM_PLANE_TYPE_PRIMARY)->drm_plane->plane_id;
>  	mcl.object_count = 3;
>  	igt_assert_eq(create_lease(data->master.fd, &mcl, NULL), 0);
> @@ -1076,7 +1076,7 @@ static int _create_simple_lease(int master_fd, data_t *data, int expected_ret)
>  
>  	object_ids[0] = igt_crtc_for_pipe(&data->master.display, 0)->crtc_id;
>  	object_ids[1] = data->master.display.outputs[0].id;
> -	object_ids[2] = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
> +	object_ids[2] = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
>  						DRM_PLANE_TYPE_PRIMARY)->drm_plane->plane_id;
>  	mcl.object_ids = (uint64_t) (uintptr_t) object_ids;
>  	mcl.object_count = 3;
> @@ -1164,12 +1164,12 @@ static void implicit_plane_lease(data_t *data)
>  	struct drm_mode_create_lease mcl;
>  	struct drm_mode_get_lease mgl;
>  	int ret;
> -	uint32_t cursor_id = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
> +	uint32_t cursor_id = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
>  						     DRM_PLANE_TYPE_CURSOR)->drm_plane->plane_id;
>  
>  	object_ids[0] = igt_crtc_for_pipe(&data->master.display, 0)->crtc_id;
>  	object_ids[1] = data->master.display.outputs[0].id;
> -	object_ids[2] = igt_pipe_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
> +	object_ids[2] = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->master.display, 0),
>  						DRM_PLANE_TYPE_PRIMARY)->drm_plane->plane_id;
>  	mcl.object_ids = (uint64_t) (uintptr_t) object_ids;
>  	mcl.object_count = 3;
> @@ -1302,7 +1302,7 @@ int igt_main()
>  										 data.pipe)->crtc_id;
>  						data.connector_id = output->id;
>  						data.plane_id =
> -							igt_pipe_get_plane_type(igt_crtc_for_pipe(&data.master.display, data.pipe),
> +							igt_crtc_get_plane_type(igt_crtc_for_pipe(&data.master.display, data.pipe),
>  										DRM_PLANE_TYPE_PRIMARY)->drm_plane->plane_id;
>  						f->func(&data);
>  					}
> diff --git a/tests/kms_multipipe_modeset.c b/tests/kms_multipipe_modeset.c
> index 663e95db81b3..cfab18cc65c5 100644
> --- a/tests/kms_multipipe_modeset.c
> +++ b/tests/kms_multipipe_modeset.c
> @@ -76,7 +76,7 @@ static void run_test(data_t *data, int valid_outputs)
>  	/* Collect reference CRC by Committing individually on all outputs*/
>  	for_each_connected_output(display, output) {
>  		pipe = igt_crtc_for_pipe(display, i);
> -		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  		mode = NULL;
>  
> @@ -102,7 +102,7 @@ static void run_test(data_t *data, int valid_outputs)
>  	/* Simultaneously commit on all outputs */
>  	for_each_connected_output(display, output) {
>  		pipe = igt_crtc_for_pipe(display, i);
> -		plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> +		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  		mode = NULL;
>  
> diff --git a/tests/kms_plane_alpha_blend.c b/tests/kms_plane_alpha_blend.c
> index cfb67861086a..a7070ac62169 100644
> --- a/tests/kms_plane_alpha_blend.c
> +++ b/tests/kms_plane_alpha_blend.c
> @@ -214,7 +214,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe)
>  	drmModeModeInfo *mode;
>  	igt_display_t *display = &data->display;
>  	int w, h;
> -	igt_plane_t *primary = igt_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe),
> +	igt_plane_t *primary = igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe),
>  						       DRM_PLANE_TYPE_PRIMARY);
>  
>  	/* create the pipe_crc object for this pipe */
> @@ -388,7 +388,7 @@ static void constant_alpha_mid(data_t *data, enum pipe pipe, igt_plane_t *plane)
>  	igt_crc_t ref_crc, crc;
>  
>  	if (plane->type != DRM_PLANE_TYPE_PRIMARY)
> -		igt_plane_set_fb(igt_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
> +		igt_plane_set_fb(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
>  				 &data->gray_fb);
>  
>  	igt_plane_set_prop_enum(plane, IGT_PLANE_PIXEL_BLEND_MODE, "None");
> @@ -414,7 +414,7 @@ static void constant_alpha_max(data_t *data, enum pipe pipe, igt_plane_t *plane)
>  	igt_crc_t ref_crc, crc;
>  
>  	if (plane->type != DRM_PLANE_TYPE_PRIMARY)
> -		igt_plane_set_fb(igt_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
> +		igt_plane_set_fb(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
>  				 &data->gray_fb);
>  
>  	igt_plane_set_fb(plane, &data->argb_fb_100);
> @@ -445,7 +445,7 @@ static void alpha_7efc(data_t *data, enum pipe pipe, igt_plane_t *plane)
>  	igt_crc_t ref_crc = {}, crc = {};
>  
>  	if (plane->type != DRM_PLANE_TYPE_PRIMARY)
> -		igt_plane_set_fb(igt_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
> +		igt_plane_set_fb(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
>  				 &data->gray_fb);
>  
>  	igt_display_commit2(display, COMMIT_ATOMIC);
> @@ -500,7 +500,7 @@ static void coverage_premult_constant(data_t *data, enum pipe pipe, igt_plane_t
>  
>  	/* Set a background color on the primary fb for testing */
>  	if (plane->type != DRM_PLANE_TYPE_PRIMARY)
> -		igt_plane_set_fb(igt_pipe_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
> +		igt_plane_set_fb(igt_crtc_get_plane_type(igt_crtc_for_pipe(display, pipe), DRM_PLANE_TYPE_PRIMARY),
>  				 &data->gray_fb);
>  
>  	igt_require(igt_plane_try_prop_enum(plane, IGT_PLANE_PIXEL_BLEND_MODE, "Coverage"));
> diff --git a/tests/kms_plane_cursor.c b/tests/kms_plane_cursor.c
> index fcb7cea06c9e..9e2d59b80765 100644
> --- a/tests/kms_plane_cursor.c
> +++ b/tests/kms_plane_cursor.c
> @@ -99,10 +99,10 @@ static void test_init(data_t *data, enum pipe pipe_id, igt_output_t *output,
>  
>  	data->mode = igt_output_get_mode(data->output);
>  
> -	data->primary = igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> +	data->primary = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  	if (flags & TEST_OVERLAY)
> -		data->overlay = igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_OVERLAY);
> -	data->cursor = igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_CURSOR);
> +		data->overlay = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_OVERLAY);
> +	data->cursor = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_CURSOR);
>  
>  	igt_info("Using (pipe %s + %s) to run the subtest.\n",
>  		 kmstest_pipe_name(data->pipe_id), igt_output_name(data->output));
> @@ -328,7 +328,7 @@ int igt_main()
>  		igt_subtest_with_dynamic_f("%s", tests[i].name) {
>  			for_each_pipe_with_single_output(&data.display, pipe, output) {
>  				if ((tests[i].flags & TEST_OVERLAY) &&
> -				    !igt_pipe_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
> +				    !igt_crtc_get_plane_type(igt_crtc_for_pipe(&data.display, pipe),
>  							     DRM_PLANE_TYPE_OVERLAY))
>  					continue;
>  
> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> index 3ba709dd2cd0..32bb120cdfdd 100644
> --- a/tests/kms_plane_scaling.c
> +++ b/tests/kms_plane_scaling.c
> @@ -1029,11 +1029,11 @@ test_invalid_num_scalers(data_t *d, enum pipe pipe, igt_output_t *output)
>  	width = height = 20;
>  	mode = igt_output_get_mode(output);
>  
> -	plane[0] = igt_pipe_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 0);
> +	plane[0] = igt_crtc_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 0);
>  	igt_require(plane[0]);
> -	plane[1] = igt_pipe_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 1);
> +	plane[1] = igt_crtc_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 1);
>  	igt_require(plane[1]);
> -	plane[2] = igt_pipe_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 2);
> +	plane[2] = igt_crtc_get_plane_type_index(pipe_obj, DRM_PLANE_TYPE_OVERLAY, 2);
>  	igt_require(plane[2]);
>  
>  	igt_create_fb(display->drm_fd,
> diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c
> index 774d011a0531..d4e0b519bbc4 100644
> --- a/tests/kms_rmfb.c
> +++ b/tests/kms_rmfb.c
> @@ -147,7 +147,7 @@ test_rmfb(struct rmfb_data *data, igt_output_t *output, enum pipe pipe, bool reo
>  		drmSetClientCap(data->drm_fd, DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1);
>  		drmSetClientCap(data->drm_fd, DRM_CLIENT_CAP_ATOMIC, 1);
>  
> -		igt_pipe_refresh(igt_crtc_for_pipe(&data->display, pipe),
> +		igt_crtc_refresh(igt_crtc_for_pipe(&data->display, pipe),
>  				 true);
>  	} else {
>  		igt_remove_fb(data->drm_fd, &fb);
> diff --git a/tools/amd_hdmi_compliance.c b/tools/amd_hdmi_compliance.c
> index 6becc646d20a..e8eeaf95c64c 100644
> --- a/tools/amd_hdmi_compliance.c
> +++ b/tools/amd_hdmi_compliance.c
> @@ -407,7 +407,7 @@ static void test_init(data_t *data, int conn_id)
>  	igt_require_f(data->output, "No valid connectors found\n");
>  
>  	data->primary =
> -		igt_pipe_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
> +		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	igt_output_set_crtc(data->output,
>  			    igt_crtc_for_pipe(data->output->display, data->pipe_id));

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* ✓ i915.CI.Full: success for lib/kms: More pipe->crtc conversion
  2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
                   ` (14 preceding siblings ...)
  2026-01-21  1:58 ` ✓ Xe.CI.Full: " Patchwork
@ 2026-01-21  9:15 ` Patchwork
  15 siblings, 0 replies; 32+ messages in thread
From: Patchwork @ 2026-01-21  9:15 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 133845 bytes --]

== Series Details ==

Series: lib/kms: More pipe->crtc conversion
URL   : https://patchwork.freedesktop.org/series/160373/
State : success

== Summary ==

CI Bug Log - changes from IGT_8709_full -> IGTPW_14382_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/index.html

Participating hosts (9 -> 9)
------------------------------

  No changes in participating hosts

New tests
---------

  New tests have been introduced between IGT_8709_full and IGTPW_14382_full:

### New IGT tests (2) ###

  * igt@i915_pm_rps@blit-noreloc-keep-cache:
    - Statuses :
    - Exec time: [None] s

  * igt@i915_pm_rps@yf-tiled-ccs-to-yf-tiled-ccs:
    - Statuses :
    - Exec time: [None] s

  

Known issues
------------

  Here are the changes found in IGTPW_14382_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@object-reloc-keep-cache:
    - shard-dg2:          NOTRUN -> [SKIP][1] ([i915#8411])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-11/igt@api_intel_bb@object-reloc-keep-cache.html

  * igt@gem_ccs@block-copy-compressed:
    - shard-rkl:          NOTRUN -> [SKIP][2] ([i915#14544] / [i915#3555] / [i915#9323])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@gem_ccs@block-copy-compressed.html

  * igt@gem_close_race@multigpu-basic-threads:
    - shard-rkl:          NOTRUN -> [SKIP][3] ([i915#14544] / [i915#7697])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@gem_close_race@multigpu-basic-threads.html
    - shard-dg1:          NOTRUN -> [SKIP][4] ([i915#7697])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-18/igt@gem_close_race@multigpu-basic-threads.html
    - shard-tglu:         NOTRUN -> [SKIP][5] ([i915#7697])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-7/igt@gem_close_race@multigpu-basic-threads.html

  * igt@gem_create@create-ext-cpu-access-sanity-check:
    - shard-tglu-1:       NOTRUN -> [SKIP][6] ([i915#6335])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@gem_create@create-ext-cpu-access-sanity-check.html

  * igt@gem_create@create-ext-set-pat:
    - shard-tglu-1:       NOTRUN -> [SKIP][7] ([i915#8562])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@gem_create@create-ext-set-pat.html

  * igt@gem_ctx_freq@sysfs:
    - shard-dg2:          [PASS][8] -> [FAIL][9] ([i915#9561]) +1 other test fail
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg2-4/igt@gem_ctx_freq@sysfs.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-8/igt@gem_ctx_freq@sysfs.html

  * igt@gem_ctx_persistence@processes:
    - shard-snb:          NOTRUN -> [SKIP][10] ([i915#1099]) +3 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-snb7/igt@gem_ctx_persistence@processes.html

  * igt@gem_ctx_sseu@engines:
    - shard-rkl:          NOTRUN -> [SKIP][11] ([i915#280])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@gem_ctx_sseu@engines.html
    - shard-dg1:          NOTRUN -> [SKIP][12] ([i915#280])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-19/igt@gem_ctx_sseu@engines.html
    - shard-tglu:         NOTRUN -> [SKIP][13] ([i915#280])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-7/igt@gem_ctx_sseu@engines.html

  * igt@gem_exec_balancer@parallel:
    - shard-tglu:         NOTRUN -> [SKIP][14] ([i915#4525])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-3/igt@gem_exec_balancer@parallel.html

  * igt@gem_exec_balancer@parallel-balancer:
    - shard-tglu-1:       NOTRUN -> [SKIP][15] ([i915#4525]) +2 other tests skip
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@gem_exec_balancer@parallel-balancer.html

  * igt@gem_exec_balancer@parallel-bb-first:
    - shard-rkl:          NOTRUN -> [SKIP][16] ([i915#14544] / [i915#4525])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@gem_exec_balancer@parallel-bb-first.html

  * igt@gem_exec_balancer@parallel-keep-in-fence:
    - shard-rkl:          NOTRUN -> [SKIP][17] ([i915#4525])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@gem_exec_balancer@parallel-keep-in-fence.html

  * igt@gem_exec_balancer@sliced:
    - shard-dg2:          NOTRUN -> [SKIP][18] ([i915#4812])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-8/igt@gem_exec_balancer@sliced.html
    - shard-mtlp:         NOTRUN -> [SKIP][19] ([i915#4812])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-7/igt@gem_exec_balancer@sliced.html

  * igt@gem_exec_capture@capture-invisible@smem0:
    - shard-glk:          NOTRUN -> [SKIP][20] ([i915#6334]) +1 other test skip
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk5/igt@gem_exec_capture@capture-invisible@smem0.html

  * igt@gem_exec_capture@capture-recoverable:
    - shard-tglu:         NOTRUN -> [SKIP][21] ([i915#6344])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-6/igt@gem_exec_capture@capture-recoverable.html

  * igt@gem_exec_flush@basic-batch-kernel-default-uc:
    - shard-dg2:          NOTRUN -> [SKIP][22] ([i915#3539] / [i915#4852]) +1 other test skip
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-3/igt@gem_exec_flush@basic-batch-kernel-default-uc.html

  * igt@gem_exec_flush@basic-uc-prw-default:
    - shard-dg2:          NOTRUN -> [SKIP][23] ([i915#3539])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-1/igt@gem_exec_flush@basic-uc-prw-default.html

  * igt@gem_exec_params@secure-non-master:
    - shard-rkl:          NOTRUN -> [SKIP][24] ([i915#14544])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@gem_exec_params@secure-non-master.html

  * igt@gem_exec_reloc@basic-cpu-read-noreloc:
    - shard-dg2:          NOTRUN -> [SKIP][25] ([i915#3281]) +1 other test skip
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-7/igt@gem_exec_reloc@basic-cpu-read-noreloc.html

  * igt@gem_exec_reloc@basic-gtt-wc-noreloc:
    - shard-rkl:          NOTRUN -> [SKIP][26] ([i915#3281]) +12 other tests skip
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@gem_exec_reloc@basic-gtt-wc-noreloc.html

  * igt@gem_exec_reloc@basic-wc-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][27] ([i915#14544] / [i915#3281])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@gem_exec_reloc@basic-wc-gtt.html

  * igt@gem_exec_reloc@basic-write-gtt-active:
    - shard-dg1:          NOTRUN -> [SKIP][28] ([i915#3281]) +1 other test skip
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-17/igt@gem_exec_reloc@basic-write-gtt-active.html

  * igt@gem_exec_schedule@preempt-queue-chain:
    - shard-dg2:          NOTRUN -> [SKIP][29] ([i915#4537] / [i915#4812]) +2 other tests skip
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-8/igt@gem_exec_schedule@preempt-queue-chain.html

  * igt@gem_exec_schedule@preempt-queue-contexts:
    - shard-dg1:          NOTRUN -> [SKIP][30] ([i915#4812]) +1 other test skip
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-16/igt@gem_exec_schedule@preempt-queue-contexts.html
    - shard-mtlp:         NOTRUN -> [SKIP][31] ([i915#4537] / [i915#4812])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-4/igt@gem_exec_schedule@preempt-queue-contexts.html

  * igt@gem_fence_thrash@bo-write-verify-y:
    - shard-dg1:          NOTRUN -> [SKIP][32] ([i915#4860])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-16/igt@gem_fence_thrash@bo-write-verify-y.html

  * igt@gem_lmem_swapping@heavy-verify-multi-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][33] ([i915#4613]) +3 other tests skip
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-2/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html
    - shard-glk:          NOTRUN -> [SKIP][34] ([i915#4613]) +4 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk2/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html

  * igt@gem_lmem_swapping@heavy-verify-random:
    - shard-rkl:          NOTRUN -> [SKIP][35] ([i915#14544] / [i915#4613])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@gem_lmem_swapping@heavy-verify-random.html
    - shard-mtlp:         NOTRUN -> [SKIP][36] ([i915#4613])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-5/igt@gem_lmem_swapping@heavy-verify-random.html

  * igt@gem_lmem_swapping@massive:
    - shard-rkl:          NOTRUN -> [SKIP][37] ([i915#4613]) +1 other test skip
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-2/igt@gem_lmem_swapping@massive.html

  * igt@gem_lmem_swapping@parallel-random:
    - shard-tglu-1:       NOTRUN -> [SKIP][38] ([i915#4613]) +2 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@gem_lmem_swapping@parallel-random.html

  * igt@gem_mmap_gtt@basic-short:
    - shard-mtlp:         NOTRUN -> [SKIP][39] ([i915#4077]) +3 other tests skip
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-2/igt@gem_mmap_gtt@basic-short.html

  * igt@gem_mmap_gtt@cpuset-medium-copy-xy:
    - shard-dg2:          NOTRUN -> [SKIP][40] ([i915#4077]) +6 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-7/igt@gem_mmap_gtt@cpuset-medium-copy-xy.html

  * igt@gem_mmap_wc@coherency:
    - shard-dg2:          NOTRUN -> [SKIP][41] ([i915#4083]) +2 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-8/igt@gem_mmap_wc@coherency.html

  * igt@gem_mmap_wc@read-write-distinct:
    - shard-dg1:          NOTRUN -> [SKIP][42] ([i915#4083]) +1 other test skip
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-16/igt@gem_mmap_wc@read-write-distinct.html

  * igt@gem_partial_pwrite_pread@reads-uncached:
    - shard-dg2:          NOTRUN -> [SKIP][43] ([i915#3282]) +4 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-7/igt@gem_partial_pwrite_pread@reads-uncached.html
    - shard-dg1:          NOTRUN -> [SKIP][44] ([i915#3282]) +2 other tests skip
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-13/igt@gem_partial_pwrite_pread@reads-uncached.html
    - shard-mtlp:         NOTRUN -> [SKIP][45] ([i915#3282]) +1 other test skip
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-2/igt@gem_partial_pwrite_pread@reads-uncached.html

  * igt@gem_partial_pwrite_pread@writes-after-reads-uncached:
    - shard-rkl:          NOTRUN -> [SKIP][46] ([i915#3282]) +5 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html

  * igt@gem_pxp@display-protected-crc:
    - shard-dg2:          NOTRUN -> [SKIP][47] ([i915#4270]) +1 other test skip
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-5/igt@gem_pxp@display-protected-crc.html
    - shard-dg1:          NOTRUN -> [SKIP][48] ([i915#4270])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-12/igt@gem_pxp@display-protected-crc.html

  * igt@gem_pxp@hw-rejects-pxp-buffer:
    - shard-tglu:         NOTRUN -> [SKIP][49] ([i915#13398])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-5/igt@gem_pxp@hw-rejects-pxp-buffer.html

  * igt@gem_pxp@hw-rejects-pxp-context:
    - shard-rkl:          NOTRUN -> [SKIP][50] ([i915#13717])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-2/igt@gem_pxp@hw-rejects-pxp-context.html

  * igt@gem_pxp@verify-pxp-execution-after-suspend-resume:
    - shard-rkl:          [PASS][51] -> [ABORT][52] ([i915#15131])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-4/igt@gem_pxp@verify-pxp-execution-after-suspend-resume.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-1/igt@gem_pxp@verify-pxp-execution-after-suspend-resume.html

  * igt@gem_render_copy@mixed-tiled-to-y-tiled-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][53] ([i915#5190] / [i915#8428]) +3 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-4/igt@gem_render_copy@mixed-tiled-to-y-tiled-ccs.html

  * igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs:
    - shard-mtlp:         NOTRUN -> [SKIP][54] ([i915#8428]) +2 other tests skip
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-4/igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs.html

  * igt@gem_set_tiling_vs_blt@tiled-to-untiled:
    - shard-rkl:          NOTRUN -> [SKIP][55] ([i915#8411]) +1 other test skip
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html
    - shard-dg1:          NOTRUN -> [SKIP][56] ([i915#4079])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-13/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html

  * igt@gem_userptr_blits@create-destroy-unsync:
    - shard-mtlp:         NOTRUN -> [SKIP][57] ([i915#3297])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-4/igt@gem_userptr_blits@create-destroy-unsync.html

  * igt@gem_userptr_blits@invalid-mmap-offset-unsync:
    - shard-tglu:         NOTRUN -> [SKIP][58] ([i915#3297]) +3 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-4/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html

  * igt@gem_workarounds@suspend-resume:
    - shard-rkl:          NOTRUN -> [INCOMPLETE][59] ([i915#13356])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@gem_workarounds@suspend-resume.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-glk10:        NOTRUN -> [INCOMPLETE][60] ([i915#13356])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk10/igt@gem_workarounds@suspend-resume-context.html

  * igt@gen9_exec_parse@bb-start-cmd:
    - shard-dg2:          NOTRUN -> [SKIP][61] ([i915#2856])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-4/igt@gen9_exec_parse@bb-start-cmd.html

  * igt@gen9_exec_parse@cmd-crossing-page:
    - shard-tglu:         NOTRUN -> [SKIP][62] ([i915#2527] / [i915#2856]) +3 other tests skip
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-4/igt@gen9_exec_parse@cmd-crossing-page.html

  * igt@gen9_exec_parse@unaligned-access:
    - shard-rkl:          NOTRUN -> [SKIP][63] ([i915#2527]) +3 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-1/igt@gen9_exec_parse@unaligned-access.html
    - shard-dg1:          NOTRUN -> [SKIP][64] ([i915#2527]) +1 other test skip
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-12/igt@gen9_exec_parse@unaligned-access.html

  * igt@gen9_exec_parse@valid-registers:
    - shard-rkl:          NOTRUN -> [SKIP][65] ([i915#14544] / [i915#2527])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@gen9_exec_parse@valid-registers.html

  * igt@i915_module_load@fault-injection:
    - shard-tglu-1:       NOTRUN -> [ABORT][66] ([i915#15342] / [i915#15481])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@i915_module_load@fault-injection.html

  * igt@i915_module_load@fault-injection@i915_driver_hw_probe:
    - shard-tglu-1:       NOTRUN -> [ABORT][67] ([i915#15481])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@i915_module_load@fault-injection@i915_driver_hw_probe.html

  * igt@i915_module_load@fault-injection@intel_connector_register:
    - shard-tglu-1:       NOTRUN -> [DMESG-WARN][68] ([i915#15342])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@i915_module_load@fault-injection@intel_connector_register.html

  * igt@i915_module_load@fault-injection@intel_gt_init-enodev:
    - shard-tglu-1:       NOTRUN -> [SKIP][69] ([i915#15479]) +4 other tests skip
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@i915_module_load@fault-injection@intel_gt_init-enodev.html

  * igt@i915_module_load@load:
    - shard-tglu-1:       ([PASS][70], [PASS][71], [PASS][72]) -> ([SKIP][73], [PASS][74]) ([i915#14785])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-tglu-1/igt@i915_module_load@load.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-tglu-1/igt@i915_module_load@load.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-tglu-1/igt@i915_module_load@load.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@i915_module_load@load.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@i915_module_load@load.html

  * igt@i915_pm_freq_api@freq-basic-api:
    - shard-tglu:         NOTRUN -> [SKIP][75] ([i915#8399]) +1 other test skip
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-3/igt@i915_pm_freq_api@freq-basic-api.html

  * igt@i915_pm_freq_api@freq-reset:
    - shard-tglu-1:       NOTRUN -> [SKIP][76] ([i915#8399])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@i915_pm_freq_api@freq-reset.html

  * igt@i915_pm_freq_api@freq-reset-multiple:
    - shard-rkl:          NOTRUN -> [SKIP][77] ([i915#8399]) +1 other test skip
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-2/igt@i915_pm_freq_api@freq-reset-multiple.html

  * igt@i915_pm_rc6_residency@media-rc6-accuracy:
    - shard-rkl:          NOTRUN -> [SKIP][78] +15 other tests skip
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@i915_pm_rc6_residency@media-rc6-accuracy.html

  * igt@i915_pm_rps@thresholds-idle:
    - shard-dg2:          NOTRUN -> [SKIP][79] ([i915#11681])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-3/igt@i915_pm_rps@thresholds-idle.html

  * igt@i915_selftest@live:
    - shard-mtlp:         [PASS][80] -> [DMESG-FAIL][81] ([i915#12061] / [i915#15560])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-mtlp-8/igt@i915_selftest@live.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-2/igt@i915_selftest@live.html

  * igt@i915_selftest@live@workarounds:
    - shard-mtlp:         [PASS][82] -> [DMESG-FAIL][83] ([i915#12061])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-mtlp-8/igt@i915_selftest@live@workarounds.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-2/igt@i915_selftest@live@workarounds.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-glk:          NOTRUN -> [INCOMPLETE][84] ([i915#4817])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk6/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-dg1:          NOTRUN -> [SKIP][85] ([i915#4077]) +4 other tests skip
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-16/igt@i915_suspend@fence-restore-untiled.html

  * igt@intel_hwmon@hwmon-read:
    - shard-rkl:          NOTRUN -> [SKIP][86] ([i915#7707])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@intel_hwmon@hwmon-read.html

  * igt@kms_addfb_basic@bo-too-small-due-to-tiling:
    - shard-dg2:          NOTRUN -> [SKIP][87] ([i915#4212])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-3/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - shard-tglu:         NOTRUN -> [SKIP][88] ([i915#12454] / [i915#12712])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-6/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * igt@kms_async_flips@async-flip-suspend-resume:
    - shard-glk:          NOTRUN -> [INCOMPLETE][89] ([i915#12761])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk5/igt@kms_async_flips@async-flip-suspend-resume.html

  * igt@kms_async_flips@async-flip-suspend-resume@pipe-a-hdmi-a-2:
    - shard-glk:          NOTRUN -> [INCOMPLETE][90] ([i915#12761] / [i915#14995])
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk5/igt@kms_async_flips@async-flip-suspend-resume@pipe-a-hdmi-a-2.html

  * igt@kms_atomic@plane-primary-overlay-mutable-zpos:
    - shard-dg2:          NOTRUN -> [SKIP][91] ([i915#9531])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-6/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
    - shard-rkl:          NOTRUN -> [SKIP][92] ([i915#9531])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
    - shard-tglu:         NOTRUN -> [SKIP][93] ([i915#9531])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-7/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
    - shard-rkl:          NOTRUN -> [SKIP][94] ([i915#1769] / [i915#3555])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-0:
    - shard-rkl:          NOTRUN -> [SKIP][95] ([i915#5286]) +7 other tests skip
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-8/igt@kms_big_fb@4-tiled-16bpp-rotate-0.html
    - shard-dg1:          NOTRUN -> [SKIP][96] ([i915#4538] / [i915#5286]) +2 other tests skip
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-13/igt@kms_big_fb@4-tiled-16bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-270:
    - shard-tglu:         NOTRUN -> [SKIP][97] ([i915#5286]) +5 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-10/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-180:
    - shard-tglu-1:       NOTRUN -> [SKIP][98] ([i915#5286]) +1 other test skip
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html

  * igt@kms_big_fb@linear-32bpp-rotate-270:
    - shard-dg1:          NOTRUN -> [SKIP][99] ([i915#3638])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-15/igt@kms_big_fb@linear-32bpp-rotate-270.html

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-rkl:          NOTRUN -> [SKIP][100] ([i915#3828]) +1 other test skip
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-0:
    - shard-mtlp:         [PASS][101] -> [FAIL][102] ([i915#5138])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-mtlp-6/igt@kms_big_fb@x-tiled-16bpp-rotate-0.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-4/igt@kms_big_fb@x-tiled-16bpp-rotate-0.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-270:
    - shard-rkl:          NOTRUN -> [SKIP][103] ([i915#3638]) +2 other tests skip
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-0:
    - shard-dg2:          NOTRUN -> [SKIP][104] ([i915#4538] / [i915#5190]) +2 other tests skip
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-7/igt@kms_big_fb@y-tiled-8bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0:
    - shard-dg1:          NOTRUN -> [SKIP][105] ([i915#4538]) +1 other test skip
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-18/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - shard-mtlp:         NOTRUN -> [SKIP][106]
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-4/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc:
    - shard-rkl:          NOTRUN -> [SKIP][107] ([i915#14098] / [i915#6095]) +38 other tests skip
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-8/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][108] ([i915#12313] / [i915#14544]) +2 other tests skip
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html

  * igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2:
    - shard-glk:          NOTRUN -> [SKIP][109] +428 other tests skip
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk3/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][110] ([i915#14544] / [i915#6095]) +1 other test skip
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][111] ([i915#14098] / [i915#14544] / [i915#6095]) +1 other test skip
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][112] ([i915#12313]) +2 other tests skip
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-8/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-b-hdmi-a-1:
    - shard-dg1:          NOTRUN -> [SKIP][113] ([i915#6095]) +169 other tests skip
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-15/igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-b-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs:
    - shard-dg1:          NOTRUN -> [SKIP][114] ([i915#12313]) +1 other test skip
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-13/igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][115] ([i915#6095]) +55 other tests skip
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-3/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-3.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [SKIP][116] ([i915#6095]) +64 other tests skip
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-7/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-1.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][117] ([i915#12313])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-2/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][118] ([i915#10307] / [i915#6095]) +97 other tests skip
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-3/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3.html

  * igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][119] ([i915#6095]) +59 other tests skip
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1:
    - shard-tglu-1:       NOTRUN -> [SKIP][120] ([i915#6095]) +34 other tests skip
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1.html

  * igt@kms_cdclk@plane-scaling:
    - shard-dg1:          NOTRUN -> [SKIP][121] ([i915#3742])
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-16/igt@kms_cdclk@plane-scaling.html
    - shard-tglu:         NOTRUN -> [SKIP][122] ([i915#3742]) +1 other test skip
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-5/igt@kms_cdclk@plane-scaling.html

  * igt@kms_cdclk@plane-scaling@pipe-b-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][123] ([i915#13783]) +3 other tests skip
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-3/igt@kms_cdclk@plane-scaling@pipe-b-hdmi-a-3.html

  * igt@kms_chamelium_color@ctm-max:
    - shard-dg2:          NOTRUN -> [SKIP][124] +1 other test skip
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-8/igt@kms_chamelium_color@ctm-max.html

  * igt@kms_chamelium_edid@dp-edid-stress-resolution-4k:
    - shard-rkl:          NOTRUN -> [SKIP][125] ([i915#11151] / [i915#14544] / [i915#7828]) +2 other tests skip
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_chamelium_edid@dp-edid-stress-resolution-4k.html

  * igt@kms_chamelium_frames@dp-crc-fast:
    - shard-dg2:          NOTRUN -> [SKIP][126] ([i915#11151] / [i915#7828]) +2 other tests skip
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-3/igt@kms_chamelium_frames@dp-crc-fast.html
    - shard-dg1:          NOTRUN -> [SKIP][127] ([i915#11151] / [i915#7828]) +2 other tests skip
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-16/igt@kms_chamelium_frames@dp-crc-fast.html
    - shard-mtlp:         NOTRUN -> [SKIP][128] ([i915#11151] / [i915#7828])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-4/igt@kms_chamelium_frames@dp-crc-fast.html

  * igt@kms_chamelium_frames@hdmi-aspect-ratio:
    - shard-tglu:         NOTRUN -> [SKIP][129] ([i915#11151] / [i915#7828]) +8 other tests skip
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-7/igt@kms_chamelium_frames@hdmi-aspect-ratio.html

  * igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode:
    - shard-rkl:          NOTRUN -> [SKIP][130] ([i915#11151] / [i915#7828]) +8 other tests skip
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-1/igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode.html

  * igt@kms_chamelium_hpd@hdmi-hpd-storm-disable:
    - shard-tglu-1:       NOTRUN -> [SKIP][131] ([i915#11151] / [i915#7828]) +3 other tests skip
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_chamelium_hpd@hdmi-hpd-storm-disable.html

  * igt@kms_color@deep-color:
    - shard-tglu-1:       NOTRUN -> [SKIP][132] ([i915#3555] / [i915#9979])
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_color@deep-color.html

  * igt@kms_content_protection@atomic:
    - shard-dg1:          NOTRUN -> [SKIP][133] ([i915#6944] / [i915#7116] / [i915#9424])
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-19/igt@kms_content_protection@atomic.html
    - shard-tglu:         NOTRUN -> [SKIP][134] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424])
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-7/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][135] ([i915#6944] / [i915#7118] / [i915#9424]) +1 other test skip
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_content_protection@atomic-dpms.html
    - shard-tglu-1:       NOTRUN -> [SKIP][136] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424])
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-rkl:          NOTRUN -> [SKIP][137] ([i915#14544] / [i915#15330] / [i915#3116])
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@dp-mst-type-0-suspend-resume:
    - shard-tglu-1:       NOTRUN -> [SKIP][138] ([i915#15330])
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html

  * igt@kms_content_protection@legacy-hdcp14:
    - shard-tglu:         NOTRUN -> [SKIP][139] ([i915#6944]) +1 other test skip
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-7/igt@kms_content_protection@legacy-hdcp14.html
    - shard-dg2:          NOTRUN -> [FAIL][140] ([i915#7173]) +2 other tests fail
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-11/igt@kms_content_protection@legacy-hdcp14.html
    - shard-rkl:          NOTRUN -> [SKIP][141] ([i915#14544] / [i915#6944])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_content_protection@legacy-hdcp14.html

  * igt@kms_content_protection@lic-type-0:
    - shard-tglu:         NOTRUN -> [SKIP][142] ([i915#6944] / [i915#9424])
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-2/igt@kms_content_protection@lic-type-0.html

  * igt@kms_content_protection@lic-type-1:
    - shard-rkl:          NOTRUN -> [SKIP][143] ([i915#6944] / [i915#9424])
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-4/igt@kms_content_protection@lic-type-1.html

  * igt@kms_content_protection@srm:
    - shard-tglu:         NOTRUN -> [SKIP][144] ([i915#6944] / [i915#7116] / [i915#7118])
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-8/igt@kms_content_protection@srm.html

  * igt@kms_cursor_crc@cursor-offscreen-32x10:
    - shard-rkl:          NOTRUN -> [SKIP][145] ([i915#3555])
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@kms_cursor_crc@cursor-offscreen-32x10.html

  * igt@kms_cursor_crc@cursor-onscreen-32x32:
    - shard-rkl:          NOTRUN -> [SKIP][146] ([i915#14544] / [i915#3555])
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_cursor_crc@cursor-onscreen-32x32.html
    - shard-dg1:          NOTRUN -> [SKIP][147] ([i915#3555])
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-14/igt@kms_cursor_crc@cursor-onscreen-32x32.html

  * igt@kms_cursor_crc@cursor-random-128x42:
    - shard-tglu:         [PASS][148] -> [FAIL][149] ([i915#13566]) +1 other test fail
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-tglu-6/igt@kms_cursor_crc@cursor-random-128x42.html
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-8/igt@kms_cursor_crc@cursor-random-128x42.html
    - shard-rkl:          [PASS][150] -> [FAIL][151] ([i915#13566])
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-2/igt@kms_cursor_crc@cursor-random-128x42.html
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_cursor_crc@cursor-random-128x42.html

  * igt@kms_cursor_crc@cursor-random-256x85:
    - shard-mtlp:         NOTRUN -> [SKIP][152] ([i915#8814])
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-3/igt@kms_cursor_crc@cursor-random-256x85.html

  * igt@kms_cursor_crc@cursor-random-512x170:
    - shard-tglu-1:       NOTRUN -> [SKIP][153] ([i915#13049])
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_cursor_crc@cursor-random-512x170.html

  * igt@kms_cursor_crc@cursor-random-512x512:
    - shard-rkl:          NOTRUN -> [SKIP][154] ([i915#13049]) +2 other tests skip
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@kms_cursor_crc@cursor-random-512x512.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x170:
    - shard-dg2:          NOTRUN -> [SKIP][155] ([i915#13049])
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-1/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html

  * igt@kms_cursor_crc@cursor-rapid-movement-max-size:
    - shard-tglu-1:       NOTRUN -> [SKIP][156] ([i915#3555]) +1 other test skip
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html

  * igt@kms_cursor_crc@cursor-sliding-512x512:
    - shard-tglu:         NOTRUN -> [SKIP][157] ([i915#13049]) +1 other test skip
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-6/igt@kms_cursor_crc@cursor-sliding-512x512.html

  * igt@kms_cursor_crc@cursor-sliding-64x21:
    - shard-rkl:          NOTRUN -> [FAIL][158] ([i915#13566]) +3 other tests fail
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-64x21.html

  * igt@kms_cursor_crc@cursor-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][159] ([i915#12358] / [i915#14152] / [i915#7882])
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk6/igt@kms_cursor_crc@cursor-suspend.html

  * igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1:
    - shard-glk:          NOTRUN -> [INCOMPLETE][160] ([i915#12358] / [i915#14152])
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk6/igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - shard-rkl:          NOTRUN -> [SKIP][161] ([i915#4103])
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - shard-tglu:         NOTRUN -> [SKIP][162] ([i915#4103])
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - shard-dg2:          NOTRUN -> [SKIP][163] ([i915#4103] / [i915#4213])
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions:
    - shard-rkl:          NOTRUN -> [FAIL][164] ([i915#15519])
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-8/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
    - shard-dg2:          NOTRUN -> [SKIP][165] ([i915#13046] / [i915#5354])
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-7/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
    - shard-mtlp:         NOTRUN -> [SKIP][166] ([i915#9809]) +1 other test skip
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-2/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size:
    - shard-tglu-1:       NOTRUN -> [SKIP][167] +28 other tests skip
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor-toggle:
    - shard-dg1:          NOTRUN -> [DMESG-WARN][168] ([i915#4423])
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-18/igt@kms_cursor_legacy@flip-vs-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_14382/shard-rkl-5/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html

  * igt@kms_dp_linktrain_fallback@dp-fallback:
    - shard-tglu-1:       NOTRUN -> [SKIP][170] ([i915#13707])
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_dp_linktrain_fallback@dp-fallback.html

  * igt@kms_dsc@dsc-with-formats:
    - shard-rkl:          NOTRUN -> [SKIP][171] ([i915#3555] / [i915#3840])
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@kms_dsc@dsc-with-formats.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-tglu:         NOTRUN -> [SKIP][172] ([i915#3469])
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-6/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_feature_discovery@chamelium:
    - shard-tglu:         NOTRUN -> [SKIP][173] ([i915#2065] / [i915#4854])
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-6/igt@kms_feature_discovery@chamelium.html
    - shard-dg1:          NOTRUN -> [SKIP][174] ([i915#4854])
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-13/igt@kms_feature_discovery@chamelium.html

  * igt@kms_feature_discovery@psr2:
    - shard-tglu-1:       NOTRUN -> [SKIP][175] ([i915#658])
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip@2x-blocking-absolute-wf_vblank:
    - shard-tglu:         NOTRUN -> [SKIP][176] ([i915#3637] / [i915#9934]) +4 other tests skip
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-8/igt@kms_flip@2x-blocking-absolute-wf_vblank.html

  * igt@kms_flip@2x-dpms-vs-vblank-race-interruptible:
    - shard-dg2:          NOTRUN -> [SKIP][177] ([i915#9934])
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-8/igt@kms_flip@2x-dpms-vs-vblank-race-interruptible.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible:
    - shard-rkl:          NOTRUN -> [SKIP][178] ([i915#9934]) +6 other tests skip
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html

  * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset:
    - shard-tglu-1:       NOTRUN -> [SKIP][179] ([i915#3637] / [i915#9934]) +1 other test skip
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset.html

  * igt@kms_flip@2x-flip-vs-modeset-vs-hang:
    - shard-dg1:          NOTRUN -> [SKIP][180] ([i915#9934]) +3 other tests skip
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-16/igt@kms_flip@2x-flip-vs-modeset-vs-hang.html

  * igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible:
    - shard-rkl:          NOTRUN -> [SKIP][181] ([i915#14544] / [i915#9934])
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible.html

  * igt@kms_flip@basic-flip-vs-wf_vblank:
    - shard-tglu:         [PASS][182] -> [FAIL][183] ([i915#10826]) +1 other test fail
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-tglu-6/igt@kms_flip@basic-flip-vs-wf_vblank.html
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-7/igt@kms_flip@basic-flip-vs-wf_vblank.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-snb:          [PASS][184] -> [INCOMPLETE][185] ([i915#12314] / [i915#12745] / [i915#4839]) +1 other test incomplete
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-snb5/igt@kms_flip@flip-vs-suspend-interruptible.html
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-snb6/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip@wf_vblank-ts-check-interruptible@a-hdmi-a1:
    - shard-tglu:         NOTRUN -> [FAIL][186] ([i915#14600]) +1 other test fail
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-3/igt@kms_flip@wf_vblank-ts-check-interruptible@a-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode:
    - shard-tglu-1:       NOTRUN -> [SKIP][187] ([i915#2587] / [i915#2672]) +1 other test skip
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling:
    - shard-dg2:          NOTRUN -> [SKIP][188] ([i915#2672] / [i915#3555])
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-4/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-dg2:          NOTRUN -> [SKIP][189] ([i915#2672])
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-4/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yuv-linear-to-32bpp-yuv-linear-reflect-x:
    - shard-rkl:          NOTRUN -> [SKIP][190] ([i915#15573]) +5 other tests skip
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-2/igt@kms_flip_scaled_crc@flip-32bpp-yuv-linear-to-32bpp-yuv-linear-reflect-x.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling:
    - shard-tglu:         NOTRUN -> [SKIP][191] ([i915#2672] / [i915#3555]) +3 other tests skip
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling.html
    - shard-mtlp:         NOTRUN -> [SKIP][192] ([i915#3555] / [i915#8810] / [i915#8813]) +2 other tests skip
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-4/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-mtlp:         NOTRUN -> [SKIP][193] ([i915#8810] / [i915#8813])
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-valid-mode:
    - shard-dg1:          NOTRUN -> [SKIP][194] ([i915#2587] / [i915#2672]) +1 other test skip
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-16/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling:
    - shard-dg1:          NOTRUN -> [SKIP][195] ([i915#2672] / [i915#3555]) +1 other test skip
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-17/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling@pipe-a-valid-mode:
    - shard-tglu:         NOTRUN -> [SKIP][196] ([i915#2587] / [i915#2672]) +3 other tests skip
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-8/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
    - shard-tglu-1:       NOTRUN -> [SKIP][197] ([i915#2672] / [i915#3555]) +1 other test skip
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling:
    - shard-rkl:          NOTRUN -> [SKIP][198] ([i915#2672] / [i915#3555]) +3 other tests skip
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-rkl:          NOTRUN -> [SKIP][199] ([i915#2672]) +3 other tests skip
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-p016-linear-to-p016-linear-reflect-x@pipe-a-valid-mode:
    - shard-rkl:          NOTRUN -> [SKIP][200] ([i915#14544] / [i915#15573]) +1 other test skip
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_flip_scaled_crc@flip-p016-linear-to-p016-linear-reflect-x@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-mmap-wc:
    - shard-dg2:          NOTRUN -> [SKIP][201] ([i915#15104])
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-3/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
    - shard-mtlp:         NOTRUN -> [SKIP][202] ([i915#1825]) +2 other tests skip
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-blt:
    - shard-glk10:        NOTRUN -> [SKIP][203] +19 other tests skip
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk10/igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-argb161616f-draw-blt:
    - shard-tglu:         NOTRUN -> [SKIP][204] ([i915#15574]) +1 other test skip
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-3/igt@kms_frontbuffer_tracking@fbc-argb161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-4:
    - shard-rkl:          NOTRUN -> [SKIP][205] ([i915#14544] / [i915#5439])
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
    - shard-dg1:          NOTRUN -> [SKIP][206] ([i915#5439])
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-18/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
    - shard-tglu:         NOTRUN -> [SKIP][207] ([i915#5439])
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-7/igt@kms_frontbuffer_tracking@fbc-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-gtt:
    - shard-tglu-1:       NOTRUN -> [SKIP][208] ([i915#15102]) +9 other tests skip
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-pwrite:
    - shard-dg2:          NOTRUN -> [SKIP][209] ([i915#15102]) +1 other test skip
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt:
    - shard-rkl:          NOTRUN -> [SKIP][210] ([i915#15102]) +3 other tests skip
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][211] ([i915#15104])
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-3/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-gtt.html
    - shard-dg1:          NOTRUN -> [SKIP][212] ([i915#15104]) +1 other test skip
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
    - shard-dg2:          NOTRUN -> [SKIP][213] ([i915#15102] / [i915#3458]) +7 other tests skip
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-render:
    - shard-dg2:          NOTRUN -> [SKIP][214] ([i915#5354]) +13 other tests skip
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-dg1:          NOTRUN -> [SKIP][215] +8 other tests skip
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-14/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][216] ([i915#8708])
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-fullscreen:
    - shard-tglu:         NOTRUN -> [SKIP][217] +49 other tests skip
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbcpsr-argb161616f-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][218] ([i915#15574]) +2 other tests skip
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsr-argb161616f-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][219] ([i915#15102] / [i915#3023]) +19 other tests skip
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html
    - shard-dg1:          NOTRUN -> [SKIP][220] ([i915#8708]) +5 other tests skip
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@pipe-fbc-rte:
    - shard-rkl:          NOTRUN -> [SKIP][221] ([i915#9766])
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
    - shard-tglu-1:       NOTRUN -> [SKIP][222] ([i915#9766])
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-pwrite:
    - shard-rkl:          NOTRUN -> [SKIP][223] ([i915#1825]) +35 other tests skip
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-8/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-plflip-blt:
    - shard-rkl:          NOTRUN -> [SKIP][224] ([i915#14544] / [i915#1825]) +4 other tests skip
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-pwrite:
    - shard-tglu-1:       NOTRUN -> [SKIP][225] ([i915#15574]) +2 other tests skip
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-render:
    - shard-dg1:          NOTRUN -> [SKIP][226] ([i915#15574])
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][227] ([i915#8708]) +6 other tests skip
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-11/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-gtt.html
    - shard-rkl:          NOTRUN -> [SKIP][228] ([i915#14544] / [i915#15102] / [i915#3023]) +2 other tests skip
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-rgb565-draw-render:
    - shard-dg1:          NOTRUN -> [SKIP][229] ([i915#15102] / [i915#3458]) +5 other tests skip
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-16/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary:
    - shard-tglu:         NOTRUN -> [SKIP][230] ([i915#15102]) +30 other tests skip
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-4/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html

  * igt@kms_hdr@bpc-switch-dpms:
    - shard-tglu:         NOTRUN -> [SKIP][231] ([i915#3555] / [i915#8228])
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-8/igt@kms_hdr@bpc-switch-dpms.html

  * igt@kms_hdr@static-swap:
    - shard-rkl:          [PASS][232] -> [SKIP][233] ([i915#3555] / [i915#8228])
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_hdr@static-swap.html
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@kms_hdr@static-swap.html

  * igt@kms_hdr@static-toggle-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][234] ([i915#3555] / [i915#8228])
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_hdr@static-toggle-dpms.html
    - shard-tglu-1:       NOTRUN -> [SKIP][235] ([i915#3555] / [i915#8228])
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_hdr@static-toggle-dpms.html

  * igt@kms_joiner@basic-force-big-joiner:
    - shard-rkl:          NOTRUN -> [SKIP][236] ([i915#15459])
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-2/igt@kms_joiner@basic-force-big-joiner.html

  * igt@kms_joiner@basic-max-non-joiner:
    - shard-tglu-1:       NOTRUN -> [SKIP][237] ([i915#13688])
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_joiner@basic-max-non-joiner.html

  * igt@kms_joiner@basic-ultra-joiner:
    - shard-rkl:          NOTRUN -> [SKIP][238] ([i915#15458])
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_joiner@basic-ultra-joiner.html

  * igt@kms_joiner@invalid-modeset-ultra-joiner:
    - shard-tglu:         NOTRUN -> [SKIP][239] ([i915#15458])
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-6/igt@kms_joiner@invalid-modeset-ultra-joiner.html

  * igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
    - shard-dg1:          NOTRUN -> [SKIP][240] ([i915#13522])
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-19/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
    - shard-tglu:         NOTRUN -> [SKIP][241] ([i915#13522])
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-4/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
    - shard-rkl:          NOTRUN -> [SKIP][242] ([i915#13522] / [i915#14544])
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html

  * igt@kms_panel_fitting@atomic-fastset:
    - shard-tglu:         NOTRUN -> [SKIP][243] ([i915#6301])
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-7/igt@kms_panel_fitting@atomic-fastset.html

  * igt@kms_panel_fitting@legacy:
    - shard-tglu-1:       NOTRUN -> [SKIP][244] ([i915#6301])
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_panel_fitting@legacy.html

  * igt@kms_pipe_stress@stress-xrgb8888-yftiled:
    - shard-tglu:         NOTRUN -> [SKIP][245] ([i915#14712])
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-3/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html

  * igt@kms_plane_alpha_blend@alpha-basic:
    - shard-glk:          NOTRUN -> [FAIL][246] ([i915#12178])
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk2/igt@kms_plane_alpha_blend@alpha-basic.html

  * igt@kms_plane_alpha_blend@alpha-basic@pipe-c-hdmi-a-1:
    - shard-glk:          NOTRUN -> [FAIL][247] ([i915#7862]) +1 other test fail
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk2/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-hdmi-a-1.html

  * igt@kms_plane_alpha_blend@alpha-transparent-fb:
    - shard-glk:          NOTRUN -> [FAIL][248] ([i915#10647] / [i915#12177])
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk5/igt@kms_plane_alpha_blend@alpha-transparent-fb.html

  * igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-a-hdmi-a-1:
    - shard-glk:          NOTRUN -> [FAIL][249] ([i915#10647]) +1 other test fail
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk5/igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-a-hdmi-a-1.html

  * igt@kms_plane_multiple@2x-tiling-none:
    - shard-rkl:          NOTRUN -> [SKIP][250] ([i915#13958])
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@kms_plane_multiple@2x-tiling-none.html

  * igt@kms_plane_multiple@tiling-4:
    - shard-rkl:          NOTRUN -> [SKIP][251] ([i915#14259])
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@kms_plane_multiple@tiling-4.html
    - shard-dg1:          NOTRUN -> [SKIP][252] ([i915#14259])
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-12/igt@kms_plane_multiple@tiling-4.html
    - shard-tglu:         NOTRUN -> [SKIP][253] ([i915#14259])
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-4/igt@kms_plane_multiple@tiling-4.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c:
    - shard-rkl:          NOTRUN -> [SKIP][254] ([i915#15329]) +3 other tests skip
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-8/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d:
    - shard-dg1:          NOTRUN -> [SKIP][255] ([i915#15329]) +4 other tests skip
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-14/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d.html
    - shard-tglu:         NOTRUN -> [SKIP][256] ([i915#15329]) +4 other tests skip
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-5/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5:
    - shard-mtlp:         NOTRUN -> [SKIP][257] ([i915#15329] / [i915#6953])
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-8/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-a:
    - shard-mtlp:         NOTRUN -> [SKIP][258] ([i915#15329]) +3 other tests skip
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-8/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-a.html

  * igt@kms_pm_backlight@bad-brightness:
    - shard-rkl:          NOTRUN -> [SKIP][259] ([i915#5354]) +1 other test skip
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_pm_backlight@bad-brightness.html

  * igt@kms_pm_backlight@fade-with-suspend:
    - shard-tglu:         NOTRUN -> [SKIP][260] ([i915#9812]) +1 other test skip
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-5/igt@kms_pm_backlight@fade-with-suspend.html
    - shard-dg1:          NOTRUN -> [SKIP][261] ([i915#5354])
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-16/igt@kms_pm_backlight@fade-with-suspend.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-dg2:          NOTRUN -> [SKIP][262] ([i915#9685])
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-6/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-mtlp:         NOTRUN -> [SKIP][263] ([i915#3828])
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-4/igt@kms_pm_dc@dc5-retention-flops.html
    - shard-dg2:          NOTRUN -> [SKIP][264] ([i915#3828])
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-5/igt@kms_pm_dc@dc5-retention-flops.html
    - shard-dg1:          NOTRUN -> [SKIP][265] ([i915#3828])
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-16/igt@kms_pm_dc@dc5-retention-flops.html
    - shard-tglu:         NOTRUN -> [SKIP][266] ([i915#3828])
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-5/igt@kms_pm_dc@dc5-retention-flops.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-tglu-1:       NOTRUN -> [SKIP][267] ([i915#3828]) +2 other tests skip
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@dpms-mode-unset-lpsp:
    - shard-rkl:          NOTRUN -> [SKIP][268] ([i915#14544] / [i915#15073])
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
    - shard-dg1:          NOTRUN -> [SKIP][269] ([i915#15073])
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-18/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@kms_pm_rpm@dpms-non-lpsp:
    - shard-tglu:         NOTRUN -> [SKIP][270] ([i915#15073]) +1 other test skip
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-3/igt@kms_pm_rpm@dpms-non-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-dg1:          [PASS][271] -> [SKIP][272] ([i915#15073])
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg1-17/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-15/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@kms_pm_rpm@system-suspend-idle:
    - shard-rkl:          [PASS][273] -> [INCOMPLETE][274] ([i915#14419]) +1 other test incomplete
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-5/igt@kms_pm_rpm@system-suspend-idle.html
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_pm_rpm@system-suspend-idle.html

  * igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area:
    - shard-tglu-1:       NOTRUN -> [SKIP][275] ([i915#11520]) +3 other tests skip
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area:
    - shard-tglu:         NOTRUN -> [SKIP][276] ([i915#11520]) +10 other tests skip
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-4/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-rkl:          NOTRUN -> [SKIP][277] ([i915#11520]) +9 other tests skip
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf:
    - shard-mtlp:         NOTRUN -> [SKIP][278] ([i915#12316]) +1 other test skip
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-3/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area:
    - shard-glk10:        NOTRUN -> [SKIP][279] ([i915#11520])
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk10/igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-overlay-primary-update-sf-dmg-area:
    - shard-glk:          NOTRUN -> [SKIP][280] ([i915#11520]) +15 other tests skip
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk6/igt@kms_psr2_sf@pr-overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb:
    - shard-dg2:          NOTRUN -> [SKIP][281] ([i915#11520]) +2 other tests skip
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-6/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb.html
    - shard-dg1:          NOTRUN -> [SKIP][282] ([i915#11520]) +3 other tests skip
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-19/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb.html
    - shard-snb:          NOTRUN -> [SKIP][283] ([i915#11520]) +4 other tests skip
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-snb6/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr2_sf@psr2-cursor-plane-update-sf:
    - shard-rkl:          NOTRUN -> [SKIP][284] ([i915#11520] / [i915#14544]) +1 other test skip
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_psr2_sf@psr2-cursor-plane-update-sf.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-rkl:          NOTRUN -> [SKIP][285] ([i915#9683])
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-4/igt@kms_psr2_su@frontbuffer-xrgb8888.html
    - shard-dg1:          NOTRUN -> [SKIP][286] ([i915#9683])
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-13/igt@kms_psr2_su@frontbuffer-xrgb8888.html
    - shard-tglu:         NOTRUN -> [SKIP][287] ([i915#9683])
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-3/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr@fbc-psr-dpms:
    - shard-mtlp:         NOTRUN -> [SKIP][288] ([i915#9688]) +5 other tests skip
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-7/igt@kms_psr@fbc-psr-dpms.html

  * igt@kms_psr@fbc-psr2-cursor-blt:
    - shard-tglu-1:       NOTRUN -> [SKIP][289] ([i915#9732]) +12 other tests skip
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_psr@fbc-psr2-cursor-blt.html

  * igt@kms_psr@fbc-psr2-primary-mmap-gtt:
    - shard-tglu:         NOTRUN -> [SKIP][290] ([i915#9732]) +20 other tests skip
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-9/igt@kms_psr@fbc-psr2-primary-mmap-gtt.html

  * igt@kms_psr@pr-cursor-render:
    - shard-rkl:          NOTRUN -> [SKIP][291] ([i915#1072] / [i915#14544] / [i915#9732]) +2 other tests skip
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_psr@pr-cursor-render.html

  * igt@kms_psr@psr-cursor-mmap-cpu:
    - shard-dg2:          NOTRUN -> [SKIP][292] ([i915#1072] / [i915#9732]) +11 other tests skip
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-1/igt@kms_psr@psr-cursor-mmap-cpu.html

  * igt@kms_psr@psr-cursor-render:
    - shard-rkl:          NOTRUN -> [SKIP][293] ([i915#1072] / [i915#9732]) +15 other tests skip
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@kms_psr@psr-cursor-render.html

  * igt@kms_psr@psr2-sprite-blt:
    - shard-dg1:          NOTRUN -> [SKIP][294] ([i915#1072] / [i915#9732]) +7 other tests skip
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-17/igt@kms_psr@psr2-sprite-blt.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-rkl:          NOTRUN -> [SKIP][295] ([i915#9685])
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-tglu:         NOTRUN -> [SKIP][296] ([i915#9685])
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-6/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_rotation_crc@bad-pixel-format:
    - shard-snb:          NOTRUN -> [SKIP][297] +167 other tests skip
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-snb6/igt@kms_rotation_crc@bad-pixel-format.html
    - shard-mtlp:         NOTRUN -> [SKIP][298] ([i915#12755]) +1 other test skip
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-2/igt@kms_rotation_crc@bad-pixel-format.html

  * igt@kms_rotation_crc@multiplane-rotation:
    - shard-glk:          NOTRUN -> [INCOMPLETE][299] ([i915#15492])
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk3/igt@kms_rotation_crc@multiplane-rotation.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-rkl:          NOTRUN -> [SKIP][300] ([i915#14544] / [i915#5289])
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
    - shard-tglu-1:       NOTRUN -> [SKIP][301] ([i915#5289])
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
    - shard-dg1:          NOTRUN -> [SKIP][302] ([i915#5289])
   [302]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-14/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
    - shard-mtlp:         NOTRUN -> [SKIP][303] ([i915#5289])
   [303]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
    - shard-dg2:          NOTRUN -> [SKIP][304] ([i915#5190])
   [304]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-11/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][305] ([i915#5289])
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html

  * igt@kms_rotation_crc@sprite-rotation-90-pos-100-0:
    - shard-dg2:          NOTRUN -> [SKIP][306] ([i915#12755]) +1 other test skip
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-3/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html

  * igt@kms_scaling_modes@scaling-mode-full-aspect:
    - shard-tglu:         NOTRUN -> [SKIP][307] ([i915#3555]) +4 other tests skip
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-5/igt@kms_scaling_modes@scaling-mode-full-aspect.html

  * igt@kms_selftest@drm_framebuffer:
    - shard-rkl:          NOTRUN -> [ABORT][308] ([i915#13179]) +1 other test abort
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_selftest@drm_framebuffer.html

  * igt@kms_setmode@invalid-clone-single-crtc:
    - shard-dg2:          NOTRUN -> [SKIP][309] ([i915#3555])
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-1/igt@kms_setmode@invalid-clone-single-crtc.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-tglu:         NOTRUN -> [SKIP][310] ([i915#8623])
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-5/igt@kms_tiled_display@basic-test-pattern.html
    - shard-dg2:          NOTRUN -> [SKIP][311] ([i915#8623])
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-4/igt@kms_tiled_display@basic-test-pattern.html
    - shard-rkl:          NOTRUN -> [SKIP][312] ([i915#8623])
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-8/igt@kms_tiled_display@basic-test-pattern.html

  * igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2:
    - shard-glk:          NOTRUN -> [INCOMPLETE][313] ([i915#12276])
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk5/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html

  * igt@kms_vrr@max-min:
    - shard-rkl:          NOTRUN -> [SKIP][314] ([i915#14544] / [i915#9906])
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_vrr@max-min.html

  * igt@kms_vrr@seamless-rr-switch-vrr:
    - shard-tglu:         NOTRUN -> [SKIP][315] ([i915#9906])
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-4/igt@kms_vrr@seamless-rr-switch-vrr.html

  * igt@perf_pmu@busy-double-start@vecs1:
    - shard-dg2:          [PASS][316] -> [FAIL][317] ([i915#4349]) +4 other tests fail
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg2-11/igt@perf_pmu@busy-double-start@vecs1.html
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-1/igt@perf_pmu@busy-double-start@vecs1.html

  * igt@perf_pmu@module-unload:
    - shard-glk:          NOTRUN -> [FAIL][318] ([i915#14433])
   [318]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk2/igt@perf_pmu@module-unload.html

  * igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
    - shard-rkl:          NOTRUN -> [SKIP][319] ([i915#9917]) +1 other test skip
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-2/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html

  * igt@tools_test@sysfs_l3_parity:
    - shard-mtlp:         NOTRUN -> [SKIP][320] ([i915#4818])
   [320]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-4/igt@tools_test@sysfs_l3_parity.html

  
#### Possible fixes ####

  * igt@gem_ccs@suspend-resume:
    - shard-dg2:          [INCOMPLETE][321] ([i915#13356]) -> [PASS][322] +1 other test pass
   [321]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg2-3/igt@gem_ccs@suspend-resume.html
   [322]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-5/igt@gem_ccs@suspend-resume.html

  * igt@gem_ctx_isolation@preservation-s3@rcs0:
    - shard-snb:          [ABORT][323] ([i915#14871]) -> [PASS][324] +1 other test pass
   [323]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-snb6/igt@gem_ctx_isolation@preservation-s3@rcs0.html
   [324]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-snb5/igt@gem_ctx_isolation@preservation-s3@rcs0.html

  * igt@gem_eio@kms:
    - shard-rkl:          [DMESG-WARN][325] ([i915#13363]) -> [PASS][326]
   [325]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@gem_eio@kms.html
   [326]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@gem_eio@kms.html

  * igt@gem_exec_big@single:
    - shard-tglu:         [ABORT][327] ([i915#11713]) -> [PASS][328]
   [327]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-tglu-10/igt@gem_exec_big@single.html
   [328]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-4/igt@gem_exec_big@single.html

  * igt@gem_exec_endless@dispatch@bcs0:
    - shard-rkl:          [TIMEOUT][329] ([i915#3778]) -> [PASS][330] +1 other test pass
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-2/igt@gem_exec_endless@dispatch@bcs0.html
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@gem_exec_endless@dispatch@bcs0.html

  * igt@gem_mmap_offset@clear-via-pagefault:
    - shard-mtlp:         [ABORT][331] ([i915#14809]) -> [PASS][332] +1 other test pass
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-mtlp-8/igt@gem_mmap_offset@clear-via-pagefault.html
   [332]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-3/igt@gem_mmap_offset@clear-via-pagefault.html

  * igt@gem_pxp@create-regular-buffer:
    - shard-rkl:          [SKIP][333] ([i915#4270]) -> [PASS][334]
   [333]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-5/igt@gem_pxp@create-regular-buffer.html
   [334]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-8/igt@gem_pxp@create-regular-buffer.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-rkl:          [ABORT][335] ([i915#15131]) -> [PASS][336]
   [335]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-1/igt@gem_workarounds@suspend-resume-context.html
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@gem_workarounds@suspend-resume-context.html

  * igt@i915_suspend@basic-s3-without-i915:
    - shard-dg1:          [DMESG-WARN][337] ([i915#4391] / [i915#4423]) -> [PASS][338]
   [337]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg1-17/igt@i915_suspend@basic-s3-without-i915.html
   [338]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-18/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_async_flips@async-flip-suspend-resume@pipe-c-hdmi-a-2:
    - shard-rkl:          [INCOMPLETE][339] ([i915#12761]) -> [PASS][340] +1 other test pass
   [339]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-3/igt@kms_async_flips@async-flip-suspend-resume@pipe-c-hdmi-a-2.html
   [340]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@kms_async_flips@async-flip-suspend-resume@pipe-c-hdmi-a-2.html

  * igt@kms_cursor_crc@cursor-sliding-128x42:
    - shard-tglu:         [FAIL][341] ([i915#13566]) -> [PASS][342] +5 other tests pass
   [341]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-tglu-6/igt@kms_cursor_crc@cursor-sliding-128x42.html
   [342]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-6/igt@kms_cursor_crc@cursor-sliding-128x42.html

  * igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-2:
    - shard-rkl:          [FAIL][343] ([i915#13566]) -> [PASS][344] +2 other tests pass
   [343]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-2.html
   [344]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-2.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc:
    - shard-dg2:          [SKIP][345] ([i915#3555]) -> [PASS][346]
   [345]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg2-1/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
   [346]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-11/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
    - shard-snb:          [TIMEOUT][347] ([i915#14033] / [i915#14350]) -> [PASS][348]
   [347]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-snb6/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
   [348]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-snb7/igt@kms_flip@2x-flip-vs-suspend-interruptible.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-vga1-hdmi-a1:
    - shard-snb:          [TIMEOUT][349] ([i915#14033]) -> [PASS][350]
   [349]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-snb6/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-vga1-hdmi-a1.html
   [350]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-snb7/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-vga1-hdmi-a1.html

  * igt@kms_flip@wf_vblank-ts-check@a-hdmi-a1:
    - shard-tglu:         [FAIL][351] ([i915#10826]) -> [PASS][352] +1 other test pass
   [351]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-tglu-7/igt@kms_flip@wf_vblank-ts-check@a-hdmi-a1.html
   [352]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-4/igt@kms_flip@wf_vblank-ts-check@a-hdmi-a1.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt:
    - shard-dg2:          [FAIL][353] ([i915#15389] / [i915#6880]) -> [PASS][354]
   [353]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt.html
   [354]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt.html

  * igt@kms_hdr@bpc-switch-dpms:
    - shard-rkl:          [SKIP][355] ([i915#3555] / [i915#8228]) -> [PASS][356]
   [355]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-8/igt@kms_hdr@bpc-switch-dpms.html
   [356]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_hdr@bpc-switch-dpms.html
    - shard-dg2:          [SKIP][357] ([i915#3555] / [i915#8228]) -> [PASS][358]
   [357]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg2-4/igt@kms_hdr@bpc-switch-dpms.html
   [358]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-11/igt@kms_hdr@bpc-switch-dpms.html

  * igt@kms_pipe_crc_basic@suspend-read-crc:
    - shard-rkl:          [INCOMPLETE][359] ([i915#12756] / [i915#13476]) -> [PASS][360]
   [359]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_pipe_crc_basic@suspend-read-crc.html
   [360]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@kms_pipe_crc_basic@suspend-read-crc.html

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-dg2:          [SKIP][361] ([i915#15073]) -> [PASS][362]
   [361]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg2-8/igt@kms_pm_rpm@modeset-lpsp-stress.html
   [362]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-4/igt@kms_pm_rpm@modeset-lpsp-stress.html
    - shard-dg1:          [SKIP][363] ([i915#15073]) -> [PASS][364]
   [363]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg1-16/igt@kms_pm_rpm@modeset-lpsp-stress.html
   [364]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-14/igt@kms_pm_rpm@modeset-lpsp-stress.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress:
    - shard-rkl:          [SKIP][365] ([i915#15073]) -> [PASS][366] +3 other tests pass
   [365]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-5/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
   [366]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-4/igt@kms_pm_rpm@modeset-non-lpsp-stress.html

  * igt@kms_pm_rpm@system-suspend-idle:
    - shard-dg2:          [INCOMPLETE][367] ([i915#14419]) -> [PASS][368]
   [367]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg2-5/igt@kms_pm_rpm@system-suspend-idle.html
   [368]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-11/igt@kms_pm_rpm@system-suspend-idle.html

  * igt@kms_vblank@query-forked-hang:
    - shard-dg1:          [DMESG-WARN][369] ([i915#4423]) -> [PASS][370] +2 other tests pass
   [369]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg1-16/igt@kms_vblank@query-forked-hang.html
   [370]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-17/igt@kms_vblank@query-forked-hang.html

  * igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1:
    - shard-glk:          [INCOMPLETE][371] ([i915#12276]) -> [PASS][372]
   [371]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-glk6/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1.html
   [372]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-glk5/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1.html

  * igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2:
    - shard-rkl:          [INCOMPLETE][373] ([i915#12276]) -> [PASS][374] +1 other test pass
   [373]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html
   [374]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html

  * igt@perf_pmu@busy-accuracy-98@rcs0:
    - shard-tglu:         [FAIL][375] ([i915#4349]) -> [PASS][376] +2 other tests pass
   [375]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-tglu-9/igt@perf_pmu@busy-accuracy-98@rcs0.html
   [376]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-tglu-10/igt@perf_pmu@busy-accuracy-98@rcs0.html

  * igt@perf_pmu@busy-double-start@vecs0:
    - shard-mtlp:         [FAIL][377] ([i915#4349]) -> [PASS][378] +2 other tests pass
   [377]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-mtlp-3/igt@perf_pmu@busy-double-start@vecs0.html
   [378]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-mtlp-8/igt@perf_pmu@busy-double-start@vecs0.html

  * igt@perf_pmu@rc6-suspend:
    - shard-rkl:          [INCOMPLETE][379] ([i915#13520]) -> [PASS][380]
   [379]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-3/igt@perf_pmu@rc6-suspend.html
   [380]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@perf_pmu@rc6-suspend.html

  
#### Warnings ####

  * igt@api_intel_bb@object-reloc-keep-cache:
    - shard-rkl:          [SKIP][381] ([i915#8411]) -> [SKIP][382] ([i915#14544] / [i915#8411])
   [381]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-5/igt@api_intel_bb@object-reloc-keep-cache.html
   [382]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@api_intel_bb@object-reloc-keep-cache.html

  * igt@gem_ccs@suspend-resume:
    - shard-rkl:          [SKIP][383] ([i915#14544] / [i915#9323]) -> [SKIP][384] ([i915#9323]) +1 other test skip
   [383]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@gem_ccs@suspend-resume.html
   [384]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@gem_ccs@suspend-resume.html

  * igt@gem_ctx_sseu@invalid-args:
    - shard-rkl:          [SKIP][385] ([i915#14544] / [i915#280]) -> [SKIP][386] ([i915#280])
   [385]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@gem_ctx_sseu@invalid-args.html
   [386]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-1/igt@gem_ctx_sseu@invalid-args.html

  * igt@gem_ctx_sseu@invalid-sseu:
    - shard-rkl:          [SKIP][387] ([i915#280]) -> [SKIP][388] ([i915#14544] / [i915#280])
   [387]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-2/igt@gem_ctx_sseu@invalid-sseu.html
   [388]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@gem_ctx_sseu@invalid-sseu.html

  * igt@gem_exec_balancer@parallel-out-fence:
    - shard-rkl:          [SKIP][389] ([i915#14544] / [i915#4525]) -> [SKIP][390] ([i915#4525])
   [389]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@gem_exec_balancer@parallel-out-fence.html
   [390]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@gem_exec_balancer@parallel-out-fence.html

  * igt@gem_exec_reloc@basic-gtt-cpu-noreloc:
    - shard-rkl:          [SKIP][391] ([i915#14544] / [i915#3281]) -> [SKIP][392] ([i915#3281]) +5 other tests skip
   [391]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-cpu-noreloc.html
   [392]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@gem_exec_reloc@basic-gtt-cpu-noreloc.html

  * igt@gem_exec_reloc@basic-scanout:
    - shard-rkl:          [SKIP][393] ([i915#3281]) -> [SKIP][394] ([i915#14544] / [i915#3281]) +2 other tests skip
   [393]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-8/igt@gem_exec_reloc@basic-scanout.html
   [394]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@gem_exec_reloc@basic-scanout.html

  * igt@gem_lmem_swapping@verify-random:
    - shard-rkl:          [SKIP][395] ([i915#14544] / [i915#4613]) -> [SKIP][396] ([i915#4613])
   [395]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@gem_lmem_swapping@verify-random.html
   [396]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-4/igt@gem_lmem_swapping@verify-random.html

  * igt@gem_media_vme:
    - shard-rkl:          [SKIP][397] ([i915#284]) -> [SKIP][398] ([i915#14544] / [i915#284])
   [397]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-4/igt@gem_media_vme.html
   [398]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@gem_media_vme.html

  * igt@gem_partial_pwrite_pread@write-snoop:
    - shard-rkl:          [SKIP][399] ([i915#14544] / [i915#3282]) -> [SKIP][400] ([i915#3282])
   [399]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@gem_partial_pwrite_pread@write-snoop.html
   [400]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-4/igt@gem_partial_pwrite_pread@write-snoop.html

  * igt@gem_set_tiling_vs_blt@tiled-to-tiled:
    - shard-rkl:          [SKIP][401] ([i915#14544] / [i915#8411]) -> [SKIP][402] ([i915#8411])
   [401]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html
   [402]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-2/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html

  * igt@gem_tiled_partial_pwrite_pread@writes:
    - shard-rkl:          [SKIP][403] ([i915#3282]) -> [SKIP][404] ([i915#14544] / [i915#3282]) +2 other tests skip
   [403]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-7/igt@gem_tiled_partial_pwrite_pread@writes.html
   [404]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@gem_tiled_partial_pwrite_pread@writes.html

  * igt@gem_userptr_blits@access-control:
    - shard-rkl:          [SKIP][405] ([i915#14544] / [i915#3297]) -> [SKIP][406] ([i915#3297])
   [405]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@gem_userptr_blits@access-control.html
   [406]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-4/igt@gem_userptr_blits@access-control.html

  * igt@gem_userptr_blits@coherency-sync:
    - shard-rkl:          [SKIP][407] ([i915#3297]) -> [SKIP][408] ([i915#14544] / [i915#3297])
   [407]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-4/igt@gem_userptr_blits@coherency-sync.html
   [408]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@gem_userptr_blits@coherency-sync.html

  * igt@gen9_exec_parse@batch-invalid-length:
    - shard-rkl:          [SKIP][409] ([i915#14544] / [i915#2527]) -> [SKIP][410] ([i915#2527]) +1 other test skip
   [409]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@gen9_exec_parse@batch-invalid-length.html
   [410]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@gen9_exec_parse@batch-invalid-length.html

  * igt@gen9_exec_parse@bb-start-param:
    - shard-rkl:          [SKIP][411] ([i915#2527]) -> [SKIP][412] ([i915#14544] / [i915#2527])
   [411]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-8/igt@gen9_exec_parse@bb-start-param.html
   [412]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@gen9_exec_parse@bb-start-param.html

  * igt@i915_module_load@fault-injection@intel_gt_init-enodev:
    - shard-rkl:          [SKIP][413] ([i915#15479]) -> [SKIP][414] ([i915#14544] / [i915#15479]) +4 other tests skip
   [413]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-2/igt@i915_module_load@fault-injection@intel_gt_init-enodev.html
   [414]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@i915_module_load@fault-injection@intel_gt_init-enodev.html

  * igt@i915_pm_sseu@full-enable:
    - shard-rkl:          [SKIP][415] ([i915#14544] / [i915#4387]) -> [SKIP][416] ([i915#4387])
   [415]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@i915_pm_sseu@full-enable.html
   [416]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@i915_pm_sseu@full-enable.html

  * igt@intel_hwmon@hwmon-write:
    - shard-rkl:          [SKIP][417] ([i915#14544] / [i915#7707]) -> [SKIP][418] ([i915#7707])
   [417]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@intel_hwmon@hwmon-write.html
   [418]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@intel_hwmon@hwmon-write.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-270:
    - shard-rkl:          [SKIP][419] ([i915#14544] / [i915#5286]) -> [SKIP][420] ([i915#5286]) +1 other test skip
   [419]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html
   [420]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - shard-rkl:          [SKIP][421] ([i915#5286]) -> [SKIP][422] ([i915#14544] / [i915#5286]) +1 other test skip
   [421]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
   [422]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@linear-16bpp-rotate-270:
    - shard-rkl:          [SKIP][423] ([i915#3638]) -> [SKIP][424] ([i915#14544] / [i915#3638])
   [423]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-4/igt@kms_big_fb@linear-16bpp-rotate-270.html
   [424]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_big_fb@linear-16bpp-rotate-270.html

  * igt@kms_big_fb@linear-64bpp-rotate-90:
    - shard-rkl:          [SKIP][425] ([i915#14544] / [i915#3638]) -> [SKIP][426] ([i915#3638]) +2 other tests skip
   [425]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_big_fb@linear-64bpp-rotate-90.html
   [426]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@kms_big_fb@linear-64bpp-rotate-90.html

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-rkl:          [SKIP][427] ([i915#3828]) -> [SKIP][428] ([i915#14544] / [i915#3828])
   [427]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-2/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html
   [428]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_fb@yf-tiled-addfb-size-overflow:
    - shard-rkl:          [SKIP][429] -> [SKIP][430] ([i915#14544]) +5 other tests skip
   [429]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-4/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
   [430]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html

  * igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs:
    - shard-rkl:          [SKIP][431] ([i915#14098] / [i915#6095]) -> [SKIP][432] ([i915#14098] / [i915#14544] / [i915#6095]) +7 other tests skip
   [431]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-4/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs.html
   [432]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2:
    - shard-rkl:          [SKIP][433] ([i915#6095]) -> [SKIP][434] ([i915#14544] / [i915#6095]) +6 other tests skip
   [433]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-4/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2.html
   [434]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          [SKIP][435] ([i915#14544] / [i915#6095]) -> [SKIP][436] ([i915#6095]) +6 other tests skip
   [435]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-2.html
   [436]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          [SKIP][437] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][438] ([i915#14098] / [i915#6095]) +11 other tests skip
   [437]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2.html
   [438]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_chamelium_edid@hdmi-edid-change-during-suspend:
    - shard-rkl:          [SKIP][439] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][440] ([i915#11151] / [i915#7828]) +2 other tests skip
   [439]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html
   [440]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-2/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html

  * igt@kms_chamelium_frames@hdmi-aspect-ratio:
    - shard-rkl:          [SKIP][441] ([i915#11151] / [i915#7828]) -> [SKIP][442] ([i915#11151] / [i915#14544] / [i915#7828])
   [441]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-8/igt@kms_chamelium_frames@hdmi-aspect-ratio.html
   [442]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_chamelium_frames@hdmi-aspect-ratio.html

  * igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode:
    - shard-dg1:          [SKIP][443] ([i915#11151] / [i915#4423] / [i915#7828]) -> [SKIP][444] ([i915#11151] / [i915#7828])
   [443]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg1-17/igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode.html
   [444]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-15/igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode.html

  * igt@kms_content_protection@atomic:
    - shard-dg2:          [FAIL][445] ([i915#7173]) -> [SKIP][446] ([i915#6944] / [i915#7118] / [i915#9424])
   [445]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg2-11/igt@kms_content_protection@atomic.html
   [446]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-6/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@lic-type-0:
    - shard-rkl:          [SKIP][447] ([i915#14544] / [i915#6944] / [i915#9424]) -> [SKIP][448] ([i915#6944] / [i915#9424])
   [447]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_content_protection@lic-type-0.html
   [448]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@kms_content_protection@lic-type-0.html

  * igt@kms_content_protection@lic-type-0-hdcp14:
    - shard-dg2:          [SKIP][449] ([i915#6944]) -> [FAIL][450] ([i915#7173])
   [449]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg2-8/igt@kms_content_protection@lic-type-0-hdcp14.html
   [450]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-11/igt@kms_content_protection@lic-type-0-hdcp14.html

  * igt@kms_cursor_crc@cursor-random-max-size:
    - shard-rkl:          [SKIP][451] ([i915#3555]) -> [SKIP][452] ([i915#14544] / [i915#3555])
   [451]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-5/igt@kms_cursor_crc@cursor-random-max-size.html
   [452]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_cursor_crc@cursor-random-max-size.html

  * igt@kms_cursor_crc@cursor-sliding-max-size:
    - shard-rkl:          [SKIP][453] ([i915#14544] / [i915#3555]) -> [SKIP][454] ([i915#3555])
   [453]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-max-size.html
   [454]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_cursor_crc@cursor-sliding-max-size.html

  * igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
    - shard-rkl:          [SKIP][455] ([i915#14544] / [i915#9067]) -> [SKIP][456] ([i915#9067])
   [455]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
   [456]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
    - shard-rkl:          [SKIP][457] ([i915#4103]) -> [SKIP][458] ([i915#14544] / [i915#4103])
   [457]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-4/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
   [458]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc:
    - shard-rkl:          [SKIP][459] ([i915#3555] / [i915#3804]) -> [SKIP][460] ([i915#14544] / [i915#3555] / [i915#3804])
   [459]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-3/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
   [460]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2:
    - shard-rkl:          [SKIP][461] ([i915#3804]) -> [SKIP][462] ([i915#14544] / [i915#3804])
   [461]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-3/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2.html
   [462]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2.html

  * igt@kms_dsc@dsc-with-bpc:
    - shard-rkl:          [SKIP][463] ([i915#3555] / [i915#3840]) -> [SKIP][464] ([i915#14544] / [i915#3555] / [i915#3840])
   [463]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-3/igt@kms_dsc@dsc-with-bpc.html
   [464]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_dsc@dsc-with-bpc.html

  * igt@kms_feature_discovery@display-2x:
    - shard-rkl:          [SKIP][465] ([i915#14544] / [i915#1839]) -> [SKIP][466] ([i915#1839])
   [465]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_feature_discovery@display-2x.html
   [466]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-8/igt@kms_feature_discovery@display-2x.html

  * igt@kms_feature_discovery@display-3x:
    - shard-dg1:          [SKIP][467] ([i915#1839] / [i915#4423]) -> [SKIP][468] ([i915#1839])
   [467]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg1-17/igt@kms_feature_discovery@display-3x.html
   [468]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-13/igt@kms_feature_discovery@display-3x.html

  * igt@kms_feature_discovery@display-4x:
    - shard-rkl:          [SKIP][469] ([i915#1839]) -> [SKIP][470] ([i915#14544] / [i915#1839])
   [469]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-4/igt@kms_feature_discovery@display-4x.html
   [470]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_feature_discovery@display-4x.html

  * igt@kms_feature_discovery@psr2:
    - shard-rkl:          [SKIP][471] ([i915#14544] / [i915#658]) -> [SKIP][472] ([i915#658])
   [471]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_feature_discovery@psr2.html
   [472]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-rkl:          [SKIP][473] ([i915#9934]) -> [SKIP][474] ([i915#14544] / [i915#9934]) +1 other test skip
   [473]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
   [474]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@2x-flip-vs-wf_vblank:
    - shard-rkl:          [SKIP][475] ([i915#14544] / [i915#9934]) -> [SKIP][476] ([i915#9934]) +2 other tests skip
   [475]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_flip@2x-flip-vs-wf_vblank.html
   [476]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-4/igt@kms_flip@2x-flip-vs-wf_vblank.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling:
    - shard-dg1:          [SKIP][477] ([i915#2672] / [i915#3555] / [i915#4423]) -> [SKIP][478] ([i915#2672] / [i915#3555])
   [477]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg1-17/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling.html
   [478]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-13/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-valid-mode:
    - shard-dg1:          [SKIP][479] ([i915#2587] / [i915#2672] / [i915#4423]) -> [SKIP][480] ([i915#2587] / [i915#2672])
   [479]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg1-17/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-valid-mode.html
   [480]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-13/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling:
    - shard-rkl:          [SKIP][481] ([i915#14544] / [i915#2672] / [i915#3555]) -> [SKIP][482] ([i915#2672] / [i915#3555])
   [481]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling.html
   [482]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-rkl:          [SKIP][483] ([i915#14544] / [i915#2672]) -> [SKIP][484] ([i915#2672])
   [483]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html
   [484]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-7/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-render:
    - shard-rkl:          [SKIP][485] ([i915#15574]) -> [SKIP][486] ([i915#14544] / [i915#15574]) +2 other tests skip
   [485]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-3/igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-render.html
   [486]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt:
    - shard-dg1:          [SKIP][487] ([i915#15102] / [i915#3458]) -> [SKIP][488] ([i915#15102] / [i915#3458] / [i915#4423])
   [487]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html
   [488]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-12/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-rte:
    - shard-rkl:          [SKIP][489] ([i915#15102] / [i915#3023]) -> [SKIP][490] ([i915#14544] / [i915#15102] / [i915#3023]) +4 other tests skip
   [489]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html
   [490]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt:
    - shard-rkl:          [SKIP][491] ([i915#14544]) -> [SKIP][492] +10 other tests skip
   [491]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt.html
   [492]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt:
    - shard-rkl:          [SKIP][493] ([i915#1825]) -> [SKIP][494] ([i915#14544] / [i915#1825]) +11 other tests skip
   [493]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt.html
   [494]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-wc:
    - shard-rkl:          [SKIP][495] ([i915#15102]) -> [SKIP][496] ([i915#14544] / [i915#15102]) +2 other tests skip
   [495]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-wc.html
   [496]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu:
    - shard-dg2:          [SKIP][497] ([i915#10433] / [i915#15102] / [i915#3458]) -> [SKIP][498] ([i915#15102] / [i915#3458]) +1 other test skip
   [497]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
   [498]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-11/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render:
    - shard-rkl:          [SKIP][499] ([i915#14544] / [i915#1825]) -> [SKIP][500] ([i915#1825]) +16 other tests skip
   [499]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render.html
   [500]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-argb161616f-draw-blt:
    - shard-rkl:          [SKIP][501] ([i915#14544] / [i915#15574]) -> [SKIP][502] ([i915#15574]) +4 other tests skip
   [501]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-argb161616f-draw-blt.html
   [502]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-argb161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-pwrite:
    - shard-rkl:          [SKIP][503] ([i915#14544] / [i915#15102] / [i915#3023]) -> [SKIP][504] ([i915#15102] / [i915#3023]) +6 other tests skip
   [503]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-pwrite.html
   [504]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-pwrite.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-dg2:          [SKIP][505] ([i915#12713]) -> [SKIP][506] ([i915#13331])
   [505]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg2-5/igt@kms_hdr@brightness-with-hdr.html
   [506]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg2-11/igt@kms_hdr@brightness-with-hdr.html
    - shard-rkl:          [SKIP][507] ([i915#12713]) -> [SKIP][508] ([i915#1187] / [i915#12713])
   [507]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-8/igt@kms_hdr@brightness-with-hdr.html
   [508]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-rkl:          [SKIP][509] ([i915#1839] / [i915#4816]) -> [SKIP][510] ([i915#14544] / [i915#1839] / [i915#4816])
   [509]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-3/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
   [510]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_panel_fitting@atomic-fastset:
    - shard-rkl:          [SKIP][511] ([i915#6301]) -> [SKIP][512] ([i915#14544] / [i915#6301])
   [511]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-8/igt@kms_panel_fitting@atomic-fastset.html
   [512]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_panel_fitting@atomic-fastset.html

  * igt@kms_panel_fitting@legacy:
    - shard-rkl:          [SKIP][513] ([i915#14544] / [i915#6301]) -> [SKIP][514] ([i915#6301])
   [513]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_panel_fitting@legacy.html
   [514]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_panel_fitting@legacy.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a:
    - shard-rkl:          [SKIP][515] ([i915#15329]) -> [SKIP][516] ([i915#14544] / [i915#15329]) +3 other tests skip
   [515]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-4/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html
   [516]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html

  * igt@kms_pm_backlight@fade-with-dpms:
    - shard-rkl:          [SKIP][517] ([i915#5354]) -> [SKIP][518] ([i915#14544] / [i915#5354])
   [517]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-3/igt@kms_pm_backlight@fade-with-dpms.html
   [518]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_pm_backlight@fade-with-dpms.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf:
    - shard-rkl:          [SKIP][519] ([i915#11520] / [i915#14544]) -> [SKIP][520] ([i915#11520]) +3 other tests skip
   [519]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf.html
   [520]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-5/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf.html

  * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area:
    - shard-rkl:          [SKIP][521] ([i915#11520]) -> [SKIP][522] ([i915#11520] / [i915#14544]) +2 other tests skip
   [521]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-5/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area.html
   [522]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area.html

  * igt@kms_psr@fbc-pr-sprite-blt:
    - shard-dg1:          [SKIP][523] ([i915#1072] / [i915#4423] / [i915#9732]) -> [SKIP][524] ([i915#1072] / [i915#9732]) +1 other test skip
   [523]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-dg1-17/igt@kms_psr@fbc-pr-sprite-blt.html
   [524]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-dg1-16/igt@kms_psr@fbc-pr-sprite-blt.html

  * igt@kms_psr@fbc-psr-primary-mmap-gtt:
    - shard-rkl:          [SKIP][525] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][526] ([i915#1072] / [i915#9732]) +10 other tests skip
   [525]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_psr@fbc-psr-primary-mmap-gtt.html
   [526]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-2/igt@kms_psr@fbc-psr-primary-mmap-gtt.html

  * igt@kms_psr@pr-sprite-render:
    - shard-rkl:          [SKIP][527] ([i915#1072] / [i915#9732]) -> [SKIP][528] ([i915#1072] / [i915#14544] / [i915#9732]) +8 other tests skip
   [527]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-5/igt@kms_psr@pr-sprite-render.html
   [528]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@kms_psr@pr-sprite-render.html

  * igt@kms_vrr@seamless-rr-switch-virtual:
    - shard-rkl:          [SKIP][529] ([i915#14544] / [i915#9906]) -> [SKIP][530] ([i915#9906])
   [529]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@kms_vrr@seamless-rr-switch-virtual.html
   [530]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-3/igt@kms_vrr@seamless-rr-switch-virtual.html

  * igt@prime_vgem@fence-read-hang:
    - shard-rkl:          [SKIP][531] ([i915#14544] / [i915#3708]) -> [SKIP][532] ([i915#3708]) +1 other test skip
   [531]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-6/igt@prime_vgem@fence-read-hang.html
   [532]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-8/igt@prime_vgem@fence-read-hang.html

  * igt@sriov_basic@enable-vfs-autoprobe-on:
    - shard-rkl:          [SKIP][533] ([i915#9917]) -> [SKIP][534] ([i915#14544] / [i915#9917])
   [533]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8709/shard-rkl-5/igt@sriov_basic@enable-vfs-autoprobe-on.html
   [534]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/shard-rkl-6/igt@sriov_basic@enable-vfs-autoprobe-on.html

  
  [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
  [i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
  [i915#10647]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10647
  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
  [i915#10826]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10826
  [i915#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099
  [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#11713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11713
  [i915#1187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1187
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#12177]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12177
  [i915#12178]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12178
  [i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
  [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
  [i915#12314]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12314
  [i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316
  [i915#12358]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12358
  [i915#12454]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12454
  [i915#12712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12712
  [i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713
  [i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
  [i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
  [i915#12756]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12756
  [i915#12761]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12761
  [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#13363]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13363
  [i915#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398
  [i915#13476]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13476
  [i915#13520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13520
  [i915#13522]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13522
  [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
  [i915#13688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13688
  [i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707
  [i915#13717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13717
  [i915#13783]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13783
  [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#14152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14152
  [i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
  [i915#14350]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14350
  [i915#14419]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14419
  [i915#14433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14433
  [i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
  [i915#14600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14600
  [i915#14712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14712
  [i915#14785]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14785
  [i915#14809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14809
  [i915#14871]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14871
  [i915#14995]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14995
  [i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
  [i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
  [i915#15104]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15104
  [i915#15131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15131
  [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#15389]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15389
  [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#15519]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15519
  [i915#15560]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15560
  [i915#15573]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15573
  [i915#15574]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15574
  [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#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
  [i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672
  [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
  [i915#284]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/284
  [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#3469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3469
  [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#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
  [i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
  [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#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
  [i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
  [i915#4387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4387
  [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#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537
  [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
  [i915#4816]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4816
  [i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
  [i915#4818]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4818
  [i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
  [i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
  [i915#4854]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4854
  [i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
  [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#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
  [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
  [i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
  [i915#6334]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6334
  [i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
  [i915#6344]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6344
  [i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
  [i915#6880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6880
  [i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944
  [i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
  [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#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
  [i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707
  [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
  [i915#7862]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7862
  [i915#7882]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7882
  [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#8562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8562
  [i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
  [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
  [i915#8810]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8810
  [i915#8813]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8813
  [i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
  [i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
  [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
  [i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
  [i915#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531
  [i915#9561]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9561
  [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
  [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#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766
  [i915#9809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9809
  [i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
  [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
  [i915#9979]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9979


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_8709 -> IGTPW_14382

  CI-20190529: 20190529
  CI_DRM_17854: fa2241b92adb500a9c016188d338aa3f6f8a95a1 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_14382: 55597697930d2c1c31f4b0f864ed3681793a7aad @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8709: 16ce286cac6acc9669a1c758572ae9fceb483c46 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14382/index.html

[-- Attachment #2: Type: text/html, Size: 181530 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 07/12] lib/crc: Convert igt_pipe_crc away from enum pipe
  2026-01-20 17:16 ` [PATCH i-g-t 07/12] lib/crc: Convert igt_pipe_crc away from enum pipe Ville Syrjala
@ 2026-01-21  9:21   ` Jani Nikula
  0 siblings, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2026-01-21  9:21 UTC (permalink / raw)
  To: Ville Syrjala, igt-dev

On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Use the correct crtc_index/crtc_offset rather than the
> incorrect pipe for the pipe crc debugfs stuff. Currently
> the two match 1:1 so no functional change, but if/when we
> change the pipe<->crtc mapping this needs to be done correctly.

Yeah, this aligns with my thinking. If a function uses the passed in
pipe as a crtc index, the function should be explicitly using crtc
(index) in function/parameter naming. If the caller requires a specific
pipe, it's the caller's responsibility to pass in a crtc that matches
the pipe they want, because *that* is the special case.

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  lib/igt_pipe_crc.c | 32 ++++++++++++++++----------------
>  lib/igt_pipe_crc.h |  6 ++----
>  2 files changed, 18 insertions(+), 20 deletions(-)
>
> diff --git a/lib/igt_pipe_crc.c b/lib/igt_pipe_crc.c
> index 866bf2881cbd..9a79edd51531 100644
> --- a/lib/igt_pipe_crc.c
> +++ b/lib/igt_pipe_crc.c
> @@ -189,7 +189,7 @@ struct _igt_pipe_crc {
>  	int crc_fd;
>  	int flags;
>  
> -	enum pipe pipe;
> +	int crtc_index;
>  	char *source;
>  };
>  
> @@ -215,7 +215,7 @@ void igt_require_pipe_crc(int fd)
>  }
>  
>  static igt_pipe_crc_t *
> -pipe_crc_new(int fd, enum pipe pipe, const char *source, int flags)
> +pipe_crc_new(int fd, int crtc_index, const char *source, int flags)
>  {
>  	igt_pipe_crc_t *pipe_crc;
>  	char buf[128];
> @@ -235,14 +235,14 @@ pipe_crc_new(int fd, enum pipe pipe, const char *source, int flags)
>  	pipe_crc = calloc(1, sizeof(struct _igt_pipe_crc));
>  	igt_assert(pipe_crc);
>  
> -	sprintf(buf, "crtc-%d/crc/control", pipe);
> +	sprintf(buf, "crtc-%d/crc/control", crtc_index);
>  	pipe_crc->ctl_fd = openat(debugfs, buf, O_WRONLY);
>  	igt_assert(pipe_crc->ctl_fd != -1);
>  
>  	pipe_crc->crc_fd = -1;
>  	pipe_crc->fd = fd;
>  	pipe_crc->dir = debugfs;
> -	pipe_crc->pipe = pipe;
> +	pipe_crc->crtc_index = crtc_index;
>  	pipe_crc->source = strdup(env_source);
>  	igt_assert(pipe_crc->source);
>  	pipe_crc->flags = flags;
> @@ -253,39 +253,39 @@ pipe_crc_new(int fd, enum pipe pipe, const char *source, int flags)
>  /**
>   * igt_pipe_crc_new:
>   * @fd: fd of the device
> - * @pipe: display pipe to use as source
> + * @crtc_index: CRTC to use as source
>   * @source: CRC tap point to use as source
>   *
> - * This sets up a new pipe CRC capture object for the given @pipe and @source
> + * This sets up a new pipe CRC capture object for the given @crtc_index and @source
>   * in blocking mode.
>   *
> - * Returns: A pipe CRC object for the given @pipe and @source. The library
> + * Returns: A pipe CRC object for the given @crtc_index and @source. The library
>   * assumes that the source is always available since recent kernels support at
>   * least IGT_PIPE_CRC_SOURCE_AUTO everywhere.
>   */
>  igt_pipe_crc_t *
> -igt_pipe_crc_new(int fd, enum pipe pipe, const char *source)
> +igt_pipe_crc_new(int fd, int crtc_index, const char *source)
>  {
> -	return pipe_crc_new(fd, pipe, source, O_RDONLY);
> +	return pipe_crc_new(fd, crtc_index, source, O_RDONLY);
>  }
>  
>  /**
>   * igt_pipe_crc_new_nonblock:
>   * @fd: fd of the device
> - * @pipe: display pipe to use as source
> + * @crtc_index: CRTC to use as source
>   * @source: CRC tap point to use as source
>   *
> - * This sets up a new pipe CRC capture object for the given @pipe and @source
> + * This sets up a new pipe CRC capture object for the given @crtc_index and @source
>   * in nonblocking mode.
>   *
> - * Returns: A pipe CRC object for the given @pipe and @source. The library
> + * Returns: A pipe CRC object for the given @crtc_index and @source. The library
>   * assumes that the source is always available since recent kernels support at
>   * least IGT_PIPE_CRC_SOURCE_AUTO everywhere.
>   */
>  igt_pipe_crc_t *
> -igt_pipe_crc_new_nonblock(int fd, enum pipe pipe, const char *source)
> +igt_pipe_crc_new_nonblock(int fd, int crtc_index, const char *source)
>  {
> -	return pipe_crc_new(fd, pipe, source, O_RDONLY | O_NONBLOCK);
> +	return pipe_crc_new(fd, crtc_index, source, O_RDONLY | O_NONBLOCK);
>  }
>  
>  /**
> @@ -380,7 +380,7 @@ void igt_pipe_crc_start(igt_pipe_crc_t *pipe_crc)
>  
>  	igt_assert_eq(write(pipe_crc->ctl_fd, src, strlen(src)), strlen(src));
>  
> -	sprintf(buf, "crtc-%d/crc/data", pipe_crc->pipe);
> +	sprintf(buf, "crtc-%d/crc/data", pipe_crc->crtc_index);
>  
>  	igt_set_timeout(10, "Opening crc fd, and poll for first CRC.");
>  	pipe_crc->crc_fd = openat(pipe_crc->dir, buf, pipe_crc->flags);
> @@ -560,7 +560,7 @@ igt_pipe_crc_get_for_frame(int drm_fd, igt_pipe_crc_t *pipe_crc,
>  void
>  igt_pipe_crc_get_current(int drm_fd, igt_pipe_crc_t *pipe_crc, igt_crc_t *crc)
>  {
> -	unsigned vblank = kmstest_get_vblank(drm_fd, pipe_crc->pipe, 0) + 1;
> +	unsigned vblank = kmstest_get_vblank(drm_fd, pipe_crc->crtc_index, 0) + 1;
>  
>  	return igt_pipe_crc_get_for_frame(drm_fd, pipe_crc, vblank, crc);
>  }
> diff --git a/lib/igt_pipe_crc.h b/lib/igt_pipe_crc.h
> index 171f082300ec..f648b2c9231e 100644
> --- a/lib/igt_pipe_crc.h
> +++ b/lib/igt_pipe_crc.h
> @@ -9,8 +9,6 @@
>  #include <stdbool.h>
>  #include <stdint.h>
>  
> -enum pipe;
> -
>  /**
>   * igt_pipe_crc_t:
>   *
> @@ -48,9 +46,9 @@ char *igt_crc_to_string(igt_crc_t *crc);
>  
>  void igt_require_pipe_crc(int fd);
>  igt_pipe_crc_t *
> -igt_pipe_crc_new(int fd, enum pipe pipe, const char *source);
> +igt_pipe_crc_new(int fd, int crtc_index, const char *source);
>  igt_pipe_crc_t *
> -igt_pipe_crc_new_nonblock(int fd, enum pipe pipe, const char *source);
> +igt_pipe_crc_new_nonblock(int fd, int crtc_index, const char *source);
>  void igt_pipe_crc_free(igt_pipe_crc_t *pipe_crc);
>  void igt_pipe_crc_start(igt_pipe_crc_t *pipe_crc);
>  void igt_pipe_crc_stop(igt_pipe_crc_t *pipe_crc);

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 08/12] lib/kms: Add igt_crtc_t based CRC wrappers
  2026-01-20 17:16 ` [PATCH i-g-t 08/12] lib/kms: Add igt_crtc_t based CRC wrappers Ville Syrjala
@ 2026-01-21  9:33   ` Jani Nikula
  2026-01-21 15:09     ` Ville Syrjälä
  0 siblings, 1 reply; 32+ messages in thread
From: Jani Nikula @ 2026-01-21  9:33 UTC (permalink / raw)
  To: Ville Syrjala, igt-dev

On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Add wrappers for igt_pipe_crc_new*() that take igt_crtc_t rather
> than the bare crtc index. Should help eliminate the pipe usage
> from tests.

I think the basic idea is good, but a couple of comments inline.

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  lib/igt_kms.c | 14 ++++++++++++++
>  lib/igt_kms.h |  4 ++++
>  2 files changed, 18 insertions(+)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 74ad82d77dd3..901bbfab5934 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -59,6 +59,7 @@
>  #include "intel_chipset.h"
>  #include "igt_debugfs.h"
>  #include "igt_device.h"
> +#include "igt_pipe_crc.h"
>  #include "igt_sysfs.h"
>  #include "sw_sync.h"
>  #ifdef HAVE_CHAMELIUM
> @@ -5299,6 +5300,19 @@ int igt_output_preferred_vrefresh(igt_output_t *output)
>  		return 60;
>  }
>  
> +igt_pipe_crc_t *igt_crtc_crc_new(igt_crtc_t *crtc, const char *source)
> +{
> +	return igt_pipe_crc_new(crtc->display->drm_fd, crtc->crtc_offset,
> +				source);
> +}
> +
> +igt_pipe_crc_t *igt_crtc_crc_new_nonblock(igt_crtc_t *crtc, const char *source)
> +{
> +	return igt_pipe_crc_new_nonblock(crtc->display->drm_fd,
> +					 crtc->crtc_offset,
> +					 source);
> +}
> +
>  static const char *igt_crtc_name(igt_crtc_t *crtc)
>  {
>  	if (crtc == NULL)
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index 71a2f2c4d89c..b291673c2f7f 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -584,6 +584,10 @@ static inline igt_crtc_t *igt_crtc_for_pipe(igt_display_t *display, enum pipe pi
>  	return &display->pipes[pipe];
>  }
>  
> +typedef struct _igt_pipe_crc igt_pipe_crc_t;

So this is a dupe typedef, also defined in igt_pipe_crc.h. It works,
it's probably better than including the other header here, but also a
bit meh.

Another idea is naming this based on crtc instead of pipe, even if "crtc
crc" is a mouthful:

typedef struct _igt_pipe_crc igt_crtc_crc_t;

I think it'll work, the types are compatible with the underlying struct
being the same. So we could (gradually) convert from pipe_crc to
crtc_crc.

With the wrappers being in igt_kms.[ch], is the idea that most tests
could cease to include igt_pipe_crc.h after the conversions?

Anyway, just food for thought, and I'm fine with merging this as-is too.

BR,
Jani.


> +igt_pipe_crc_t *igt_crtc_crc_new(igt_crtc_t *crtc, const char *source);
> +igt_pipe_crc_t *igt_crtc_crc_new_nonblock(igt_crtc_t *crtc, const char *source);
> +
>  const char *igt_output_name(igt_output_t *output);
>  bool kmstest_mode_is_valid(const drmModeModeInfo *mode);
>  drmModeModeInfo *igt_output_get_mode(igt_output_t *output);

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 09/12] lib/kms: Use igt_crtc_crc_new()
  2026-01-20 17:16 ` [PATCH i-g-t 09/12] lib/kms: Use igt_crtc_crc_new() Ville Syrjala
@ 2026-01-21  9:36   ` Jani Nikula
  0 siblings, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2026-01-21  9:36 UTC (permalink / raw)
  To: Ville Syrjala, igt-dev

On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Replace igt_pipe_crc_new*() with igt_crtc_crc_new*() in
> the places that already have the igt_crtc_t around.
>
> Done with cocci:
>  #include "scripts/iterators.cocci"
>
> @@
> typedef igt_crtc_t;
> igt_crtc_t *CRTC;
> expression FD;
> @@
> (
> - igt_pipe_crc_new(FD, CRTC->pipe
> + igt_crtc_crc_new(CRTC
> 	,...)
> |
> - igt_pipe_crc_new_nonblock(FD, CRTC->pipe
> + igt_crtc_crc_new_nonblock(CRTC
> 	,...)
> )
>
> @@
> typedef igt_plane_t;
> igt_plane_t *PLANE;
> expression FD;
> @@
> (
> - igt_pipe_crc_new(FD, PLANE->pipe->pipe
> + igt_crtc_crc_new(PLANE->pipe
> 	,...)
> |
> - igt_pipe_crc_new_nonblock(FD, PLANE->pipe->pipe
> + igt_crtc_crc_new_nonblock(PLANE->pipe
> 	,...)
> )
>
> @@
> expression FD, CRTC, DISPLAY, PIPE;
> @@
> {
> ...
>  CRTC = igt_crtc_for_pipe(DISPLAY, PIPE)
> <+...
> - igt_pipe_crc_new(FD, PIPE
> + igt_crtc_crc_new(CRTC
>   ,...)
> ...+>
> }
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  tests/amdgpu/amd_bypass.c               | 2 +-
>  tests/amdgpu/amd_color.c                | 2 +-
>  tests/amdgpu/amd_dp_dsc.c               | 2 +-
>  tests/amdgpu/amd_hotplug.c              | 2 +-
>  tests/amdgpu/amd_ilr.c                  | 2 +-
>  tests/amdgpu/amd_mall.c                 | 2 +-
>  tests/amdgpu/amd_max_bpc.c              | 2 +-
>  tests/amdgpu/amd_multidisplay_modeset.c | 9 ++++-----
>  tests/amdgpu/amd_plane.c                | 2 +-
>  tests/amdgpu/amd_psr.c                  | 2 +-
>  tests/amdgpu/amd_subvp.c                | 3 +--
>  tests/intel/gem_pxp.c                   | 2 +-
>  tests/intel/xe_pxp.c                    | 2 +-
>  tests/kms_atomic_transition.c           | 2 +-
>  tests/kms_bw.c                          | 2 +-
>  tests/kms_color.c                       | 3 +--
>  tests/kms_color_pipeline.c              | 3 +--
>  tests/kms_hdr.c                         | 2 +-
>  tests/kms_multipipe_modeset.c           | 2 +-
>  tests/kms_plane_cursor.c                | 2 +-
>  20 files changed, 23 insertions(+), 27 deletions(-)
>
> diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
> index 626c4bf36c13..3924b84da736 100644
> --- a/tests/amdgpu/amd_bypass.c
> +++ b/tests/amdgpu/amd_bypass.c
> @@ -89,7 +89,7 @@ static void test_init(data_t *data)
>  	data->primary =
>  		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe_id,
> +	data->pipe_crc = igt_crtc_crc_new(data->pipe,
>  					  AMDGPU_PIPE_CRC_SOURCE_DPRX);
>  
>  	igt_output_set_crtc(data->output,
> diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
> index 28622d8e16ed..df418bfbe7c1 100644
> --- a/tests/amdgpu/amd_color.c
> +++ b/tests/amdgpu/amd_color.c
> @@ -193,7 +193,7 @@ static void test_init(data_t *data)
>  	data->primary =
>  		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
> +	data->pipe_crc = igt_crtc_crc_new(data->pipe,
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_output_set_crtc(data->output,
> diff --git a/tests/amdgpu/amd_dp_dsc.c b/tests/amdgpu/amd_dp_dsc.c
> index 91298ba20cde..25ea4660c821 100644
> --- a/tests/amdgpu/amd_dp_dsc.c
> +++ b/tests/amdgpu/amd_dp_dsc.c
> @@ -70,7 +70,7 @@ static void test_init(data_t *data)
>  		data->primary[i] = igt_crtc_get_plane_type(
>  				data->pipe[i], DRM_PLANE_TYPE_PRIMARY);
>  		data->pipe_crc[i] =
> -				igt_pipe_crc_new(data->fd, data->pipe_id[i],
> +				igt_crtc_crc_new(data->pipe[i],
>  						 IGT_PIPE_CRC_SOURCE_AUTO);
>  	}
>  
> diff --git a/tests/amdgpu/amd_hotplug.c b/tests/amdgpu/amd_hotplug.c
> index 774630696a61..82de393b6d32 100644
> --- a/tests/amdgpu/amd_hotplug.c
> +++ b/tests/amdgpu/amd_hotplug.c
> @@ -64,7 +64,7 @@ static void test_init(data_t *data)
>  		data->cursor[i] = igt_crtc_get_plane_type(
>  			data->pipe[i], DRM_PLANE_TYPE_CURSOR);
>  		data->pipe_crc[i] =
> -			igt_pipe_crc_new(data->fd, data->pipe_id[i],
> +			igt_crtc_crc_new(data->pipe[i],
>  					 IGT_PIPE_CRC_SOURCE_AUTO);
>  	}
>  
> diff --git a/tests/amdgpu/amd_ilr.c b/tests/amdgpu/amd_ilr.c
> index 70254bdc1288..861110bcc7c3 100644
> --- a/tests/amdgpu/amd_ilr.c
> +++ b/tests/amdgpu/amd_ilr.c
> @@ -100,7 +100,7 @@ static void test_init(data_t *data, igt_output_t *output)
>  
>  	data->pipe = igt_crtc_for_pipe(&data->display, data->pipe_id);
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe_id,
> +	data->pipe_crc = igt_crtc_crc_new(data->pipe,
>  					  AMDGPU_PIPE_CRC_SOURCE_DPRX);
>  
>  	igt_output_set_crtc(output,
> diff --git a/tests/amdgpu/amd_mall.c b/tests/amdgpu/amd_mall.c
> index baa475ed0fbf..2c5345907d24 100644
> --- a/tests/amdgpu/amd_mall.c
> +++ b/tests/amdgpu/amd_mall.c
> @@ -85,7 +85,7 @@ static void test_init(data_t *data)
>  	data->primary =
>  		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
> +	data->pipe_crc = igt_crtc_crc_new(data->pipe,
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_output_set_crtc(data->output,
> diff --git a/tests/amdgpu/amd_max_bpc.c b/tests/amdgpu/amd_max_bpc.c
> index b25cc80f3817..46be469d9e13 100644
> --- a/tests/amdgpu/amd_max_bpc.c
> +++ b/tests/amdgpu/amd_max_bpc.c
> @@ -82,7 +82,7 @@ static void test_init(data_t *data)
>  	data->primary =
>  		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
> +	data->pipe_crc = igt_crtc_crc_new(data->pipe,
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_output_set_crtc(data->output,
> diff --git a/tests/amdgpu/amd_multidisplay_modeset.c b/tests/amdgpu/amd_multidisplay_modeset.c
> index 2af063a9937b..0af235e77394 100644
> --- a/tests/amdgpu/amd_multidisplay_modeset.c
> +++ b/tests/amdgpu/amd_multidisplay_modeset.c
> @@ -174,13 +174,12 @@ static void test_init(struct data_t *data)
>  			ret = dpcd_read_byte(data->fd, output->config.connector,
>  				DPCD_TEST_SINK_MISC, &dpcd_246h);
>  			if (ret && ((dpcd_246h & 0x20) != 0x0))
> -				data->pipe_crc_dprx[i] = igt_pipe_crc_new(
> -					data->fd, pipes->pipe,
> -					AMDGPU_PIPE_CRC_SOURCE_DPRX);
> +				data->pipe_crc_dprx[i] = igt_crtc_crc_new(pipes,
> +									  AMDGPU_PIPE_CRC_SOURCE_DPRX);
>  		}
>  
> -		data->pipe_crc_otg[i] = igt_pipe_crc_new(data->fd, pipes->pipe,
> -						IGT_PIPE_CRC_SOURCE_AUTO);
> +		data->pipe_crc_otg[i] = igt_crtc_crc_new(pipes,
> +							 IGT_PIPE_CRC_SOURCE_AUTO);
>  		/* disable eDP PSR */
>  		if (data->output[i]->config.connector->connector_type ==
>  				DRM_MODE_CONNECTOR_eDP) {
> diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c
> index f56723d74485..369bce509a87 100644
> --- a/tests/amdgpu/amd_plane.c
> +++ b/tests/amdgpu/amd_plane.c
> @@ -166,7 +166,7 @@ static void test_init(data_t *data)
>  		data->cursor[i] = igt_crtc_get_plane_type(
>  			data->pipe[i], DRM_PLANE_TYPE_CURSOR);
>  		data->pipe_crc[i] =
> -			igt_pipe_crc_new(data->fd, data->pipe_id[i],
> +			igt_crtc_crc_new(data->pipe[i],
>  					 IGT_PIPE_CRC_SOURCE_AUTO);
>  	}
>  
> diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c
> index af52f0e4ed54..9479e8cd3de4 100644
> --- a/tests/amdgpu/amd_psr.c
> +++ b/tests/amdgpu/amd_psr.c
> @@ -193,7 +193,7 @@ static void test_init(data_t *data)
>  	data->overlay =
>  		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_OVERLAY);
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
> +	data->pipe_crc = igt_crtc_crc_new(data->pipe,
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_output_set_crtc(data->output,
> diff --git a/tests/amdgpu/amd_subvp.c b/tests/amdgpu/amd_subvp.c
> index a4ee50a85f78..f6465ba35b50 100644
> --- a/tests/amdgpu/amd_subvp.c
> +++ b/tests/amdgpu/amd_subvp.c
> @@ -69,8 +69,7 @@ static void test_init(struct data *data)
>  						  data->pipe_id[i]);
>  		data->primary[i] = igt_crtc_get_plane_type(data->pipe[i],
>  							   DRM_PLANE_TYPE_PRIMARY);
> -		data->pipe_crc[i] = igt_pipe_crc_new(data->fd,
> -						     data->pipe_id[i],
> +		data->pipe_crc[i] = igt_crtc_crc_new(data->pipe[i],
>  						     IGT_PIPE_CRC_SOURCE_AUTO);
>  	}
>  
> diff --git a/tests/intel/gem_pxp.c b/tests/intel/gem_pxp.c
> index b45cfde0c1ac..d41a07b4c012 100644
> --- a/tests/intel/gem_pxp.c
> +++ b/tests/intel/gem_pxp.c
> @@ -1245,7 +1245,7 @@ static void test_display_protected_crc(int i915, igt_display_t *display)
>  	for_each_connected_output(display, output) {
>  		mode = igt_output_get_mode(output);
>  		pipe = igt_crtc_for_pipe(display, output->pending_pipe);
> -		pipe_crc = igt_pipe_crc_new(i915, pipe->pipe,
> +		pipe_crc = igt_crtc_crc_new(pipe,
>  					    IGT_PIPE_CRC_SOURCE_AUTO);
>  		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  		igt_require(igt_pipe_connector_valid(pipe->pipe, output));
> diff --git a/tests/intel/xe_pxp.c b/tests/intel/xe_pxp.c
> index 2642109693d3..6aadf691a3ae 100644
> --- a/tests/intel/xe_pxp.c
> +++ b/tests/intel/xe_pxp.c
> @@ -846,7 +846,7 @@ static void compare_crcs(int fd, igt_display_t *display, igt_fb_t *ref_fb, igt_f
>  	for_each_connected_output(display, output) {
>  		mode = igt_output_get_mode(output);
>  		pipe = igt_crtc_for_pipe(display, output->pending_pipe);
> -		pipe_crc = igt_pipe_crc_new(fd, pipe->pipe,
> +		pipe_crc = igt_crtc_crc_new(pipe,
>  					    IGT_PIPE_CRC_SOURCE_AUTO);
>  		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  		igt_require(igt_pipe_connector_valid(pipe->pipe, output));
> diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
> index ca97edbc73e0..60f743c6c614 100644
> --- a/tests/kms_atomic_transition.c
> +++ b/tests/kms_atomic_transition.c
> @@ -929,7 +929,7 @@ retry:
>  		j += 1;
>  
>  		if (is_intel_device(data->drm_fd))
> -			data->pipe_crcs[i] = igt_pipe_crc_new(data->drm_fd, i,
> +			data->pipe_crcs[i] = igt_crtc_crc_new(pipe,
>  							      IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  		for_each_valid_output_on_pipe(&data->display, i, output) {
> diff --git a/tests/kms_bw.c b/tests/kms_bw.c
> index 13c8e3bec2b9..13e2bdfba266 100644
> --- a/tests/kms_bw.c
> +++ b/tests/kms_bw.c
> @@ -130,7 +130,7 @@ static void test_init(data_t *data, bool physical)
>  		data->primary[i] = igt_crtc_get_plane_type(
>  			data->pipe[i], DRM_PLANE_TYPE_PRIMARY);
>  		data->pipe_crc[i] =
> -			igt_pipe_crc_new(data->fd, data->pipe_id[i],
> +			igt_crtc_crc_new(data->pipe[i],
>  					 IGT_PIPE_CRC_SOURCE_AUTO);
>  	}
>  
> diff --git a/tests/kms_color.c b/tests/kms_color.c
> index 529fa33ab000..baa629a84b42 100644
> --- a/tests/kms_color.c
> +++ b/tests/kms_color.c
> @@ -740,8 +740,7 @@ static void test_setup(data_t *data, enum pipe p)
>  	igt_require(pipe->n_planes >= 0);
>  
>  	data->primary = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd,
> -					  data->primary->pipe->pipe,
> +	data->pipe_crc = igt_crtc_crc_new(data->primary->pipe,
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_display_reset(&data->display);
> diff --git a/tests/kms_color_pipeline.c b/tests/kms_color_pipeline.c
> index e1b7c50e6d5f..e360f77af45e 100644
> --- a/tests/kms_color_pipeline.c
> +++ b/tests/kms_color_pipeline.c
> @@ -62,8 +62,7 @@ static void test_setup(data_t *data, enum pipe p)
>  	data->mode = igt_output_get_mode(data->output);
>  	igt_require(data->mode);
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd,
> -					  data->primary->pipe->pipe,
> +	data->pipe_crc = igt_crtc_crc_new(data->primary->pipe,
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_display_commit2(&data->display, COMMIT_ATOMIC);
> diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c
> index 6fb936955d62..f4c88bc04ab7 100644
> --- a/tests/kms_hdr.c
> +++ b/tests/kms_hdr.c
> @@ -222,7 +222,7 @@ static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe)
>  	data->primary =
>  		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->fd, data->pipe_id,
> +	data->pipe_crc = igt_crtc_crc_new(data->pipe,
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_output_set_crtc(data->output,
> diff --git a/tests/kms_multipipe_modeset.c b/tests/kms_multipipe_modeset.c
> index 27df48899d71..8270f6e12ec5 100644
> --- a/tests/kms_multipipe_modeset.c
> +++ b/tests/kms_multipipe_modeset.c
> @@ -80,7 +80,7 @@ static void run_test(data_t *data, int valid_outputs)
>  
>  		mode = NULL;
>  
> -		pipe_crcs[i] = igt_pipe_crc_new(display->drm_fd, i,
> +		pipe_crcs[i] = igt_crtc_crc_new(pipe,
>  						IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  		igt_output_set_crtc(output,
> diff --git a/tests/kms_plane_cursor.c b/tests/kms_plane_cursor.c
> index 9e2d59b80765..23febe05a473 100644
> --- a/tests/kms_plane_cursor.c
> +++ b/tests/kms_plane_cursor.c
> @@ -108,7 +108,7 @@ static void test_init(data_t *data, enum pipe pipe_id, igt_output_t *output,
>  		 kmstest_pipe_name(data->pipe_id), igt_output_name(data->output));
>  
>  	igt_require_pipe_crc(data->drm_fd);
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe_id,
> +	data->pipe_crc = igt_crtc_crc_new(data->pipe,
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	/* Overlay rectangle for a rect in the center of the screen */

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 10/12] lib/kms: Use igt_crtc_crc_new() more
  2026-01-20 17:16 ` [PATCH i-g-t 10/12] lib/kms: Use igt_crtc_crc_new() more Ville Syrjala
@ 2026-01-21  9:38   ` Jani Nikula
  0 siblings, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2026-01-21  9:38 UTC (permalink / raw)
  To: Ville Syrjala, igt-dev

On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Switch over to igt_crtc_crc_new() from igt_pipe_crc_new()
> even for the places that don't have a igt_crtc_t around.
> This make it more obvious where we need to modify the
> tests when fully switching over from pipe to igt_crc_t.
>
> Done with cocci:
>  #include "scripts/iterators.cocci"
>
> @find_data@
> iterator name pipe_test;
> type T;
> T DATA;
> identifier FD;
> identifier DISPLAY;
> @@
> igt_display_require(&DATA.DISPLAY, DATA.FD);
>
> @depends on find_data@
> find_data.T *DATA;
> identifier find_data.FD;
> identifier find_data.DISPLAY;
> expression PIPE;
> @@
> - igt_pipe_crc_new(DATA->FD, PIPE
> + igt_crtc_crc_new(igt_crtc_for_pipe(&DATA->DISPLAY, PIPE)
> 	,...)
>
> @local_fd depends on find_data@
> find_data.T *DATA;
> identifier find_data.FD, FD2;
> identifier find_data.DISPLAY;
> expression PIPE;
> @@
> int FD2 = DATA->FD;
> <...
> - igt_pipe_crc_new(FD2, PIPE
> + igt_crtc_crc_new(igt_crtc_for_pipe(&DATA->DISPLAY, PIPE)
> 	,...)
> ...>
>
> @depends on local_fd@
> find_data.T *DATA;
> identifier find_data.FD;
> identifier FD2;
> @@
> - int FD2 = DATA->FD;
> ... when != FD2
>
> @depends on find_data@
> typedef igt_display_t;
> identifier DISPLAY, find_data.FD;
> expression PIPE, E;
> find_data.T *DATA;
> @@
>  igt_display_t *DISPLAY = E;
> <...
> - igt_pipe_crc_new(DATA->FD, PIPE
> + igt_crtc_crc_new(igt_crtc_for_pipe(DISPLAY, PIPE)
> 	,...)
> ...>
>
> @depends on find_data@
> identifier find_data.DISPLAY, find_data.FD;
> expression PIPE;
> find_data.T find_data.DATA;
> @@
> - igt_pipe_crc_new(DATA.FD, PIPE
> + igt_crtc_crc_new(igt_crtc_for_pipe(&DATA.DISPLAY, PIPE)
> 	,...)
>
> @@
> igt_display_t *DISPLAY;
> expression PIPE;
> @@
> - igt_pipe_crc_new(DISPLAY->drm_fd, PIPE
> + igt_crtc_crc_new(igt_crtc_for_pipe(DISPLAY, PIPE)
> 	,...)
>
> @@
> expression DISPLAY, PIPE;
> @@
> igt_crtc_crc_new(...)
> {
> <...
> - igt_crtc_crc_new(igt_crtc_for_pipe(DISPLAY, PIPE)
> + igt_pipe_crc_new(DISPLAY->drm_fd, PIPE
> 	,...)
> ...>
> }
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  tests/amdgpu/amd_cursor_overlay.c      |  2 +-
>  tests/intel/kms_big_fb.c               |  4 ++--
>  tests/intel/kms_ccs.c                  |  2 +-
>  tests/intel/kms_dirtyfb.c              |  4 ++--
>  tests/intel/kms_fb_coherency.c         |  2 +-
>  tests/intel/kms_fbc_dirty_rect.c       |  2 +-
>  tests/intel/kms_flip_scaled_crc.c      |  2 +-
>  tests/intel/kms_flip_tiling.c          |  2 +-
>  tests/intel/kms_frontbuffer_tracking.c |  2 +-
>  tests/intel/kms_mmap_write_crc.c       |  2 +-
>  tests/intel/kms_pipe_stress.c          |  2 +-
>  tests/intel/kms_pwrite_crc.c           |  2 +-
>  tests/intel/kms_sharpness_filter.c     |  2 +-
>  tests/kms_async_flips.c                |  3 +--
>  tests/kms_atomic.c                     |  2 +-
>  tests/kms_cursor_crc.c                 |  2 +-
>  tests/kms_cursor_legacy.c              |  4 ++--
>  tests/kms_display_modes.c              |  6 ++++--
>  tests/kms_pipe_crc_basic.c             |  6 +++---
>  tests/kms_plane.c                      |  6 +++---
>  tests/kms_plane_alpha_blend.c          |  2 +-
>  tests/kms_plane_lowres.c               |  2 +-
>  tests/kms_plane_multiple.c             |  8 ++++----
>  tests/kms_rotation_crc.c               |  4 ++--
>  tests/kms_universal_plane.c            |  2 +-
>  tests/nouveau_crc.c                    | 16 +++++++++-------
>  26 files changed, 48 insertions(+), 45 deletions(-)
>
> diff --git a/tests/amdgpu/amd_cursor_overlay.c b/tests/amdgpu/amd_cursor_overlay.c
> index dff03cb9aa52..e500d9e34066 100644
> --- a/tests/amdgpu/amd_cursor_overlay.c
> +++ b/tests/amdgpu/amd_cursor_overlay.c
> @@ -157,7 +157,7 @@ static void test_init(data_t *data, enum pipe pipe_id, igt_output_t *output,
>  		 kmstest_pipe_name(data->pipe_id), igt_output_name(data->output));
>  
>  	igt_require_pipe_crc(data->drm_fd);
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe_id,
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe_id),
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  }
>  
> diff --git a/tests/intel/kms_big_fb.c b/tests/intel/kms_big_fb.c
> index 4c83398400ba..f6de287f57f2 100644
> --- a/tests/intel/kms_big_fb.c
> +++ b/tests/intel/kms_big_fb.c
> @@ -566,7 +566,7 @@ static bool test_pipe(data_t *data)
>  	igt_display_commit2(&data->display, data->display.is_atomic ?
>  			    COMMIT_ATOMIC : COMMIT_UNIVERSAL);
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	for_each_plane_on_pipe(&data->display, data->pipe, data->plane) {
> @@ -632,7 +632,7 @@ max_hw_stride_async_flip_test(data_t *data)
>  		 data->hw_stride);
>  	generate_pattern(data, &data->big_fb_flip[1], 640, 480);
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  	igt_pipe_crc_start(data->pipe_crc);
>  
> diff --git a/tests/intel/kms_ccs.c b/tests/intel/kms_ccs.c
> index 6512e206f047..ea23b6581b06 100644
> --- a/tests/intel/kms_ccs.c
> +++ b/tests/intel/kms_ccs.c
> @@ -1052,7 +1052,7 @@ static int test_ccs(data_t *data)
>  		 IGT_FORMAT_ARGS(data->format), IGT_MODIFIER_ARGS(data->ccs_modifier));
>  
>  	if (data->flags & TEST_CRC) {
> -		data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
> +		data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
>  						  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  		if (try_config(data, fb_flags | FB_COMPRESSED, &ref_crc) &&
> diff --git a/tests/intel/kms_dirtyfb.c b/tests/intel/kms_dirtyfb.c
> index 5697afb2b3e1..407338affd6b 100644
> --- a/tests/intel/kms_dirtyfb.c
> +++ b/tests/intel/kms_dirtyfb.c
> @@ -232,8 +232,8 @@ static void prepare(data_t *data)
>  	igt_output_set_crtc(data->output,
>  			    igt_crtc_for_pipe(data->output->display, data->pipe));
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
> -					 IGT_PIPE_CRC_SOURCE_AUTO);
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
> +					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_create_color_fb(data->drm_fd, data->mode->hdisplay,
>  			    data->mode->vdisplay, DRM_FORMAT_XRGB8888,
> diff --git a/tests/intel/kms_fb_coherency.c b/tests/intel/kms_fb_coherency.c
> index ca915bc16c4d..e6d043c114d5 100644
> --- a/tests/intel/kms_fb_coherency.c
> +++ b/tests/intel/kms_fb_coherency.c
> @@ -65,7 +65,7 @@ static void prepare_crtc(data_t *data)
>  	if (data->pipe_crc)
>  		igt_pipe_crc_free(data->pipe_crc);
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	/* get reference crc for the white fb */
> diff --git a/tests/intel/kms_fbc_dirty_rect.c b/tests/intel/kms_fbc_dirty_rect.c
> index e063493ef4f4..c43acb7e9cb5 100644
> --- a/tests/intel/kms_fbc_dirty_rect.c
> +++ b/tests/intel/kms_fbc_dirty_rect.c
> @@ -409,7 +409,7 @@ static bool prepare_test(data_t *data)
>  	data->mode = igt_output_get_mode(data->output);
>  	igt_output_set_crtc(data->output,
>  			    igt_crtc_for_pipe(data->output->display, data->pipe));
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_require_f(intel_fbc_supported_on_chipset(data->drm_fd, data->pipe),
> diff --git a/tests/intel/kms_flip_scaled_crc.c b/tests/intel/kms_flip_scaled_crc.c
> index 3f8cd0bd642a..c2b1c0700499 100644
> --- a/tests/intel/kms_flip_scaled_crc.c
> +++ b/tests/intel/kms_flip_scaled_crc.c
> @@ -783,7 +783,7 @@ static void test_flip_to_scaled(data_t *data, uint32_t index,
>  		igt_pipe_crc_stop(data->pipe_crc);
>  		igt_pipe_crc_free(data->pipe_crc);
>  	}
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_plane_set_position(primary, 0, 0);
> diff --git a/tests/intel/kms_flip_tiling.c b/tests/intel/kms_flip_tiling.c
> index e7ada7740cd2..269bb0e24d0a 100644
> --- a/tests/intel/kms_flip_tiling.c
> +++ b/tests/intel/kms_flip_tiling.c
> @@ -72,7 +72,7 @@ static void pipe_crc_new(data_t *data, int pipe)
>  	if (data->pipe_crc)
>  		return;
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  	igt_assert(data->pipe_crc);
>  	igt_pipe_crc_start(data->pipe_crc);
> diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c
> index e8c8e342f5dc..7dd52f982d96 100644
> --- a/tests/intel/kms_frontbuffer_tracking.c
> +++ b/tests/intel/kms_frontbuffer_tracking.c
> @@ -1987,7 +1987,7 @@ static void init_blue_crc(enum pixel_format format, enum tiling_type tiling)
>  	igt_display_commit(&drm.display);
>  
>  	if (!pipe_crc) {
> -		pipe_crc = igt_pipe_crc_new(drm.fd, prim_mode_params.pipe,
> +		pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&drm.display, prim_mode_params.pipe),
>  					    IGT_PIPE_CRC_SOURCE_AUTO);
>  		igt_assert(pipe_crc);
>  	}
> diff --git a/tests/intel/kms_mmap_write_crc.c b/tests/intel/kms_mmap_write_crc.c
> index 587fe715bd47..453bcd0198a7 100644
> --- a/tests/intel/kms_mmap_write_crc.c
> +++ b/tests/intel/kms_mmap_write_crc.c
> @@ -206,7 +206,7 @@ static void prepare_crtc(data_t *data)
>  	if (data->pipe_crc)
>  		igt_pipe_crc_free(data->pipe_crc);
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	/* get reference crc for the white fb */
> diff --git a/tests/intel/kms_pipe_stress.c b/tests/intel/kms_pipe_stress.c
> index 33ccac9fcee3..85bff58d6587 100644
> --- a/tests/intel/kms_pipe_stress.c
> +++ b/tests/intel/kms_pipe_stress.c
> @@ -807,7 +807,7 @@ static void prepare_test(struct data *data)
>  		if (data->highest_mode[i]) {
>  			igt_info("Using mode: \n");
>  			kmstest_dump_mode(data->highest_mode[i]);
> -			data->pipe_crc[i] = igt_pipe_crc_new(data->drm_fd, i,
> +			data->pipe_crc[i] = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, i),
>  							     IGT_PIPE_CRC_SOURCE_AUTO);
>  		} else
>  			data->pipe_crc[i] = NULL;
> diff --git a/tests/intel/kms_pwrite_crc.c b/tests/intel/kms_pwrite_crc.c
> index d1cd9674381c..64c167ad3f44 100644
> --- a/tests/intel/kms_pwrite_crc.c
> +++ b/tests/intel/kms_pwrite_crc.c
> @@ -142,7 +142,7 @@ static void prepare_crtc(data_t *data)
>  	if (data->pipe_crc)
>  		igt_pipe_crc_free(data->pipe_crc);
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	/* get reference crc for the white fb */
> diff --git a/tests/intel/kms_sharpness_filter.c b/tests/intel/kms_sharpness_filter.c
> index 45285818c895..3bee950df95a 100644
> --- a/tests/intel/kms_sharpness_filter.c
> +++ b/tests/intel/kms_sharpness_filter.c
> @@ -369,7 +369,7 @@ static void test_sharpness_filter(data_t *data,  enum test_type type)
>  		ret = igt_display_try_commit2(&data->display, COMMIT_ATOMIC);
>  
>  	if (type == TEST_FILTER_DPMS || type == TEST_FILTER_SUSPEND) {
> -		pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe_id,
> +		pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe_id),
>  					    IGT_PIPE_CRC_SOURCE_AUTO);
>  		igt_pipe_crc_collect_crc(pipe_crc, &ref_crc);
>  	}
> diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
> index 92246037ca87..c8586a5f947c 100644
> --- a/tests/kms_async_flips.c
> +++ b/tests/kms_async_flips.c
> @@ -850,8 +850,7 @@ static void test_crc(data_t *data)
>  			     &data->output->config.connector->connector_id, 1, mode);
>  	igt_assert_eq(ret, 0);
>  
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd,
> -					  kmstest_get_pipe_from_crtc_id(data->drm_fd, data->crtc_id),
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, kmstest_get_pipe_from_crtc_id(data->drm_fd, data->crtc_id)),
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_pipe_crc_start(data->pipe_crc);
> diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
> index 8966637c450b..b0d920a54cba 100644
> --- a/tests/kms_atomic.c
> +++ b/tests/kms_atomic.c
> @@ -475,7 +475,7 @@ plane_immutable_zpos(data_t *data, igt_output_t *output, enum pipe pipe, int n_p
>  	igt_display_commit2(&data->display, COMMIT_ATOMIC);
>  
>  	/* create the pipe_crc object for this pipe */
> -	pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
> +	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
>  				    IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	/* get reference crc */
> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> index 24553e1bda09..4dcf63025687 100644
> --- a/tests/kms_cursor_crc.c
> +++ b/tests/kms_cursor_crc.c
> @@ -605,7 +605,7 @@ static void prepare_crtc(data_t *data, int cursor_w, int cursor_h)
>  	/* create the pipe_crc object for this pipe */
>  	if (data->pipe_crc)
>  		igt_pipe_crc_free(data->pipe_crc);
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	/* x/y position where the cursor is still fully visible */
> diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
> index d5a61e30e6a7..667fc0344c9a 100644
> --- a/tests/kms_cursor_legacy.c
> +++ b/tests/kms_cursor_legacy.c
> @@ -1611,7 +1611,7 @@ static void flip_vs_cursor_crc(igt_display_t *display, bool atomic)
>  
>  	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
>  
> -	pipe_crc = igt_pipe_crc_new(display->drm_fd, pipe,
> +	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(display, pipe),
>  				    IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
> @@ -1692,7 +1692,7 @@ static void flip_vs_cursor_busy_crc(igt_display_t *display, bool atomic)
>  
>  	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
>  
> -	pipe_crc = igt_pipe_crc_new(display->drm_fd, pipe,
> +	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(display, pipe),
>  				    IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	cursor = set_cursor_on_pipe(display, pipe, &cursor_fb);
> diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c
> index 77f5677fe69e..317bc57f21a5 100644
> --- a/tests/kms_display_modes.c
> +++ b/tests/kms_display_modes.c
> @@ -97,8 +97,10 @@ static void run_extendedmode_basic(data_t *data,
>  
>  	igt_assert_f(igt_fit_modes_in_bw(display), "Unable to fit modes in bw\n");
>  
> -	pipe_crc[0] = igt_pipe_crc_new(data->drm_fd, pipe1, IGT_PIPE_CRC_SOURCE_AUTO);
> -	pipe_crc[1] = igt_pipe_crc_new(data->drm_fd, pipe2, IGT_PIPE_CRC_SOURCE_AUTO);
> +	pipe_crc[0] = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe1),
> +				       IGT_PIPE_CRC_SOURCE_AUTO);
> +	pipe_crc[1] = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe2),
> +				       IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_create_color_fb(data->drm_fd, mode[0]->hdisplay, mode[0]->vdisplay,
>  			    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 1, 0, 0, &fbs[0]);
> diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
> index c74c0a02ae2f..8861dc7b26bd 100644
> --- a/tests/kms_pipe_crc_basic.c
> +++ b/tests/kms_pipe_crc_basic.c
> @@ -183,7 +183,7 @@ static void test_read_crc(data_t *data, enum pipe pipe,
>  		} else {
>  			igt_pipe_crc_t *pipe_crc;
>  
> -			pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
> +			pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
>  						    IGT_PIPE_CRC_SOURCE_AUTO);
>  			igt_pipe_crc_start(pipe_crc);
>  
> @@ -268,7 +268,7 @@ static void test_compare_crc(data_t *data, enum pipe pipe, igt_output_t *output,
>  	igt_plane_set_fb(primary, &fb0);
>  	igt_display_commit(display);
>  
> -	pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
> +	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
>  				    IGT_PIPE_CRC_SOURCE_AUTO);
>  	igt_pipe_crc_collect_crc(pipe_crc, &ref_crc);
>  
> @@ -298,7 +298,7 @@ static void test_disable_crc_after_crtc(data_t *data, enum pipe pipe,
>  	igt_crc_t crc[2];
>  	igt_plane_t *primary;
>  
> -	pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
> +	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
>  				    IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_display_reset(display);
> diff --git a/tests/kms_plane.c b/tests/kms_plane.c
> index ec3245c9f2e0..d1c7b06fd4ee 100644
> --- a/tests/kms_plane.c
> +++ b/tests/kms_plane.c
> @@ -130,7 +130,7 @@ static void test_init(data_t *data, enum pipe pipe)
>  	igt_require(igt_crtc_for_pipe(&data->display, pipe)->n_planes > 0);
>  	if (data->pipe_crc)
>  		igt_pipe_crc_free(data->pipe_crc);
> -	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  	igt_display_reset(&data->display);
>  }
> @@ -1364,8 +1364,8 @@ static void test_planar_settings(data_t *data)
>  		if (rval == 0) {
>  			set_legacy_lut(data, pipe, LUT_MASK);
>  			igt_wait_for_vblank_count(igt_crtc_for_pipe(&data->display, pipe), 1);
> -			data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
> -						IGT_PIPE_CRC_SOURCE_AUTO);
> +			data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
> +							  IGT_PIPE_CRC_SOURCE_AUTO);
>  			igt_pipe_crc_collect_crc(data->pipe_crc, &crc);
>  
>  			igt_create_color_fb(data->drm_fd, 256, 256,
> diff --git a/tests/kms_plane_alpha_blend.c b/tests/kms_plane_alpha_blend.c
> index a7070ac62169..c3d53c66c02a 100644
> --- a/tests/kms_plane_alpha_blend.c
> +++ b/tests/kms_plane_alpha_blend.c
> @@ -219,7 +219,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe)
>  
>  	/* create the pipe_crc object for this pipe */
>  	igt_pipe_crc_free(data->pipe_crc);
> -	data->pipe_crc = igt_pipe_crc_new(data->gfx_fd, pipe,
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	mode = igt_output_get_mode(output);
> diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
> index 4b4b4b4597f3..1b08685f2aac 100644
> --- a/tests/kms_plane_lowres.c
> +++ b/tests/kms_plane_lowres.c
> @@ -307,7 +307,7 @@ static void run_test(data_t *data, uint64_t modifier)
>  			if (!intel_pipe_output_combo_valid(&data->display))
>  				continue;
>  
> -			data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
> +			data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
>  							  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  			igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), data->output->name)
> diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
> index 342eb7b293da..f0b9e2aba668 100644
> --- a/tests/kms_plane_multiple.c
> +++ b/tests/kms_plane_multiple.c
> @@ -107,8 +107,8 @@ struct {
>   */
>  static void test_init(data_t *data, enum pipe pipe, int n_planes)
>  {
> -	data->pipe_crc1 = igt_pipe_crc_new(data->drm_fd, pipe,
> -					  IGT_PIPE_CRC_SOURCE_AUTO);
> +	data->pipe_crc1 = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
> +					   IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	data->plane1 = calloc(n_planes, sizeof(*data->plane1));
>  	igt_assert_f(data->plane1 != NULL, "Failed to allocate memory for planes\n");
> @@ -417,9 +417,9 @@ test_plane_position(data_t *data, enum pipe pipe, igt_output_t *output, uint64_t
>  
>  static void test_init_2_display(data_t *data, enum pipe pipe1, enum pipe pipe2, int n_planes)
>  {
> -	data->pipe_crc1 = igt_pipe_crc_new(data->drm_fd, pipe1,
> +	data->pipe_crc1 = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe1),
>  					   IGT_PIPE_CRC_SOURCE_AUTO);
> -	data->pipe_crc2 = igt_pipe_crc_new(data->drm_fd, pipe2,
> +	data->pipe_crc2 = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe2),
>  					   IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	data->plane1 = calloc(n_planes, sizeof(*data->plane1));
> diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
> index b1765b4c75e5..abd87508045e 100644
> --- a/tests/kms_rotation_crc.c
> +++ b/tests/kms_rotation_crc.c
> @@ -312,7 +312,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
>  	 */
>  	if (!is_amdgpu_device(data->gfx_fd))
>  		igt_display_commit2(display, COMMIT_ATOMIC);
> -	data->pipe_crc = igt_pipe_crc_new(data->gfx_fd, pipe,
> +	data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
>  				          IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	if (!is_amdgpu_device(data->gfx_fd) && start_crc)
> @@ -955,7 +955,7 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
>  		p[0].plane = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>  		p[1].plane = igt_output_get_plane_type(output, DRM_PLANE_TYPE_OVERLAY);
>  
> -		data->pipe_crc = igt_pipe_crc_new(data->gfx_fd, pipe,
> +		data->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
>  						  IGT_PIPE_CRC_SOURCE_AUTO);
>  		igt_pipe_crc_start(data->pipe_crc);
>  
> diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c
> index 7b18f3ee8910..16409a4a55e0 100644
> --- a/tests/kms_universal_plane.c
> +++ b/tests/kms_universal_plane.c
> @@ -96,7 +96,7 @@ functional_test_init(functional_test_t *test, igt_output_t *output, enum pipe pi
>  	data_t *data = test->data;
>  	drmModeModeInfo *mode;
>  
> -	test->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
> +	test->pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, pipe),
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_output_set_crtc(output, igt_crtc_for_pipe(output->display, pipe));
> diff --git a/tests/nouveau_crc.c b/tests/nouveau_crc.c
> index 7887ff409e9e..6d61df006095 100644
> --- a/tests/nouveau_crc.c
> +++ b/tests/nouveau_crc.c
> @@ -122,7 +122,7 @@ static void test_ctx_flip_detection(data_t *data)
>  	int start = -1, frame, start_color = -1, i;
>  	bool found_skip = false;
>  
> -	pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
> +	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
>  				    IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	create_crc_colors(data, colors, n_colors, pipe_crc);
> @@ -233,7 +233,8 @@ static void test_ctx_flip_skip_current_frame(data_t *data)
>  	const int n_colors = ARRAY_SIZE(colors);
>  	const int n_crcs = 30;
>  
> -	pipe_crc = igt_pipe_crc_new(fd, data->pipe, IGT_PIPE_CRC_SOURCE_AUTO);
> +	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
> +				    IGT_PIPE_CRC_SOURCE_AUTO);
>  	create_crc_colors(data, colors, n_colors, pipe_crc);
>  
>  	set_crc_flip_threshold(data, 5);
> @@ -263,10 +264,10 @@ static void test_ctx_flip_skip_current_frame(data_t *data)
>  static void test_ctx_flip_threshold_reset_after_capture(data_t *data)
>  {
>  	igt_pipe_crc_t *pipe_crc;
> -	const int fd = data->drm_fd;
>  	uint32_t value = 0;
>  
> -	pipe_crc = igt_pipe_crc_new(fd, data->pipe, IGT_PIPE_CRC_SOURCE_AUTO);
> +	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
> +				    IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	set_crc_flip_threshold(data, 5);
>  	igt_pipe_crc_start(pipe_crc);
> @@ -281,7 +282,8 @@ static void test_ctx_flip_threshold_reset_after_capture(data_t *data)
>  
>  static void test_source(data_t *data, const char *source)
>  {
> -	igt_pipe_crc_t *pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe, source);
> +	igt_pipe_crc_t *pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
> +						    source);
>  	igt_crc_t *crcs;
>  
>  	igt_pipe_crc_start(pipe_crc);
> @@ -302,10 +304,10 @@ static void test_source_outp_inactive(data_t *data)
>  		{ .r = 0.0, .g = 1.0, .b = 0.0 },
>  	};
>  	igt_pipe_crc_t *pipe_crc;
> -	const int fd = data->drm_fd;
>  	const int n_colors = ARRAY_SIZE(colors);
>  
> -	pipe_crc = igt_pipe_crc_new(fd, data->pipe, "outp-inactive");
> +	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&data->display, data->pipe),
> +				    "outp-inactive");
>  	create_crc_colors(data, colors, n_colors, pipe_crc);
>  
>  	/* Changing the color should not change what's outside the active raster */

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 11/12] lib/kms: Use igt_crtc_crc_new_nonblock() more
  2026-01-20 17:16 ` [PATCH i-g-t 11/12] lib/kms: Use igt_crtc_crc_new_nonblock() more Ville Syrjala
@ 2026-01-21  9:38   ` Jani Nikula
  0 siblings, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2026-01-21  9:38 UTC (permalink / raw)
  To: Ville Syrjala, igt-dev

On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Switch over to igt_crtc_crc_new_nonblock() from
> igt_pipe_crc_new_nonblock() even for the places that
> don't have a igt_crtc_t around. This make it more
> obvious where we need to modify the tests when fully
> switching over from pipe to igt_crc_t.
>
> Done with cocci:
>  #include "scripts/iterators.cocci"
>
> @find_data@
> iterator name pipe_test;
> type T;
> T DATA;
> identifier FD;
> identifier DISPLAY;
> @@
> igt_display_require(&DATA.DISPLAY, DATA.FD);
>
> @depends on find_data@
> find_data.T *DATA;
> identifier find_data.FD;
> identifier find_data.DISPLAY;
> expression PIPE;
> @@
> - igt_pipe_crc_new_nonblock(DATA->FD, PIPE
> + igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(&DATA->DISPLAY, PIPE)
> 	,...)
>
> @local_fd depends on find_data@
> find_data.T *DATA;
> identifier find_data.FD, FD2;
> identifier find_data.DISPLAY;
> expression PIPE;
> @@
> int FD2 = DATA->FD;
> <...
> - igt_pipe_crc_new_nonblock(FD2, PIPE
> + igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(&DATA->DISPLAY, PIPE)
> 	,...)
> ...>
>
> @depends on local_fd@
> find_data.T *DATA;
> identifier find_data.FD;
> identifier FD2;
> @@
> - int FD2 = DATA->FD;
> ... when != FD2
>
> @depends on find_data@
> typedef igt_display_t;
> identifier DISPLAY, find_data.FD;
> expression PIPE, E;
> find_data.T *DATA;
> @@
>  igt_display_t *DISPLAY = E;
> <...
> - igt_pipe_crc_new_nonblock(DATA->FD, PIPE
> + igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(DISPLAY, PIPE)
> 	,...)
> ...>
>
> @depends on find_data@
> identifier find_data.DISPLAY, find_data.FD;
> expression PIPE;
> find_data.T find_data.DATA;
> @@
> - igt_pipe_crc_new_nonblock(DATA.FD, PIPE
> + igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(&DATA.DISPLAY, PIPE)
> 	,...)
>
> @@
> igt_display_t *DISPLAY;
> expression PIPE;
> @@
> - igt_pipe_crc_new_nonblock(DISPLAY->drm_fd, PIPE
> + igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(DISPLAY, PIPE)
> 	,...)
>
> @@
> expression DISPLAY, PIPE;
> @@
> igt_crtc_crc_new_nonblock(...)
> {
> <...
> - igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(DISPLAY, PIPE)
> + igt_pipe_crc_new_nonblock(DISPLAY->drm_fd, PIPE
> 	,...)
> ...>
> }
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  tests/kms_cursor_edge_walk.c | 2 +-
>  tests/kms_pipe_crc_basic.c   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tests/kms_cursor_edge_walk.c b/tests/kms_cursor_edge_walk.c
> index d77787e51b97..eaf4c59b8a19 100644
> --- a/tests/kms_cursor_edge_walk.c
> +++ b/tests/kms_cursor_edge_walk.c
> @@ -284,7 +284,7 @@ static void prepare_crtc(data_t *data)
>  	data->jump_y = (mode->vdisplay - data->curh) / 2;
>  
>  	/* create the pipe_crc object for this pipe */
> -	data->pipe_crc = igt_pipe_crc_new_nonblock(data->drm_fd, data->pipe,
> +	data->pipe_crc = igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(&data->display, data->pipe),
>  						   IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	/* get reference crc w/o cursor */
> diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
> index 8861dc7b26bd..fb2f5f8ebe96 100644
> --- a/tests/kms_pipe_crc_basic.c
> +++ b/tests/kms_pipe_crc_basic.c
> @@ -167,7 +167,7 @@ static void test_read_crc(data_t *data, enum pipe pipe,
>  		if (flags & TEST_NONBLOCK) {
>  			igt_pipe_crc_t *pipe_crc;
>  
> -			pipe_crc = igt_pipe_crc_new_nonblock(data->drm_fd, pipe,
> +			pipe_crc = igt_crtc_crc_new_nonblock(igt_crtc_for_pipe(&data->display, pipe),
>  							     IGT_PIPE_CRC_SOURCE_AUTO);
>  			igt_wait_for_vblank(igt_crtc_for_pipe(display, pipe));
>  			igt_pipe_crc_start(pipe_crc);

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 12/12] lib/kms: Use igt_crtc_crc_new() even more
  2026-01-20 17:16 ` [PATCH i-g-t 12/12] lib/kms: Use igt_crtc_crc_new() even more Ville Syrjala
@ 2026-01-21  9:39   ` Jani Nikula
  0 siblings, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2026-01-21  9:39 UTC (permalink / raw)
  To: Ville Syrjala, igt-dev

On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Switch a few more igt_pipe_crc_new() uses over to
> igt_crtc_crc_new(). These weren't caught by the previous
> attempts and I the semantic patches were already getting
> far too messy, so take care of these separately.
>
>  #include "scripts/iterators.cocci"
>
> @find@
> identifier FD;
> identifier DISPLAY;
> @@
> igt_display_require(&DISPLAY, FD);
>
> @depends on find@
> typedef igt_display_t;
> identifier FUNC, DISPLAY, find.FD;
> expression PIPE;
> @@
> FUNC(..., igt_display_t *DISPLAY ,...)
> {
> <...
> - igt_pipe_crc_new(FD, PIPE
> + igt_crtc_crc_new(igt_crtc_for_pipe(DISPLAY, PIPE)
> 	,...)
> ...>
> }
>
> @depends on find@
> typedef igt_display_t;
> identifier DISPLAY, find.FD;
> expression PIPE, E;
> @@
>  igt_display_t *DISPLAY = E;
> <...
> - igt_pipe_crc_new(FD, PIPE
> + igt_crtc_crc_new(igt_crtc_for_pipe(DISPLAY, PIPE)
> 	,...)
> ...>
>
> @depends on find@
> identifier find.FD;
> identifier find.DISPLAY;
> expression PIPE;
> @@
> - igt_pipe_crc_new(FD, PIPE
> + igt_crtc_crc_new(igt_crtc_for_pipe(&DISPLAY, PIPE)
> 	,...)
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  tests/intel/kms_draw_crc.c | 3 ++-
>  tests/intel/xe_pat.c       | 3 ++-
>  tests/kms_prime.c          | 2 +-
>  3 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/tests/intel/kms_draw_crc.c b/tests/intel/kms_draw_crc.c
> index 6f9786ba2454..26bd1fbb1961 100644
> --- a/tests/intel/kms_draw_crc.c
> +++ b/tests/intel/kms_draw_crc.c
> @@ -104,7 +104,8 @@ static void find_modeset_params(void)
>  			continue;
>  
>  		mode = igt_output_get_mode(output);
> -		pipe_crc = igt_pipe_crc_new(drm_fd, pipe, IGT_PIPE_CRC_SOURCE_AUTO);
> +		pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&display, pipe),
> +					    IGT_PIPE_CRC_SOURCE_AUTO);
>  		/*Only one pipe/output is enough*/
>  		break;
>  	}
> diff --git a/tests/intel/xe_pat.c b/tests/intel/xe_pat.c
> index a7f8ab088d72..24339f688ce6 100644
> --- a/tests/intel/xe_pat.c
> +++ b/tests/intel/xe_pat.c
> @@ -936,7 +936,8 @@ static void display_vs_wb_transient(int fd)
>  			continue;
>  
>  		mode = igt_output_get_mode(output);
> -		pipe_crc = igt_pipe_crc_new(fd, pipe, IGT_PIPE_CRC_SOURCE_AUTO);
> +		pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&display, pipe),
> +					    IGT_PIPE_CRC_SOURCE_AUTO);
>  		break;
>  	}
>  
> diff --git a/tests/kms_prime.c b/tests/kms_prime.c
> index f443e9838a2b..f51c463211f4 100644
> --- a/tests/kms_prime.c
> +++ b/tests/kms_prime.c
> @@ -401,7 +401,7 @@ static void test_crc(int exporter_fd, int importer_fd)
>  	output = setup_display(importer_fd, &display, &pipe);
>  
>  	mode = igt_output_get_mode(output);
> -	pipe_crc = igt_pipe_crc_new(importer_fd, pipe,
> +	pipe_crc = igt_crtc_crc_new(igt_crtc_for_pipe(&display, pipe),
>  				    IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	for (i = 0; i < ARRAY_SIZE(colors); i++) {

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 06/12] lib/kms: Eliminate some redundant igt_crtc_for_pipe()s
  2026-01-20 17:16 ` [PATCH i-g-t 06/12] lib/kms: Eliminate some redundant igt_crtc_for_pipe()s Ville Syrjala
@ 2026-01-21  9:45   ` Jani Nikula
  0 siblings, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2026-01-21  9:45 UTC (permalink / raw)
  To: Ville Syrjala, igt-dev

On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> A bunch of places already have the igt_crtc_t around
> in some variable. Use it instead of repeating the
> igt_crtc_for_pipe().
>
> Done with cocci:
>  #include "scripts/iterators.cocci"
>
> @@
> expression CRTC, DISPLAY, DISPLAY2, PIPE;
> @@
> {
> ...
> CRTC = igt_crtc_for_pipe(DISPLAY, PIPE)
> <+...
> - igt_crtc_for_pipe(DISPLAY2, PIPE)
> + CRTC
> ...+>
> }
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  tests/amdgpu/amd_abm.c                  | 2 +-
>  tests/amdgpu/amd_bypass.c               | 2 +-
>  tests/amdgpu/amd_color.c                | 2 +-
>  tests/amdgpu/amd_ilr.c                  | 2 +-
>  tests/amdgpu/amd_link_settings.c        | 2 +-
>  tests/amdgpu/amd_mall.c                 | 2 +-
>  tests/amdgpu/amd_max_bpc.c              | 2 +-
>  tests/amdgpu/amd_mem_leak.c             | 2 +-
>  tests/amdgpu/amd_multidisplay_modeset.c | 2 +-
>  tests/amdgpu/amd_odm.c                  | 2 +-
>  tests/amdgpu/amd_psr.c                  | 2 +-
>  tests/amdgpu/amd_replay.c               | 2 +-
>  tests/intel/gem_pxp.c                   | 2 +-
>  tests/intel/kms_sharpness_filter.c      | 2 +-
>  tests/intel/xe_pxp.c                    | 4 ++--
>  tests/kms_atomic_transition.c           | 4 ++--
>  tests/kms_hdr.c                         | 2 +-
>  tests/kms_multipipe_modeset.c           | 4 ++--
>  tools/amd_hdmi_compliance.c             | 2 +-
>  19 files changed, 22 insertions(+), 22 deletions(-)
>
> diff --git a/tests/amdgpu/amd_abm.c b/tests/amdgpu/amd_abm.c
> index 0048304baf9c..ab52c83e8f9c 100644
> --- a/tests/amdgpu/amd_abm.c
> +++ b/tests/amdgpu/amd_abm.c
> @@ -147,7 +147,7 @@ static void test_init(data_t *data)
>  		 igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	igt_output_set_crtc(data->output,
> -			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> +			    data->pipe);
>  
>  	data->w = data->mode->hdisplay;
>  	data->h = data->mode->vdisplay;
> diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
> index 359387859d08..626c4bf36c13 100644
> --- a/tests/amdgpu/amd_bypass.c
> +++ b/tests/amdgpu/amd_bypass.c
> @@ -93,7 +93,7 @@ static void test_init(data_t *data)
>  					  AMDGPU_PIPE_CRC_SOURCE_DPRX);
>  
>  	igt_output_set_crtc(data->output,
> -			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> +			    data->pipe);
>  
>  	data->width = data->mode->hdisplay;
>  	data->height = data->mode->vdisplay;
> diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
> index d1e164673560..28622d8e16ed 100644
> --- a/tests/amdgpu/amd_color.c
> +++ b/tests/amdgpu/amd_color.c
> @@ -197,7 +197,7 @@ static void test_init(data_t *data)
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_output_set_crtc(data->output,
> -			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> +			    data->pipe);
>  
>  	data->w = data->mode->hdisplay;
>  	data->h = data->mode->vdisplay;
> diff --git a/tests/amdgpu/amd_ilr.c b/tests/amdgpu/amd_ilr.c
> index f1db9649c4e8..70254bdc1288 100644
> --- a/tests/amdgpu/amd_ilr.c
> +++ b/tests/amdgpu/amd_ilr.c
> @@ -104,7 +104,7 @@ static void test_init(data_t *data, igt_output_t *output)
>  					  AMDGPU_PIPE_CRC_SOURCE_DPRX);
>  
>  	igt_output_set_crtc(output,
> -			    igt_crtc_for_pipe(output->display, data->pipe_id));
> +			    data->pipe);
>  
>  	data->primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>  }
> diff --git a/tests/amdgpu/amd_link_settings.c b/tests/amdgpu/amd_link_settings.c
> index d042eb58d656..83d53ee54250 100644
> --- a/tests/amdgpu/amd_link_settings.c
> +++ b/tests/amdgpu/amd_link_settings.c
> @@ -103,7 +103,7 @@ static void test_init(data_t *data, igt_output_t *output)
>  	data->pipe = igt_crtc_for_pipe(&data->display, data->pipe_id);
>  
>  	igt_output_set_crtc(output,
> -			    igt_crtc_for_pipe(output->display, data->pipe_id));
> +			    data->pipe);
>  
>  	data->primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>  }
> diff --git a/tests/amdgpu/amd_mall.c b/tests/amdgpu/amd_mall.c
> index 1673bfd8531f..baa475ed0fbf 100644
> --- a/tests/amdgpu/amd_mall.c
> +++ b/tests/amdgpu/amd_mall.c
> @@ -89,7 +89,7 @@ static void test_init(data_t *data)
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_output_set_crtc(data->output,
> -			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> +			    data->pipe);
>  
>  	data->w = data->mode->hdisplay;
>  	data->h = data->mode->vdisplay;
> diff --git a/tests/amdgpu/amd_max_bpc.c b/tests/amdgpu/amd_max_bpc.c
> index b5e3f7aa40cf..b25cc80f3817 100644
> --- a/tests/amdgpu/amd_max_bpc.c
> +++ b/tests/amdgpu/amd_max_bpc.c
> @@ -86,7 +86,7 @@ static void test_init(data_t *data)
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_output_set_crtc(data->output,
> -			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> +			    data->pipe);
>  
>  	data->w = data->mode->hdisplay;
>  	data->h = data->mode->vdisplay;
> diff --git a/tests/amdgpu/amd_mem_leak.c b/tests/amdgpu/amd_mem_leak.c
> index e6321c215d4e..2897e6d82b12 100644
> --- a/tests/amdgpu/amd_mem_leak.c
> +++ b/tests/amdgpu/amd_mem_leak.c
> @@ -68,7 +68,7 @@ static void test_init(data_t *data)
>  		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	igt_output_set_crtc(data->output,
> -			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> +			    data->pipe);
>  
>  	data->w = data->mode->hdisplay;
>  	data->h = data->mode->vdisplay;
> diff --git a/tests/amdgpu/amd_multidisplay_modeset.c b/tests/amdgpu/amd_multidisplay_modeset.c
> index e2200be2dbb3..2af063a9937b 100644
> --- a/tests/amdgpu/amd_multidisplay_modeset.c
> +++ b/tests/amdgpu/amd_multidisplay_modeset.c
> @@ -161,7 +161,7 @@ static void test_init(struct data_t *data)
>  		 */
>  		output = igt_get_single_output_for_pipe(display, i);
>  		pipes = igt_crtc_for_pipe(display, i);
> -		data->primary[i] = igt_crtc_get_plane_type(igt_crtc_for_pipe(&data->display, i),
> +		data->primary[i] = igt_crtc_get_plane_type(pipes,
>  							   DRM_PLANE_TYPE_PRIMARY);
>  		data->output[i] = output;
>  
> diff --git a/tests/amdgpu/amd_odm.c b/tests/amdgpu/amd_odm.c
> index c8c268b982e5..b6a09b65f14b 100644
> --- a/tests/amdgpu/amd_odm.c
> +++ b/tests/amdgpu/amd_odm.c
> @@ -78,7 +78,7 @@ static void test_init(struct data *data)
>  
>  	data->primary = igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  	igt_output_set_crtc(data->output,
> -			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> +			    data->pipe);
>  
>  	igt_display_reset(display);
>  }
> diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c
> index b98d43718251..af52f0e4ed54 100644
> --- a/tests/amdgpu/amd_psr.c
> +++ b/tests/amdgpu/amd_psr.c
> @@ -197,7 +197,7 @@ static void test_init(data_t *data)
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_output_set_crtc(data->output,
> -			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> +			    data->pipe);
>  
>  	data->w = data->mode->hdisplay;
>  	data->h = data->mode->vdisplay;
> diff --git a/tests/amdgpu/amd_replay.c b/tests/amdgpu/amd_replay.c
> index 65707a3c384e..cd340fabc3a3 100644
> --- a/tests/amdgpu/amd_replay.c
> +++ b/tests/amdgpu/amd_replay.c
> @@ -78,7 +78,7 @@ static void test_init(struct test_data *data)
>  		 igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	igt_output_set_crtc(data->output,
> -			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> +			    data->pipe);
>  
>  	data->w = data->mode->hdisplay;
>  	data->h = data->mode->vdisplay;
> diff --git a/tests/intel/gem_pxp.c b/tests/intel/gem_pxp.c
> index 9015397c8a91..b45cfde0c1ac 100644
> --- a/tests/intel/gem_pxp.c
> +++ b/tests/intel/gem_pxp.c
> @@ -1230,7 +1230,7 @@ static void test_display_protected_crc(int i915, igt_display_t *display)
>  		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  		igt_require(igt_pipe_connector_valid(i, output));
>  		igt_output_set_crtc(output,
> -				    igt_crtc_for_pipe(output->display, i));
> +				    pipe);
>  
>  		igt_plane_set_fb(plane, &ref_fb);
>  		igt_fb_set_size(&ref_fb, plane, mode->hdisplay, mode->vdisplay);
> diff --git a/tests/intel/kms_sharpness_filter.c b/tests/intel/kms_sharpness_filter.c
> index 2f3044c7a9c7..45285818c895 100644
> --- a/tests/intel/kms_sharpness_filter.c
> +++ b/tests/intel/kms_sharpness_filter.c
> @@ -446,7 +446,7 @@ run_sharpness_filter_test(data_t *data, enum test_type type)
>  			}
>  
>  			igt_output_set_crtc(data->output,
> -					    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> +					    data->pipe);
>  
>  			if (!intel_pipe_output_combo_valid(display)) {
>  				igt_output_set_crtc(data->output, NULL);
> diff --git a/tests/intel/xe_pxp.c b/tests/intel/xe_pxp.c
> index 87c2c67394dd..2642109693d3 100644
> --- a/tests/intel/xe_pxp.c
> +++ b/tests/intel/xe_pxp.c
> @@ -906,7 +906,7 @@ static void test_display_pxp_fb(int fd, igt_display_t *display)
>  		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  		igt_require(igt_pipe_connector_valid(i, output));
>  		igt_output_set_crtc(output,
> -				    igt_crtc_for_pipe(output->display, i));
> +				    pipe);
>  
>  		commit_fb(display, plane, &ref_fb, mode);
>  
> @@ -964,7 +964,7 @@ static void test_display_black_pxp_fb(int fd, igt_display_t *display)
>  		plane = igt_crtc_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
>  		igt_require(igt_pipe_connector_valid(i, output));
>  		igt_output_set_crtc(output,
> -				    igt_crtc_for_pipe(output->display, i));
> +				    pipe);
>  
>  		igt_plane_set_fb(plane, &ref_fb);
>  		igt_fb_set_size(&ref_fb, plane, mode->hdisplay, mode->vdisplay);
> diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
> index 883a90e04a1a..ca97edbc73e0 100644
> --- a/tests/kms_atomic_transition.c
> +++ b/tests/kms_atomic_transition.c
> @@ -937,7 +937,7 @@ retry:
>  				continue;
>  
>  			igt_output_set_crtc(output,
> -					    igt_crtc_for_pipe(output->display, i));
> +					    pipe);
>  			if (intel_pipe_output_combo_valid(&data->display)) {
>  				mode = igt_output_get_mode(output);
>  
> @@ -957,7 +957,7 @@ retry:
>  			igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
>  
>  			if (fencing)
> -				igt_crtc_request_out_fence(igt_crtc_for_pipe(&data->display, i));
> +				igt_crtc_request_out_fence(pipe);
>  		} else {
>  			igt_plane_set_fb(plane, NULL);
>  		}
> diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c
> index 8f05a4f40e64..6fb936955d62 100644
> --- a/tests/kms_hdr.c
> +++ b/tests/kms_hdr.c
> @@ -226,7 +226,7 @@ static void prepare_test(data_t *data, igt_output_t *output, enum pipe pipe)
>  					  IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  	igt_output_set_crtc(data->output,
> -			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> +			    data->pipe);
>  	igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC, 10);
>  
>  	data->w = data->mode->hdisplay;
> diff --git a/tests/kms_multipipe_modeset.c b/tests/kms_multipipe_modeset.c
> index cfab18cc65c5..27df48899d71 100644
> --- a/tests/kms_multipipe_modeset.c
> +++ b/tests/kms_multipipe_modeset.c
> @@ -84,7 +84,7 @@ static void run_test(data_t *data, int valid_outputs)
>  						IGT_PIPE_CRC_SOURCE_AUTO);
>  
>  		igt_output_set_crtc(output,
> -				    igt_crtc_for_pipe(output->display, i));
> +				    pipe);
>  		mode = igt_output_get_mode(output);
>  		igt_assert(mode);
>  
> @@ -107,7 +107,7 @@ static void run_test(data_t *data, int valid_outputs)
>  		mode = NULL;
>  
>  		igt_output_set_crtc(output,
> -				    igt_crtc_for_pipe(output->display, i));
> +				    pipe);
>  		mode = igt_output_get_mode(output);
>  		igt_assert(mode);
>  
> diff --git a/tools/amd_hdmi_compliance.c b/tools/amd_hdmi_compliance.c
> index e8eeaf95c64c..6f6f6979ad6b 100644
> --- a/tools/amd_hdmi_compliance.c
> +++ b/tools/amd_hdmi_compliance.c
> @@ -410,7 +410,7 @@ static void test_init(data_t *data, int conn_id)
>  		igt_crtc_get_plane_type(data->pipe, DRM_PLANE_TYPE_PRIMARY);
>  
>  	igt_output_set_crtc(data->output,
> -			    igt_crtc_for_pipe(data->output->display, data->pipe_id));
> +			    data->pipe);
>  
>  	if (data->timeout_seconds > 0) {
>  		struct sigaction sa;

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 08/12] lib/kms: Add igt_crtc_t based CRC wrappers
  2026-01-21  9:33   ` Jani Nikula
@ 2026-01-21 15:09     ` Ville Syrjälä
  2026-01-22 10:02       ` Jani Nikula
  0 siblings, 1 reply; 32+ messages in thread
From: Ville Syrjälä @ 2026-01-21 15:09 UTC (permalink / raw)
  To: Jani Nikula; +Cc: igt-dev

On Wed, Jan 21, 2026 at 11:33:26AM +0200, Jani Nikula wrote:
> On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > Add wrappers for igt_pipe_crc_new*() that take igt_crtc_t rather
> > than the bare crtc index. Should help eliminate the pipe usage
> > from tests.
> 
> I think the basic idea is good, but a couple of comments inline.
> 
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> 
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >  lib/igt_kms.c | 14 ++++++++++++++
> >  lib/igt_kms.h |  4 ++++
> >  2 files changed, 18 insertions(+)
> >
> > diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> > index 74ad82d77dd3..901bbfab5934 100644
> > --- a/lib/igt_kms.c
> > +++ b/lib/igt_kms.c
> > @@ -59,6 +59,7 @@
> >  #include "intel_chipset.h"
> >  #include "igt_debugfs.h"
> >  #include "igt_device.h"
> > +#include "igt_pipe_crc.h"
> >  #include "igt_sysfs.h"
> >  #include "sw_sync.h"
> >  #ifdef HAVE_CHAMELIUM
> > @@ -5299,6 +5300,19 @@ int igt_output_preferred_vrefresh(igt_output_t *output)
> >  		return 60;
> >  }
> >  
> > +igt_pipe_crc_t *igt_crtc_crc_new(igt_crtc_t *crtc, const char *source)
> > +{
> > +	return igt_pipe_crc_new(crtc->display->drm_fd, crtc->crtc_offset,
> > +				source);
> > +}
> > +
> > +igt_pipe_crc_t *igt_crtc_crc_new_nonblock(igt_crtc_t *crtc, const char *source)
> > +{
> > +	return igt_pipe_crc_new_nonblock(crtc->display->drm_fd,
> > +					 crtc->crtc_offset,
> > +					 source);
> > +}
> > +
> >  static const char *igt_crtc_name(igt_crtc_t *crtc)
> >  {
> >  	if (crtc == NULL)
> > diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> > index 71a2f2c4d89c..b291673c2f7f 100644
> > --- a/lib/igt_kms.h
> > +++ b/lib/igt_kms.h
> > @@ -584,6 +584,10 @@ static inline igt_crtc_t *igt_crtc_for_pipe(igt_display_t *display, enum pipe pi
> >  	return &display->pipes[pipe];
> >  }
> >  
> > +typedef struct _igt_pipe_crc igt_pipe_crc_t;
> 
> So this is a dupe typedef, also defined in igt_pipe_crc.h. It works,
> it's probably better than including the other header here, but also a
> bit meh.

Yeah, forward declarations seem be to be painful with typedefs.

> 
> Another idea is naming this based on crtc instead of pipe, even if "crtc
> crc" is a mouthful:
> 
> typedef struct _igt_pipe_crc igt_crtc_crc_t;
> 
> I think it'll work, the types are compatible with the underlying struct
> being the same. So we could (gradually) convert from pipe_crc to
> crtc_crc.

Shrug.

> 
> With the wrappers being in igt_kms.[ch], is the idea that most tests
> could cease to include igt_pipe_crc.h after the conversions?

I expect the tests will need a bunch of other stuff from there
still.

Originally I put the crtc wrappers into igt_pipe_crc.[ch], but
then I needed to add forward declarations and includes for
igt_crtc_t which felt even worse.

-- 
Ville Syrjälä
Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH i-g-t 08/12] lib/kms: Add igt_crtc_t based CRC wrappers
  2026-01-21 15:09     ` Ville Syrjälä
@ 2026-01-22 10:02       ` Jani Nikula
  0 siblings, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2026-01-22 10:02 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev

On Wed, 21 Jan 2026, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Wed, Jan 21, 2026 at 11:33:26AM +0200, Jani Nikula wrote:
>> On Tue, 20 Jan 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
>> > diff --git a/lib/igt_kms.h b/lib/igt_kms.h
>> > index 71a2f2c4d89c..b291673c2f7f 100644
>> > --- a/lib/igt_kms.h
>> > +++ b/lib/igt_kms.h
>> > @@ -584,6 +584,10 @@ static inline igt_crtc_t *igt_crtc_for_pipe(igt_display_t *display, enum pipe pi
>> >  	return &display->pipes[pipe];
>> >  }
>> >  
>> > +typedef struct _igt_pipe_crc igt_pipe_crc_t;
>> 
>> So this is a dupe typedef, also defined in igt_pipe_crc.h. It works,
>> it's probably better than including the other header here, but also a
>> bit meh.
>
> Yeah, forward declarations seem be to be painful with typedefs.
>
>> 
>> Another idea is naming this based on crtc instead of pipe, even if "crtc
>> crc" is a mouthful:
>> 
>> typedef struct _igt_pipe_crc igt_crtc_crc_t;
>> 
>> I think it'll work, the types are compatible with the underlying struct
>> being the same. So we could (gradually) convert from pipe_crc to
>> crtc_crc.
>
> Shrug.
>
>> 
>> With the wrappers being in igt_kms.[ch], is the idea that most tests
>> could cease to include igt_pipe_crc.h after the conversions?
>
> I expect the tests will need a bunch of other stuff from there
> still.
>
> Originally I put the crtc wrappers into igt_pipe_crc.[ch], but
> then I needed to add forward declarations and includes for
> igt_crtc_t which felt even worse.

Ack. Like I said, I'm fine with this as-is too.

BR,
Jani.


-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2026-01-22 10:02 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-20 17:16 [PATCH i-g-t 00/12] lib/kms: More pipe->crtc conversion Ville Syrjala
2026-01-20 17:16 ` [PATCH i-g-t 01/12] igt/kms: Nuke igt_pipe_is_prop_changed() and igt_pipe_set_prop_value() Ville Syrjala
2026-01-21  8:50   ` Jani Nikula
2026-01-20 17:16 ` [PATCH i-g-t 02/12] lib/kms: Rename igt_pipe_obj_*_prop() Ville Syrjala
2026-01-21  8:55   ` Jani Nikula
2026-01-20 17:16 ` [PATCH i-g-t 03/12] lib/kms: Pass igt_crtc_t to igt_pipe_refresh() Ville Syrjala
2026-01-21  8:57   ` Jani Nikula
2026-01-20 17:16 ` [PATCH i-g-t 04/12] lib/kms: Don't pass 'display' to igt_fill_pipe_props)_ Ville Syrjala
2026-01-21  8:58   ` Jani Nikula
2026-01-21  8:58   ` Jani Nikula
2026-01-20 17:16 ` [PATCH i-g-t 05/12] lib/kms: Rename a bunch of crtc functions Ville Syrjala
2026-01-21  9:06   ` Jani Nikula
2026-01-20 17:16 ` [PATCH i-g-t 06/12] lib/kms: Eliminate some redundant igt_crtc_for_pipe()s Ville Syrjala
2026-01-21  9:45   ` Jani Nikula
2026-01-20 17:16 ` [PATCH i-g-t 07/12] lib/crc: Convert igt_pipe_crc away from enum pipe Ville Syrjala
2026-01-21  9:21   ` Jani Nikula
2026-01-20 17:16 ` [PATCH i-g-t 08/12] lib/kms: Add igt_crtc_t based CRC wrappers Ville Syrjala
2026-01-21  9:33   ` Jani Nikula
2026-01-21 15:09     ` Ville Syrjälä
2026-01-22 10:02       ` Jani Nikula
2026-01-20 17:16 ` [PATCH i-g-t 09/12] lib/kms: Use igt_crtc_crc_new() Ville Syrjala
2026-01-21  9:36   ` Jani Nikula
2026-01-20 17:16 ` [PATCH i-g-t 10/12] lib/kms: Use igt_crtc_crc_new() more Ville Syrjala
2026-01-21  9:38   ` Jani Nikula
2026-01-20 17:16 ` [PATCH i-g-t 11/12] lib/kms: Use igt_crtc_crc_new_nonblock() more Ville Syrjala
2026-01-21  9:38   ` Jani Nikula
2026-01-20 17:16 ` [PATCH i-g-t 12/12] lib/kms: Use igt_crtc_crc_new() even more Ville Syrjala
2026-01-21  9:39   ` Jani Nikula
2026-01-20 19:58 ` ✓ Xe.CI.BAT: success for lib/kms: More pipe->crtc conversion Patchwork
2026-01-20 20:07 ` ✓ i915.CI.BAT: " Patchwork
2026-01-21  1:58 ` ✓ Xe.CI.Full: " Patchwork
2026-01-21  9:15 ` ✓ i915.CI.Full: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox