Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH 2/2] [i-g-t] tests/amdgpu: Fix display tests be skipped intermittently
  2023-08-10 14:52 [igt-dev] [PATCH 1/2] [i-g-t] lib/igt_kms: Re-try display_require if require output is not valid Hersen Wu
@ 2023-08-10 14:52 ` Hersen Wu
  2023-08-11 15:15   ` Wu, Hersen
  0 siblings, 1 reply; 8+ messages in thread
From: Hersen Wu @ 2023-08-10 14:52 UTC (permalink / raw)
  To: igt-dev, rodrigo.siqueira, aurabindo.pillai, alex.hung,
	stylon.wang, hamza.mahfooz, sunpeng.li
  Cc: Hersen Wu, markyacoub

Use igt_display_setup to re-try igt_display_require if
igt dislay require output is not valid. If previous test
run suspend-resume test, current test igt display require
output may not be valid after initial igt_display_require.
This will let current test be skipped. By re-try
igt_display_require, igt display require output could be
valid.

Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
---
 tests/amdgpu/amd_assr.c                | 3 +--
 tests/amdgpu/amd_bypass.c              | 3 +--
 tests/amdgpu/amd_color.c               | 3 +--
 tests/amdgpu/amd_dp_dsc.c              | 6 +++---
 tests/amdgpu/amd_freesync_video_mode.c | 3 +--
 tests/amdgpu/amd_hotplug.c             | 3 +--
 tests/amdgpu/amd_ilr.c                 | 3 +--
 tests/amdgpu/amd_link_settings.c       | 3 +--
 tests/amdgpu/amd_max_bpc.c             | 3 +--
 tests/amdgpu/amd_mem_leak.c            | 3 +--
 tests/amdgpu/amd_mode_switch.c         | 5 ++---
 tests/amdgpu/amd_plane.c               | 3 +--
 tests/amdgpu/amd_psr.c                 | 5 ++---
 tests/amdgpu/amd_vrr_range.c           | 3 +--
 14 files changed, 18 insertions(+), 31 deletions(-)

diff --git a/tests/amdgpu/amd_assr.c b/tests/amdgpu/amd_assr.c
index fc2367f99..6f4884d3b 100644
--- a/tests/amdgpu/amd_assr.c
+++ b/tests/amdgpu/amd_assr.c
@@ -281,9 +281,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_display_setup(&data.display, data.fd, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Test ASSR on connected DP/eDP links");
diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
index d192a30ea..1c2756ae1 100644
--- a/tests/amdgpu/amd_bypass.c
+++ b/tests/amdgpu/amd_bypass.c
@@ -387,9 +387,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.drm_fd);
+		igt_display_setup(&data.display, data.drm_fd, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_subtest("8bpc-bypass-mode")
diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
index 34002ed88..6918f2b3c 100644
--- a/tests/amdgpu/amd_color.c
+++ b/tests/amdgpu/amd_color.c
@@ -404,9 +404,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_display_setup(&data.display, data.fd, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_subtest("crtc-linear-degamma") test_crtc_linear_degamma(&data);
diff --git a/tests/amdgpu/amd_dp_dsc.c b/tests/amdgpu/amd_dp_dsc.c
index e782ce84a..aa5e2ed08 100644
--- a/tests/amdgpu/amd_dp_dsc.c
+++ b/tests/amdgpu/amd_dp_dsc.c
@@ -526,12 +526,12 @@ igt_main
 	{
 		data.fd = drm_open_driver_master(DRIVER_ANY);
 
-		igt_display_require(&data.display, data.fd);
+		kmstest_set_vt_graphics_mode();
+
+		igt_display_setup(&data.display, data.fd, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 
 		igt_amd_require_dsc(&data.display, data.fd);
-		kmstest_set_vt_graphics_mode();
 	}
 
 	igt_describe("Forces DSC on/off & ensures it is reset properly");
diff --git a/tests/amdgpu/amd_freesync_video_mode.c b/tests/amdgpu/amd_freesync_video_mode.c
index 7716598dc..54c2121a8 100644
--- a/tests/amdgpu/amd_freesync_video_mode.c
+++ b/tests/amdgpu/amd_freesync_video_mode.c
@@ -871,9 +871,8 @@ igt_main {
 			igt_skip("Not an amdgpu driver.\n");
 		}
 		kmstest_set_vt_graphics_mode();
-		igt_display_require(&data.display, data.drm_fd);
+		igt_display_setup(&data.display, data.drm_fd, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	/* Expectation: Modeset happens instantaneously without blanking */
diff --git a/tests/amdgpu/amd_hotplug.c b/tests/amdgpu/amd_hotplug.c
index c13bf49d3..73e3fef35 100644
--- a/tests/amdgpu/amd_hotplug.c
+++ b/tests/amdgpu/amd_hotplug.c
@@ -165,9 +165,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_display_setup(&data.display, data.fd, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 
 		igt_amd_require_hpd(&data.display, data.fd);
 	}
diff --git a/tests/amdgpu/amd_ilr.c b/tests/amdgpu/amd_ilr.c
index 50ca93a14..ca63e9c28 100644
--- a/tests/amdgpu/amd_ilr.c
+++ b/tests/amdgpu/amd_ilr.c
@@ -264,9 +264,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.drm_fd);
+		igt_display_setup(&data.display, data.drm_fd, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Test ILR by trying training link rate at all supported ILRs");
diff --git a/tests/amdgpu/amd_link_settings.c b/tests/amdgpu/amd_link_settings.c
index 6a7e8cc53..4509e7f9c 100644
--- a/tests/amdgpu/amd_link_settings.c
+++ b/tests/amdgpu/amd_link_settings.c
@@ -237,9 +237,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.drm_fd);
+		igt_display_setup(&data.display, data.drm_fd, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Retrieves all link settings configurations and retrains "
diff --git a/tests/amdgpu/amd_max_bpc.c b/tests/amdgpu/amd_max_bpc.c
index effe830a2..9fe71d946 100644
--- a/tests/amdgpu/amd_max_bpc.c
+++ b/tests/amdgpu/amd_max_bpc.c
@@ -132,9 +132,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_display_setup(&data.display, data.fd, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Tests overly high 'max bpc' should not affect 4K modes on HDMI");
diff --git a/tests/amdgpu/amd_mem_leak.c b/tests/amdgpu/amd_mem_leak.c
index e4a4b5c47..7fc7f608c 100644
--- a/tests/amdgpu/amd_mem_leak.c
+++ b/tests/amdgpu/amd_mem_leak.c
@@ -219,9 +219,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_display_setup(&data.display, data.fd, 5);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Test memory leaks after resume from suspend");
diff --git a/tests/amdgpu/amd_mode_switch.c b/tests/amdgpu/amd_mode_switch.c
index 270b1b9f6..5b69269b9 100644
--- a/tests/amdgpu/amd_mode_switch.c
+++ b/tests/amdgpu/amd_mode_switch.c
@@ -191,9 +191,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
-		igt_require(&data.display.is_atomic);
-		igt_display_require_output(&data.display);
+		igt_display_setup(&data.display, data.fd, 2);
+		igt_require(data.display.is_atomic);
 	}
 
 	for (i = 0; i < MAX_PIPES; i++) {
diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c
index ee7de5778..6dadca37f 100644
--- a/tests/amdgpu/amd_plane.c
+++ b/tests/amdgpu/amd_plane.c
@@ -910,9 +910,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_display_setup(&data.display, data.fd, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("MPO with 4K planes");
diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c
index 9da161a09..d753f0499 100644
--- a/tests/amdgpu/amd_psr.c
+++ b/tests/amdgpu/amd_psr.c
@@ -715,9 +715,8 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
-		igt_require(&data.display.is_atomic);
-		igt_display_require_output(&data.display);
+		igt_display_setup(&data.display, data.fd, 2);
+		igt_require(data.display.is_atomic);
 
 		/* check if visual confirm option available */
 		if (opt.visual_confirm) {
diff --git a/tests/amdgpu/amd_vrr_range.c b/tests/amdgpu/amd_vrr_range.c
index a77895622..a626e607d 100644
--- a/tests/amdgpu/amd_vrr_range.c
+++ b/tests/amdgpu/amd_vrr_range.c
@@ -388,9 +388,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_display_setup(&data.display, data.fd, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Hard coded Freesync EDID parsing");
-- 
2.25.1

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

* Re: [igt-dev] [PATCH 2/2] [i-g-t] tests/amdgpu: Fix display tests be skipped intermittently
  2023-08-10 14:52 ` [igt-dev] [PATCH 2/2] [i-g-t] tests/amdgpu: Fix display tests be skipped intermittently Hersen Wu
@ 2023-08-11 15:15   ` Wu, Hersen
  0 siblings, 0 replies; 8+ messages in thread
From: Wu, Hersen @ 2023-08-11 15:15 UTC (permalink / raw)
  To: Wu, Hersen, igt-dev@lists.freedesktop.org, Siqueira, Rodrigo,
	Pillai, Aurabindo, Hung, Alex, Wang, Chao-kai (Stylon),
	Mahfooz, Hamza, Li, Sun peng (Leo), petri.latvala@intel.com
  Cc: petri.latvala@intel.com, markyacoub@google.com

[AMD Official Use Only - General]

Re-send for review request.
Thanks!
Hersen

-----Original Message-----
From: Hersen Wu <hersenxs.wu@amd.com>
Sent: Thursday, August 10, 2023 10:53 AM
To: igt-dev@lists.freedesktop.org; Siqueira, Rodrigo <Rodrigo.Siqueira@amd.com>; Pillai, Aurabindo <Aurabindo.Pillai@amd.com>; Hung, Alex <Alex.Hung@amd.com>; Wang, Chao-kai (Stylon) <Stylon.Wang@amd.com>; Mahfooz, Hamza <Hamza.Mahfooz@amd.com>; Li, Sun peng (Leo) <Sunpeng.Li@amd.com>
Cc: markyacoub@google.com; Wu, Hersen <hersenxs.wu@amd.com>
Subject: [PATCH 2/2] [i-g-t] tests/amdgpu: Fix display tests be skipped intermittently

Use igt_display_setup to re-try igt_display_require if igt dislay require output is not valid. If previous test run suspend-resume test, current test igt display require output may not be valid after initial igt_display_require.
This will let current test be skipped. By re-try igt_display_require, igt display require output could be valid.

Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
---
 tests/amdgpu/amd_assr.c                | 3 +--
 tests/amdgpu/amd_bypass.c              | 3 +--
 tests/amdgpu/amd_color.c               | 3 +--
 tests/amdgpu/amd_dp_dsc.c              | 6 +++---
 tests/amdgpu/amd_freesync_video_mode.c | 3 +--
 tests/amdgpu/amd_hotplug.c             | 3 +--
 tests/amdgpu/amd_ilr.c                 | 3 +--
 tests/amdgpu/amd_link_settings.c       | 3 +--
 tests/amdgpu/amd_max_bpc.c             | 3 +--
 tests/amdgpu/amd_mem_leak.c            | 3 +--
 tests/amdgpu/amd_mode_switch.c         | 5 ++---
 tests/amdgpu/amd_plane.c               | 3 +--
 tests/amdgpu/amd_psr.c                 | 5 ++---
 tests/amdgpu/amd_vrr_range.c           | 3 +--
 14 files changed, 18 insertions(+), 31 deletions(-)

diff --git a/tests/amdgpu/amd_assr.c b/tests/amdgpu/amd_assr.c index fc2367f99..6f4884d3b 100644
--- a/tests/amdgpu/amd_assr.c
+++ b/tests/amdgpu/amd_assr.c
@@ -281,9 +281,8 @@ igt_main

                kmstest_set_vt_graphics_mode();

-               igt_display_require(&data.display, data.fd);
+               igt_display_setup(&data.display, data.fd, 2);
                igt_require(data.display.is_atomic);
-               igt_display_require_output(&data.display);
        }

        igt_describe("Test ASSR on connected DP/eDP links"); diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c index d192a30ea..1c2756ae1 100644
--- a/tests/amdgpu/amd_bypass.c
+++ b/tests/amdgpu/amd_bypass.c
@@ -387,9 +387,8 @@ igt_main

                kmstest_set_vt_graphics_mode();

-               igt_display_require(&data.display, data.drm_fd);
+               igt_display_setup(&data.display, data.drm_fd, 2);
                igt_require(data.display.is_atomic);
-               igt_display_require_output(&data.display);
        }

        igt_subtest("8bpc-bypass-mode")
diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c index 34002ed88..6918f2b3c 100644
--- a/tests/amdgpu/amd_color.c
+++ b/tests/amdgpu/amd_color.c
@@ -404,9 +404,8 @@ igt_main

                kmstest_set_vt_graphics_mode();

-               igt_display_require(&data.display, data.fd);
+               igt_display_setup(&data.display, data.fd, 2);
                igt_require(data.display.is_atomic);
-               igt_display_require_output(&data.display);
        }

        igt_subtest("crtc-linear-degamma") test_crtc_linear_degamma(&data); diff --git a/tests/amdgpu/amd_dp_dsc.c b/tests/amdgpu/amd_dp_dsc.c index e782ce84a..aa5e2ed08 100644
--- a/tests/amdgpu/amd_dp_dsc.c
+++ b/tests/amdgpu/amd_dp_dsc.c
@@ -526,12 +526,12 @@ igt_main
        {
                data.fd = drm_open_driver_master(DRIVER_ANY);

-               igt_display_require(&data.display, data.fd);
+               kmstest_set_vt_graphics_mode();
+
+               igt_display_setup(&data.display, data.fd, 2);
                igt_require(data.display.is_atomic);
-               igt_display_require_output(&data.display);

                igt_amd_require_dsc(&data.display, data.fd);
-               kmstest_set_vt_graphics_mode();
        }

        igt_describe("Forces DSC on/off & ensures it is reset properly"); diff --git a/tests/amdgpu/amd_freesync_video_mode.c b/tests/amdgpu/amd_freesync_video_mode.c
index 7716598dc..54c2121a8 100644
--- a/tests/amdgpu/amd_freesync_video_mode.c
+++ b/tests/amdgpu/amd_freesync_video_mode.c
@@ -871,9 +871,8 @@ igt_main {
                        igt_skip("Not an amdgpu driver.\n");
                }
                kmstest_set_vt_graphics_mode();
-               igt_display_require(&data.display, data.drm_fd);
+               igt_display_setup(&data.display, data.drm_fd, 2);
                igt_require(data.display.is_atomic);
-               igt_display_require_output(&data.display);
        }

        /* Expectation: Modeset happens instantaneously without blanking */ diff --git a/tests/amdgpu/amd_hotplug.c b/tests/amdgpu/amd_hotplug.c index c13bf49d3..73e3fef35 100644
--- a/tests/amdgpu/amd_hotplug.c
+++ b/tests/amdgpu/amd_hotplug.c
@@ -165,9 +165,8 @@ igt_main

                kmstest_set_vt_graphics_mode();

-               igt_display_require(&data.display, data.fd);
+               igt_display_setup(&data.display, data.fd, 2);
                igt_require(data.display.is_atomic);
-               igt_display_require_output(&data.display);

                igt_amd_require_hpd(&data.display, data.fd);
        }
diff --git a/tests/amdgpu/amd_ilr.c b/tests/amdgpu/amd_ilr.c index 50ca93a14..ca63e9c28 100644
--- a/tests/amdgpu/amd_ilr.c
+++ b/tests/amdgpu/amd_ilr.c
@@ -264,9 +264,8 @@ igt_main

                kmstest_set_vt_graphics_mode();

-               igt_display_require(&data.display, data.drm_fd);
+               igt_display_setup(&data.display, data.drm_fd, 2);
                igt_require(data.display.is_atomic);
-               igt_display_require_output(&data.display);
        }

        igt_describe("Test ILR by trying training link rate at all supported ILRs"); diff --git a/tests/amdgpu/amd_link_settings.c b/tests/amdgpu/amd_link_settings.c
index 6a7e8cc53..4509e7f9c 100644
--- a/tests/amdgpu/amd_link_settings.c
+++ b/tests/amdgpu/amd_link_settings.c
@@ -237,9 +237,8 @@ igt_main

                kmstest_set_vt_graphics_mode();

-               igt_display_require(&data.display, data.drm_fd);
+               igt_display_setup(&data.display, data.drm_fd, 2);
                igt_require(data.display.is_atomic);
-               igt_display_require_output(&data.display);
        }

        igt_describe("Retrieves all link settings configurations and retrains "
diff --git a/tests/amdgpu/amd_max_bpc.c b/tests/amdgpu/amd_max_bpc.c index effe830a2..9fe71d946 100644
--- a/tests/amdgpu/amd_max_bpc.c
+++ b/tests/amdgpu/amd_max_bpc.c
@@ -132,9 +132,8 @@ igt_main

                kmstest_set_vt_graphics_mode();

-               igt_display_require(&data.display, data.fd);
+               igt_display_setup(&data.display, data.fd, 2);
                igt_require(data.display.is_atomic);
-               igt_display_require_output(&data.display);
        }

        igt_describe("Tests overly high 'max bpc' should not affect 4K modes on HDMI"); diff --git a/tests/amdgpu/amd_mem_leak.c b/tests/amdgpu/amd_mem_leak.c index e4a4b5c47..7fc7f608c 100644
--- a/tests/amdgpu/amd_mem_leak.c
+++ b/tests/amdgpu/amd_mem_leak.c
@@ -219,9 +219,8 @@ igt_main

                kmstest_set_vt_graphics_mode();

-               igt_display_require(&data.display, data.fd);
+               igt_display_setup(&data.display, data.fd, 5);
                igt_require(data.display.is_atomic);
-               igt_display_require_output(&data.display);
        }

        igt_describe("Test memory leaks after resume from suspend"); diff --git a/tests/amdgpu/amd_mode_switch.c b/tests/amdgpu/amd_mode_switch.c index 270b1b9f6..5b69269b9 100644
--- a/tests/amdgpu/amd_mode_switch.c
+++ b/tests/amdgpu/amd_mode_switch.c
@@ -191,9 +191,8 @@ igt_main

                kmstest_set_vt_graphics_mode();

-               igt_display_require(&data.display, data.fd);
-               igt_require(&data.display.is_atomic);
-               igt_display_require_output(&data.display);
+               igt_display_setup(&data.display, data.fd, 2);
+               igt_require(data.display.is_atomic);
        }

        for (i = 0; i < MAX_PIPES; i++) {
diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c index ee7de5778..6dadca37f 100644
--- a/tests/amdgpu/amd_plane.c
+++ b/tests/amdgpu/amd_plane.c
@@ -910,9 +910,8 @@ igt_main

                kmstest_set_vt_graphics_mode();

-               igt_display_require(&data.display, data.fd);
+               igt_display_setup(&data.display, data.fd, 2);
                igt_require(data.display.is_atomic);
-               igt_display_require_output(&data.display);
        }

        igt_describe("MPO with 4K planes");
diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c index 9da161a09..d753f0499 100644
--- a/tests/amdgpu/amd_psr.c
+++ b/tests/amdgpu/amd_psr.c
@@ -715,9 +715,8 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)

                kmstest_set_vt_graphics_mode();

-               igt_display_require(&data.display, data.fd);
-               igt_require(&data.display.is_atomic);
-               igt_display_require_output(&data.display);
+               igt_display_setup(&data.display, data.fd, 2);
+               igt_require(data.display.is_atomic);

                /* check if visual confirm option available */
                if (opt.visual_confirm) {
diff --git a/tests/amdgpu/amd_vrr_range.c b/tests/amdgpu/amd_vrr_range.c index a77895622..a626e607d 100644
--- a/tests/amdgpu/amd_vrr_range.c
+++ b/tests/amdgpu/amd_vrr_range.c
@@ -388,9 +388,8 @@ igt_main

                kmstest_set_vt_graphics_mode();

-               igt_display_require(&data.display, data.fd);
+               igt_display_setup(&data.display, data.fd, 2);
                igt_require(data.display.is_atomic);
-               igt_display_require_output(&data.display);
        }

        igt_describe("Hard coded Freesync EDID parsing");
--
2.25.1

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

* [igt-dev] [PATCH 2/2] [i-g-t] tests/amdgpu: Fix display tests be skipped intermittently
  2023-08-11 22:12 [igt-dev] [PATCH 1/2] [i-g-t] lib/igt_kms: " Hersen Wu
@ 2023-08-11 22:12 ` Hersen Wu
  2023-08-11 22:38   ` Alex Hung
  0 siblings, 1 reply; 8+ messages in thread
From: Hersen Wu @ 2023-08-11 22:12 UTC (permalink / raw)
  To: igt-dev, rodrigo.siqueira, aurabindo.pillai, alex.hung,
	stylon.wang, hamza.mahfooz, sunpeng.li
  Cc: Hersen Wu, markyacoub

Use igt_display_require_retry to re-try igt_display_require
if igt dislay require output is not valid. If previous test
run suspend-resume test, current test igt display require
output may not be valid after initial igt_display_require.
This will let current test be skipped. By re-try
igt_display_require, igt display require output could be
valid.

Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
---
 tests/amdgpu/amd_assr.c                | 3 +--
 tests/amdgpu/amd_bypass.c              | 3 +--
 tests/amdgpu/amd_color.c               | 3 +--
 tests/amdgpu/amd_dp_dsc.c              | 6 +++---
 tests/amdgpu/amd_freesync_video_mode.c | 3 +--
 tests/amdgpu/amd_hotplug.c             | 3 +--
 tests/amdgpu/amd_ilr.c                 | 3 +--
 tests/amdgpu/amd_link_settings.c       | 3 +--
 tests/amdgpu/amd_max_bpc.c             | 3 +--
 tests/amdgpu/amd_mem_leak.c            | 3 +--
 tests/amdgpu/amd_mode_switch.c         | 5 ++---
 tests/amdgpu/amd_plane.c               | 3 +--
 tests/amdgpu/amd_psr.c                 | 5 ++---
 tests/amdgpu/amd_vrr_range.c           | 3 +--
 14 files changed, 18 insertions(+), 31 deletions(-)

diff --git a/tests/amdgpu/amd_assr.c b/tests/amdgpu/amd_assr.c
index fc2367f99..796c79eec 100644
--- a/tests/amdgpu/amd_assr.c
+++ b/tests/amdgpu/amd_assr.c
@@ -281,9 +281,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Test ASSR on connected DP/eDP links");
diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
index d192a30ea..351742205 100644
--- a/tests/amdgpu/amd_bypass.c
+++ b/tests/amdgpu/amd_bypass.c
@@ -387,9 +387,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.drm_fd);
+		igt_display_require_retry(&data.display, data.drm_fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_subtest("8bpc-bypass-mode")
diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
index 34002ed88..c2f2f1824 100644
--- a/tests/amdgpu/amd_color.c
+++ b/tests/amdgpu/amd_color.c
@@ -404,9 +404,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_subtest("crtc-linear-degamma") test_crtc_linear_degamma(&data);
diff --git a/tests/amdgpu/amd_dp_dsc.c b/tests/amdgpu/amd_dp_dsc.c
index e782ce84a..2c2f4c0ff 100644
--- a/tests/amdgpu/amd_dp_dsc.c
+++ b/tests/amdgpu/amd_dp_dsc.c
@@ -526,12 +526,12 @@ igt_main
 	{
 		data.fd = drm_open_driver_master(DRIVER_ANY);
 
-		igt_display_require(&data.display, data.fd);
+		kmstest_set_vt_graphics_mode();
+
+		igt_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 
 		igt_amd_require_dsc(&data.display, data.fd);
-		kmstest_set_vt_graphics_mode();
 	}
 
 	igt_describe("Forces DSC on/off & ensures it is reset properly");
diff --git a/tests/amdgpu/amd_freesync_video_mode.c b/tests/amdgpu/amd_freesync_video_mode.c
index 7716598dc..226ea7d37 100644
--- a/tests/amdgpu/amd_freesync_video_mode.c
+++ b/tests/amdgpu/amd_freesync_video_mode.c
@@ -871,9 +871,8 @@ igt_main {
 			igt_skip("Not an amdgpu driver.\n");
 		}
 		kmstest_set_vt_graphics_mode();
-		igt_display_require(&data.display, data.drm_fd);
+		igt_display_require_retry(&data.display, data.drm_fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	/* Expectation: Modeset happens instantaneously without blanking */
diff --git a/tests/amdgpu/amd_hotplug.c b/tests/amdgpu/amd_hotplug.c
index c13bf49d3..698446826 100644
--- a/tests/amdgpu/amd_hotplug.c
+++ b/tests/amdgpu/amd_hotplug.c
@@ -165,9 +165,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 
 		igt_amd_require_hpd(&data.display, data.fd);
 	}
diff --git a/tests/amdgpu/amd_ilr.c b/tests/amdgpu/amd_ilr.c
index 50ca93a14..e332ce57d 100644
--- a/tests/amdgpu/amd_ilr.c
+++ b/tests/amdgpu/amd_ilr.c
@@ -264,9 +264,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.drm_fd);
+		igt_display_require_retry(&data.display, data.drm_fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Test ILR by trying training link rate at all supported ILRs");
diff --git a/tests/amdgpu/amd_link_settings.c b/tests/amdgpu/amd_link_settings.c
index 6a7e8cc53..41bb5ac45 100644
--- a/tests/amdgpu/amd_link_settings.c
+++ b/tests/amdgpu/amd_link_settings.c
@@ -237,9 +237,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.drm_fd);
+		igt_display_require_retry(&data.display, data.drm_fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Retrieves all link settings configurations and retrains "
diff --git a/tests/amdgpu/amd_max_bpc.c b/tests/amdgpu/amd_max_bpc.c
index effe830a2..d67abf0ad 100644
--- a/tests/amdgpu/amd_max_bpc.c
+++ b/tests/amdgpu/amd_max_bpc.c
@@ -132,9 +132,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Tests overly high 'max bpc' should not affect 4K modes on HDMI");
diff --git a/tests/amdgpu/amd_mem_leak.c b/tests/amdgpu/amd_mem_leak.c
index e4a4b5c47..52b28a57f 100644
--- a/tests/amdgpu/amd_mem_leak.c
+++ b/tests/amdgpu/amd_mem_leak.c
@@ -219,9 +219,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_display_require_retry(&data.display, data.fd, 5, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Test memory leaks after resume from suspend");
diff --git a/tests/amdgpu/amd_mode_switch.c b/tests/amdgpu/amd_mode_switch.c
index 270b1b9f6..e7ac81800 100644
--- a/tests/amdgpu/amd_mode_switch.c
+++ b/tests/amdgpu/amd_mode_switch.c
@@ -191,9 +191,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
-		igt_require(&data.display.is_atomic);
-		igt_display_require_output(&data.display);
+		igt_display_require_retry(&data.display, data.fd, 2, 2);
+		igt_require(data.display.is_atomic);
 	}
 
 	for (i = 0; i < MAX_PIPES; i++) {
diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c
index ee7de5778..394fdf31f 100644
--- a/tests/amdgpu/amd_plane.c
+++ b/tests/amdgpu/amd_plane.c
@@ -910,9 +910,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("MPO with 4K planes");
diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c
index 9da161a09..d1c332924 100644
--- a/tests/amdgpu/amd_psr.c
+++ b/tests/amdgpu/amd_psr.c
@@ -715,9 +715,8 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
-		igt_require(&data.display.is_atomic);
-		igt_display_require_output(&data.display);
+		igt_display_require_retry(&data.display, data.fd, 2, 2);
+		igt_require(data.display.is_atomic);
 
 		/* check if visual confirm option available */
 		if (opt.visual_confirm) {
diff --git a/tests/amdgpu/amd_vrr_range.c b/tests/amdgpu/amd_vrr_range.c
index a77895622..223f99c62 100644
--- a/tests/amdgpu/amd_vrr_range.c
+++ b/tests/amdgpu/amd_vrr_range.c
@@ -388,9 +388,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Hard coded Freesync EDID parsing");
-- 
2.25.1

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

* Re: [igt-dev] [PATCH 2/2] [i-g-t] tests/amdgpu: Fix display tests be skipped intermittently
  2023-08-11 22:12 ` [igt-dev] [PATCH 2/2] [i-g-t] tests/amdgpu: Fix display tests be skipped intermittently Hersen Wu
@ 2023-08-11 22:38   ` Alex Hung
  0 siblings, 0 replies; 8+ messages in thread
From: Alex Hung @ 2023-08-11 22:38 UTC (permalink / raw)
  To: Hersen Wu, igt-dev, rodrigo.siqueira, aurabindo.pillai,
	stylon.wang, hamza.mahfooz, sunpeng.li
  Cc: markyacoub

Reviewed-by: Alex Hung <alex.hung@amd.com>

On 2023-08-11 16:12, Hersen Wu wrote:
> Use igt_display_require_retry to re-try igt_display_require
> if igt dislay require output is not valid. If previous test
> run suspend-resume test, current test igt display require
> output may not be valid after initial igt_display_require.
> This will let current test be skipped. By re-try
> igt_display_require, igt display require output could be
> valid.
> 
> Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
> ---
>   tests/amdgpu/amd_assr.c                | 3 +--
>   tests/amdgpu/amd_bypass.c              | 3 +--
>   tests/amdgpu/amd_color.c               | 3 +--
>   tests/amdgpu/amd_dp_dsc.c              | 6 +++---
>   tests/amdgpu/amd_freesync_video_mode.c | 3 +--
>   tests/amdgpu/amd_hotplug.c             | 3 +--
>   tests/amdgpu/amd_ilr.c                 | 3 +--
>   tests/amdgpu/amd_link_settings.c       | 3 +--
>   tests/amdgpu/amd_max_bpc.c             | 3 +--
>   tests/amdgpu/amd_mem_leak.c            | 3 +--
>   tests/amdgpu/amd_mode_switch.c         | 5 ++---
>   tests/amdgpu/amd_plane.c               | 3 +--
>   tests/amdgpu/amd_psr.c                 | 5 ++---
>   tests/amdgpu/amd_vrr_range.c           | 3 +--
>   14 files changed, 18 insertions(+), 31 deletions(-)
> 
> diff --git a/tests/amdgpu/amd_assr.c b/tests/amdgpu/amd_assr.c
> index fc2367f99..796c79eec 100644
> --- a/tests/amdgpu/amd_assr.c
> +++ b/tests/amdgpu/amd_assr.c
> @@ -281,9 +281,8 @@ igt_main
>   
>   		kmstest_set_vt_graphics_mode();
>   
> -		igt_display_require(&data.display, data.fd);
> +		igt_display_require_retry(&data.display, data.fd, 2, 2);
>   		igt_require(data.display.is_atomic);
> -		igt_display_require_output(&data.display);
>   	}
>   
>   	igt_describe("Test ASSR on connected DP/eDP links");
> diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
> index d192a30ea..351742205 100644
> --- a/tests/amdgpu/amd_bypass.c
> +++ b/tests/amdgpu/amd_bypass.c
> @@ -387,9 +387,8 @@ igt_main
>   
>   		kmstest_set_vt_graphics_mode();
>   
> -		igt_display_require(&data.display, data.drm_fd);
> +		igt_display_require_retry(&data.display, data.drm_fd, 2, 2);
>   		igt_require(data.display.is_atomic);
> -		igt_display_require_output(&data.display);
>   	}
>   
>   	igt_subtest("8bpc-bypass-mode")
> diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
> index 34002ed88..c2f2f1824 100644
> --- a/tests/amdgpu/amd_color.c
> +++ b/tests/amdgpu/amd_color.c
> @@ -404,9 +404,8 @@ igt_main
>   
>   		kmstest_set_vt_graphics_mode();
>   
> -		igt_display_require(&data.display, data.fd);
> +		igt_display_require_retry(&data.display, data.fd, 2, 2);
>   		igt_require(data.display.is_atomic);
> -		igt_display_require_output(&data.display);
>   	}
>   
>   	igt_subtest("crtc-linear-degamma") test_crtc_linear_degamma(&data);
> diff --git a/tests/amdgpu/amd_dp_dsc.c b/tests/amdgpu/amd_dp_dsc.c
> index e782ce84a..2c2f4c0ff 100644
> --- a/tests/amdgpu/amd_dp_dsc.c
> +++ b/tests/amdgpu/amd_dp_dsc.c
> @@ -526,12 +526,12 @@ igt_main
>   	{
>   		data.fd = drm_open_driver_master(DRIVER_ANY);
>   
> -		igt_display_require(&data.display, data.fd);
> +		kmstest_set_vt_graphics_mode();
> +
> +		igt_display_require_retry(&data.display, data.fd, 2, 2);
>   		igt_require(data.display.is_atomic);
> -		igt_display_require_output(&data.display);
>   
>   		igt_amd_require_dsc(&data.display, data.fd);
> -		kmstest_set_vt_graphics_mode();
>   	}
>   
>   	igt_describe("Forces DSC on/off & ensures it is reset properly");
> diff --git a/tests/amdgpu/amd_freesync_video_mode.c b/tests/amdgpu/amd_freesync_video_mode.c
> index 7716598dc..226ea7d37 100644
> --- a/tests/amdgpu/amd_freesync_video_mode.c
> +++ b/tests/amdgpu/amd_freesync_video_mode.c
> @@ -871,9 +871,8 @@ igt_main {
>   			igt_skip("Not an amdgpu driver.\n");
>   		}
>   		kmstest_set_vt_graphics_mode();
> -		igt_display_require(&data.display, data.drm_fd);
> +		igt_display_require_retry(&data.display, data.drm_fd, 2, 2);
>   		igt_require(data.display.is_atomic);
> -		igt_display_require_output(&data.display);
>   	}
>   
>   	/* Expectation: Modeset happens instantaneously without blanking */
> diff --git a/tests/amdgpu/amd_hotplug.c b/tests/amdgpu/amd_hotplug.c
> index c13bf49d3..698446826 100644
> --- a/tests/amdgpu/amd_hotplug.c
> +++ b/tests/amdgpu/amd_hotplug.c
> @@ -165,9 +165,8 @@ igt_main
>   
>   		kmstest_set_vt_graphics_mode();
>   
> -		igt_display_require(&data.display, data.fd);
> +		igt_display_require_retry(&data.display, data.fd, 2, 2);
>   		igt_require(data.display.is_atomic);
> -		igt_display_require_output(&data.display);
>   
>   		igt_amd_require_hpd(&data.display, data.fd);
>   	}
> diff --git a/tests/amdgpu/amd_ilr.c b/tests/amdgpu/amd_ilr.c
> index 50ca93a14..e332ce57d 100644
> --- a/tests/amdgpu/amd_ilr.c
> +++ b/tests/amdgpu/amd_ilr.c
> @@ -264,9 +264,8 @@ igt_main
>   
>   		kmstest_set_vt_graphics_mode();
>   
> -		igt_display_require(&data.display, data.drm_fd);
> +		igt_display_require_retry(&data.display, data.drm_fd, 2, 2);
>   		igt_require(data.display.is_atomic);
> -		igt_display_require_output(&data.display);
>   	}
>   
>   	igt_describe("Test ILR by trying training link rate at all supported ILRs");
> diff --git a/tests/amdgpu/amd_link_settings.c b/tests/amdgpu/amd_link_settings.c
> index 6a7e8cc53..41bb5ac45 100644
> --- a/tests/amdgpu/amd_link_settings.c
> +++ b/tests/amdgpu/amd_link_settings.c
> @@ -237,9 +237,8 @@ igt_main
>   
>   		kmstest_set_vt_graphics_mode();
>   
> -		igt_display_require(&data.display, data.drm_fd);
> +		igt_display_require_retry(&data.display, data.drm_fd, 2, 2);
>   		igt_require(data.display.is_atomic);
> -		igt_display_require_output(&data.display);
>   	}
>   
>   	igt_describe("Retrieves all link settings configurations and retrains "
> diff --git a/tests/amdgpu/amd_max_bpc.c b/tests/amdgpu/amd_max_bpc.c
> index effe830a2..d67abf0ad 100644
> --- a/tests/amdgpu/amd_max_bpc.c
> +++ b/tests/amdgpu/amd_max_bpc.c
> @@ -132,9 +132,8 @@ igt_main
>   
>   		kmstest_set_vt_graphics_mode();
>   
> -		igt_display_require(&data.display, data.fd);
> +		igt_display_require_retry(&data.display, data.fd, 2, 2);
>   		igt_require(data.display.is_atomic);
> -		igt_display_require_output(&data.display);
>   	}
>   
>   	igt_describe("Tests overly high 'max bpc' should not affect 4K modes on HDMI");
> diff --git a/tests/amdgpu/amd_mem_leak.c b/tests/amdgpu/amd_mem_leak.c
> index e4a4b5c47..52b28a57f 100644
> --- a/tests/amdgpu/amd_mem_leak.c
> +++ b/tests/amdgpu/amd_mem_leak.c
> @@ -219,9 +219,8 @@ igt_main
>   
>   		kmstest_set_vt_graphics_mode();
>   
> -		igt_display_require(&data.display, data.fd);
> +		igt_display_require_retry(&data.display, data.fd, 5, 2);
>   		igt_require(data.display.is_atomic);
> -		igt_display_require_output(&data.display);
>   	}
>   
>   	igt_describe("Test memory leaks after resume from suspend");
> diff --git a/tests/amdgpu/amd_mode_switch.c b/tests/amdgpu/amd_mode_switch.c
> index 270b1b9f6..e7ac81800 100644
> --- a/tests/amdgpu/amd_mode_switch.c
> +++ b/tests/amdgpu/amd_mode_switch.c
> @@ -191,9 +191,8 @@ igt_main
>   
>   		kmstest_set_vt_graphics_mode();
>   
> -		igt_display_require(&data.display, data.fd);
> -		igt_require(&data.display.is_atomic);
> -		igt_display_require_output(&data.display);
> +		igt_display_require_retry(&data.display, data.fd, 2, 2);
> +		igt_require(data.display.is_atomic);
>   	}
>   
>   	for (i = 0; i < MAX_PIPES; i++) {
> diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c
> index ee7de5778..394fdf31f 100644
> --- a/tests/amdgpu/amd_plane.c
> +++ b/tests/amdgpu/amd_plane.c
> @@ -910,9 +910,8 @@ igt_main
>   
>   		kmstest_set_vt_graphics_mode();
>   
> -		igt_display_require(&data.display, data.fd);
> +		igt_display_require_retry(&data.display, data.fd, 2, 2);
>   		igt_require(data.display.is_atomic);
> -		igt_display_require_output(&data.display);
>   	}
>   
>   	igt_describe("MPO with 4K planes");
> diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c
> index 9da161a09..d1c332924 100644
> --- a/tests/amdgpu/amd_psr.c
> +++ b/tests/amdgpu/amd_psr.c
> @@ -715,9 +715,8 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
>   
>   		kmstest_set_vt_graphics_mode();
>   
> -		igt_display_require(&data.display, data.fd);
> -		igt_require(&data.display.is_atomic);
> -		igt_display_require_output(&data.display);
> +		igt_display_require_retry(&data.display, data.fd, 2, 2);
> +		igt_require(data.display.is_atomic);
>   
>   		/* check if visual confirm option available */
>   		if (opt.visual_confirm) {
> diff --git a/tests/amdgpu/amd_vrr_range.c b/tests/amdgpu/amd_vrr_range.c
> index a77895622..223f99c62 100644
> --- a/tests/amdgpu/amd_vrr_range.c
> +++ b/tests/amdgpu/amd_vrr_range.c
> @@ -388,9 +388,8 @@ igt_main
>   
>   		kmstest_set_vt_graphics_mode();
>   
> -		igt_display_require(&data.display, data.fd);
> +		igt_display_require_retry(&data.display, data.fd, 2, 2);
>   		igt_require(data.display.is_atomic);
> -		igt_display_require_output(&data.display);
>   	}
>   
>   	igt_describe("Hard coded Freesync EDID parsing");

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

* [igt-dev] [PATCH 1/2] [i-g-t] lib/igt_amd: Re-try display_require if require output is not valid
@ 2023-11-22 17:20 Hersen Wu
  2023-11-22 17:20 ` [igt-dev] [PATCH 2/2] [i-g-t] tests/amdgpu: Fix display tests be skipped intermittently Hersen Wu
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Hersen Wu @ 2023-11-22 17:20 UTC (permalink / raw)
  To: igt-dev, rodrigo.siqueira, aurabindo.pillai, alex.hung,
	hamza.mahfooz, sunpeng.li
  Cc: Hersen Wu, markyacoub

Add igt_amd_display_require_retry to re-try
igt_display_require.

At entry of each test, display setup is done by
igt_display_require and igt_display_require_output.
igt display require output may not be valid yet,
this will let test be skipped. By re-try
igt_display_require, require output could be valid.
This will fix test case intermittent skip issue.

Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
---
 lib/igt_amd.c | 19 +++++++++++++++++++
 lib/igt_amd.h | 16 ++++++++++++++++
 2 files changed, 35 insertions(+)

diff --git a/lib/igt_amd.c b/lib/igt_amd.c
index 247a42f37..c068f07e7 100644
--- a/lib/igt_amd.c
+++ b/lib/igt_amd.c
@@ -1298,3 +1298,22 @@ bool igt_amd_set_visual_confirm(int drm_fd, enum amdgpu_debug_visual_confirm opt
 
 	return res;
 }
+
+/**
+ * is_igt_amd_display_require_output_valid:
+ * @display: A pointer to an #igt_display_t structure
+ *
+ * Checks whether there's a valid @pipe/@output combination for the given @display
+ * Returns: true if a valid combination of @pipe and @output is found, or false
+ * if not found
+ */
+bool is_igt_amd_display_require_output_valid(igt_display_t *display)
+{
+	enum pipe pipe;
+	igt_output_t *output;
+
+	for_each_pipe_with_valid_output(display, pipe, output)
+		return true;
+
+	return false;
+}
diff --git a/lib/igt_amd.h b/lib/igt_amd.h
index 1e66348ad..529b3beba 100644
--- a/lib/igt_amd.h
+++ b/lib/igt_amd.h
@@ -202,4 +202,20 @@ bool igt_amd_set_visual_confirm(int drm_fd, enum amdgpu_debug_visual_confirm opt
 void igt_amd_get_mall_status(int drm_fd, bool *supported, bool *enabled);
 void igt_amd_get_subvp_status(int drm_fd, bool *supported, bool *enabled);
 bool igt_amd_output_has_odm_combine_segments(int drm_fd, char *connector_name);
+
+bool is_igt_amd_display_require_output_valid(igt_display_t *display);
+
+#define igt_amd_display_require_retry(display, fd, delay, retry_times) \
+	for (int j__ = 0; j__ < retry_times + 1; j__++) { \
+		igt_display_require(display, fd); \
+		if (is_igt_amd_display_require_output_valid(display)) { \
+			if (j__ > 0) \
+				igt_info("retry times:%d delay:%d seconds\n", j__, delay * j__); \
+			break; \
+		} \
+		if (j__ == retry_times) \
+			igt_skip("No valid crtc/connector combinations found.\n"); \
+		else \
+			sleep(delay); \
+	}
 #endif /* IGT_AMD_H */
-- 
2.25.1

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

* [igt-dev] [PATCH 2/2] [i-g-t] tests/amdgpu: Fix display tests be skipped intermittently
  2023-11-22 17:20 [igt-dev] [PATCH 1/2] [i-g-t] lib/igt_amd: Re-try display_require if require output is not valid Hersen Wu
@ 2023-11-22 17:20 ` Hersen Wu
  2023-11-22 21:23 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [1/2,i-g-t] lib/igt_amd: Re-try display_require if require output is not valid Patchwork
  2023-11-22 22:37 ` [igt-dev] ✓ CI.xeBAT: success " Patchwork
  2 siblings, 0 replies; 8+ messages in thread
From: Hersen Wu @ 2023-11-22 17:20 UTC (permalink / raw)
  To: igt-dev, rodrigo.siqueira, aurabindo.pillai, alex.hung,
	hamza.mahfooz, sunpeng.li
  Cc: Hersen Wu, markyacoub

Use igt_amd_display_require_retry to re-try igt_display_require
if igt dislay require output is not valid. If previous test
run suspend-resume test, current test igt display require
output may not be valid after initial igt_display_require.
This will cause current test be skipped. By re-try
igt_display_require, igt display require output could be
valid.

Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
---
 tests/amdgpu/amd_abm.c                 | 4 +++-
 tests/amdgpu/amd_assr.c                | 4 ++--
 tests/amdgpu/amd_bypass.c              | 3 +--
 tests/amdgpu/amd_color.c               | 4 ++--
 tests/amdgpu/amd_dp_dsc.c              | 6 +++---
 tests/amdgpu/amd_freesync_video_mode.c | 4 ++--
 tests/amdgpu/amd_hotplug.c             | 3 +--
 tests/amdgpu/amd_ilr.c                 | 3 +--
 tests/amdgpu/amd_link_settings.c       | 3 +--
 tests/amdgpu/amd_mall.c                | 3 +--
 tests/amdgpu/amd_max_bpc.c             | 4 ++--
 tests/amdgpu/amd_mem_leak.c            | 3 +--
 tests/amdgpu/amd_mode_switch.c         | 6 +++---
 tests/amdgpu/amd_odm.c                 | 6 ++----
 tests/amdgpu/amd_plane.c               | 4 ++--
 tests/amdgpu/amd_psr.c                 | 5 ++---
 tests/amdgpu/amd_subvp.c               | 5 ++---
 tests/amdgpu/amd_vrr_range.c           | 3 +--
 18 files changed, 32 insertions(+), 41 deletions(-)

diff --git a/tests/amdgpu/amd_abm.c b/tests/amdgpu/amd_abm.c
index 082da7ed6..0036a83c4 100644
--- a/tests/amdgpu/amd_abm.c
+++ b/tests/amdgpu/amd_abm.c
@@ -23,6 +23,7 @@
 #include "igt.h"
 #include "drmtest.h"
 #include "igt_kms.h"
+#include "igt_amd.h"
 #include <limits.h>
 #include <errno.h>
 #include <stdbool.h>
@@ -360,7 +361,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.drm_fd);
+		igt_amd_display_require_retry(&data.display, data.drm_fd, 2, 2);
+		igt_require(data.display.is_atomic);
 
 		test_init(&data);
 	}
diff --git a/tests/amdgpu/amd_assr.c b/tests/amdgpu/amd_assr.c
index fc2367f99..008cb54b2 100644
--- a/tests/amdgpu/amd_assr.c
+++ b/tests/amdgpu/amd_assr.c
@@ -22,6 +22,7 @@
 
 #include "igt.h"
 #include "igt_sysfs.h"
+#include "igt_amd.h"
 #include <dirent.h>
 #include <fcntl.h>
 #include <limits.h>
@@ -281,9 +282,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_amd_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Test ASSR on connected DP/eDP links");
diff --git a/tests/amdgpu/amd_bypass.c b/tests/amdgpu/amd_bypass.c
index d192a30ea..0dd11ac93 100644
--- a/tests/amdgpu/amd_bypass.c
+++ b/tests/amdgpu/amd_bypass.c
@@ -387,9 +387,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.drm_fd);
+		igt_amd_display_require_retry(&data.display, data.drm_fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_subtest("8bpc-bypass-mode")
diff --git a/tests/amdgpu/amd_color.c b/tests/amdgpu/amd_color.c
index 4a98df3be..1a3f238dc 100644
--- a/tests/amdgpu/amd_color.c
+++ b/tests/amdgpu/amd_color.c
@@ -21,6 +21,7 @@
  */
 
 #include "igt.h"
+#include "igt_amd.h"
 
 IGT_TEST_DESCRIPTION("Test Color Features for DRM conformance");
 
@@ -406,9 +407,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_amd_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Tests correctness of linear degamma on CRTC");
diff --git a/tests/amdgpu/amd_dp_dsc.c b/tests/amdgpu/amd_dp_dsc.c
index e782ce84a..b4acdf4fb 100644
--- a/tests/amdgpu/amd_dp_dsc.c
+++ b/tests/amdgpu/amd_dp_dsc.c
@@ -526,12 +526,12 @@ igt_main
 	{
 		data.fd = drm_open_driver_master(DRIVER_ANY);
 
-		igt_display_require(&data.display, data.fd);
+		kmstest_set_vt_graphics_mode();
+
+		igt_amd_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 
 		igt_amd_require_dsc(&data.display, data.fd);
-		kmstest_set_vt_graphics_mode();
 	}
 
 	igt_describe("Forces DSC on/off & ensures it is reset properly");
diff --git a/tests/amdgpu/amd_freesync_video_mode.c b/tests/amdgpu/amd_freesync_video_mode.c
index 7716598dc..932153354 100644
--- a/tests/amdgpu/amd_freesync_video_mode.c
+++ b/tests/amdgpu/amd_freesync_video_mode.c
@@ -21,6 +21,7 @@
  */
 
 #include "igt.h"
+#include "igt_amd.h"
 #include "sw_sync.h"
 #include <fcntl.h>
 #include <signal.h>
@@ -871,9 +872,8 @@ igt_main {
 			igt_skip("Not an amdgpu driver.\n");
 		}
 		kmstest_set_vt_graphics_mode();
-		igt_display_require(&data.display, data.drm_fd);
+		igt_amd_display_require_retry(&data.display, data.drm_fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	/* Expectation: Modeset happens instantaneously without blanking */
diff --git a/tests/amdgpu/amd_hotplug.c b/tests/amdgpu/amd_hotplug.c
index c13bf49d3..6f44ad0e9 100644
--- a/tests/amdgpu/amd_hotplug.c
+++ b/tests/amdgpu/amd_hotplug.c
@@ -165,9 +165,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_amd_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 
 		igt_amd_require_hpd(&data.display, data.fd);
 	}
diff --git a/tests/amdgpu/amd_ilr.c b/tests/amdgpu/amd_ilr.c
index 50ca93a14..6249c1dce 100644
--- a/tests/amdgpu/amd_ilr.c
+++ b/tests/amdgpu/amd_ilr.c
@@ -264,9 +264,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.drm_fd);
+		igt_amd_display_require_retry(&data.display, data.drm_fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Test ILR by trying training link rate at all supported ILRs");
diff --git a/tests/amdgpu/amd_link_settings.c b/tests/amdgpu/amd_link_settings.c
index 6a7e8cc53..8844e7a1a 100644
--- a/tests/amdgpu/amd_link_settings.c
+++ b/tests/amdgpu/amd_link_settings.c
@@ -237,9 +237,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.drm_fd);
+		igt_amd_display_require_retry(&data.display, data.drm_fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Retrieves all link settings configurations and retrains "
diff --git a/tests/amdgpu/amd_mall.c b/tests/amdgpu/amd_mall.c
index c21fcc27f..6a95f1f11 100644
--- a/tests/amdgpu/amd_mall.c
+++ b/tests/amdgpu/amd_mall.c
@@ -142,9 +142,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_amd_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Tests whether display scanout is triggered from MALL cache instead "
diff --git a/tests/amdgpu/amd_max_bpc.c b/tests/amdgpu/amd_max_bpc.c
index effe830a2..1e3bb1f3c 100644
--- a/tests/amdgpu/amd_max_bpc.c
+++ b/tests/amdgpu/amd_max_bpc.c
@@ -21,6 +21,7 @@
  */
 
 #include "igt.h"
+#include "igt_amd.h"
 #include <fcntl.h>
 
 IGT_TEST_DESCRIPTION("Test 4K HDMI regression if max bpc is too high");
@@ -132,9 +133,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_amd_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Tests overly high 'max bpc' should not affect 4K modes on HDMI");
diff --git a/tests/amdgpu/amd_mem_leak.c b/tests/amdgpu/amd_mem_leak.c
index e4a4b5c47..bb3ae420e 100644
--- a/tests/amdgpu/amd_mem_leak.c
+++ b/tests/amdgpu/amd_mem_leak.c
@@ -219,9 +219,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_amd_display_require_retry(&data.display, data.fd, 5, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Test memory leaks after resume from suspend");
diff --git a/tests/amdgpu/amd_mode_switch.c b/tests/amdgpu/amd_mode_switch.c
index 270b1b9f6..445c00be7 100644
--- a/tests/amdgpu/amd_mode_switch.c
+++ b/tests/amdgpu/amd_mode_switch.c
@@ -21,6 +21,7 @@
  */
 
 #include "igt.h"
+#include "igt_amd.h"
 #include <xf86drmMode.h>
 
 #define MAX_PIPES 6
@@ -191,9 +192,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
-		igt_require(&data.display.is_atomic);
-		igt_display_require_output(&data.display);
+		igt_amd_display_require_retry(&data.display, data.fd, 2, 2);
+		igt_require(data.display.is_atomic);
 	}
 
 	for (i = 0; i < MAX_PIPES; i++) {
diff --git a/tests/amdgpu/amd_odm.c b/tests/amdgpu/amd_odm.c
index 839f2de3f..db6aaec58 100644
--- a/tests/amdgpu/amd_odm.c
+++ b/tests/amdgpu/amd_odm.c
@@ -172,10 +172,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
-		igt_require(&data.display.is_atomic);
-		igt_display_require_output(&data.display);
-
+		igt_amd_display_require_retry(&data.display, data.fd, 2, 2);
+		igt_require(data.display.is_atomic);
 	}
 
 	igt_subtest_f("odm-combine-2-to-1-%s", test_mode[TEST_MODE_IDX_ODMC_2_TO_1].name)
diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c
index ee7de5778..e152d307e 100644
--- a/tests/amdgpu/amd_plane.c
+++ b/tests/amdgpu/amd_plane.c
@@ -21,6 +21,7 @@
  */
 
 #include "igt.h"
+#include "igt_amd.h"
 #include "libdrm/amdgpu.h"
 #include "libdrm/amdgpu_drm.h"
 
@@ -910,9 +911,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_amd_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("MPO with 4K planes");
diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c
index 9da161a09..7b4f3f629 100644
--- a/tests/amdgpu/amd_psr.c
+++ b/tests/amdgpu/amd_psr.c
@@ -715,9 +715,8 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
-		igt_require(&data.display.is_atomic);
-		igt_display_require_output(&data.display);
+		igt_amd_display_require_retry(&data.display, data.fd, 2, 2);
+		igt_require(data.display.is_atomic);
 
 		/* check if visual confirm option available */
 		if (opt.visual_confirm) {
diff --git a/tests/amdgpu/amd_subvp.c b/tests/amdgpu/amd_subvp.c
index f9915784b..ce90d0493 100644
--- a/tests/amdgpu/amd_subvp.c
+++ b/tests/amdgpu/amd_subvp.c
@@ -163,11 +163,10 @@ igt_main
 	igt_fixture
 	{
 		data.fd = drm_open_driver_master(DRIVER_AMDGPU);
-		igt_display_require(&data.display, data.fd);
-		igt_display_require_output(&data.display);
-		igt_require(data.display.is_atomic);
 
 		kmstest_set_vt_graphics_mode();
+		igt_amd_display_require_retry(&data.display, data.fd, 2, 2);
+		igt_require(data.display.is_atomic);
 	}
 
 	igt_describe("Tests whether system enables sub-viewport when a specific mode is committed");
diff --git a/tests/amdgpu/amd_vrr_range.c b/tests/amdgpu/amd_vrr_range.c
index a77895622..a394a6e50 100644
--- a/tests/amdgpu/amd_vrr_range.c
+++ b/tests/amdgpu/amd_vrr_range.c
@@ -388,9 +388,8 @@ igt_main
 
 		kmstest_set_vt_graphics_mode();
 
-		igt_display_require(&data.display, data.fd);
+		igt_amd_display_require_retry(&data.display, data.fd, 2, 2);
 		igt_require(data.display.is_atomic);
-		igt_display_require_output(&data.display);
 	}
 
 	igt_describe("Hard coded Freesync EDID parsing");
-- 
2.25.1

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

* [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [1/2,i-g-t] lib/igt_amd: Re-try display_require if require output is not valid
  2023-11-22 17:20 [igt-dev] [PATCH 1/2] [i-g-t] lib/igt_amd: Re-try display_require if require output is not valid Hersen Wu
  2023-11-22 17:20 ` [igt-dev] [PATCH 2/2] [i-g-t] tests/amdgpu: Fix display tests be skipped intermittently Hersen Wu
@ 2023-11-22 21:23 ` Patchwork
  2023-11-22 22:37 ` [igt-dev] ✓ CI.xeBAT: success " Patchwork
  2 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2023-11-22 21:23 UTC (permalink / raw)
  To: Hersen Wu; +Cc: igt-dev

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

== Series Details ==

Series: series starting with [1/2,i-g-t] lib/igt_amd: Re-try display_require if require output is not valid
URL   : https://patchwork.freedesktop.org/series/126778/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_13911 -> IGTPW_10247
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_10247 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_10247, please notify your bug team (lgci.bug.filing@intel.com) to allow them
  to document this new failure mode, which will reduce false positives in CI.

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

Participating hosts (38 -> 38)
------------------------------

  Additional (1): bat-dg2-9 
  Missing    (1): fi-snb-2520m 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_10247:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live@gt_lrc:
    - fi-tgl-1115g4:      [PASS][1] -> [DMESG-FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13911/fi-tgl-1115g4/igt@i915_selftest@live@gt_lrc.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/fi-tgl-1115g4/igt@i915_selftest@live@gt_lrc.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_mmap@basic:
    - bat-dg2-9:          NOTRUN -> [SKIP][3] ([i915#4083])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@gem_mmap@basic.html

  * igt@gem_mmap_gtt@basic:
    - bat-dg2-9:          NOTRUN -> [SKIP][4] ([i915#4077]) +2 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@gem_mmap_gtt@basic.html

  * igt@gem_render_tiled_blits@basic:
    - bat-dg2-9:          NOTRUN -> [SKIP][5] ([i915#4079]) +1 other test skip
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@gem_render_tiled_blits@basic.html

  * igt@i915_pm_rps@basic-api:
    - bat-dg2-9:          NOTRUN -> [SKIP][6] ([i915#6621])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@i915_pm_rps@basic-api.html

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - bat-dg2-9:          NOTRUN -> [SKIP][7] ([i915#5190])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-dg2-9:          NOTRUN -> [SKIP][8] ([i915#4215] / [i915#5190])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_addfb_basic@framebuffer-vs-set-tiling:
    - bat-dg2-9:          NOTRUN -> [SKIP][9] ([i915#4212]) +6 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html

  * igt@kms_addfb_basic@tile-pitch-mismatch:
    - bat-dg2-9:          NOTRUN -> [SKIP][10] ([i915#4212] / [i915#5608])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@kms_addfb_basic@tile-pitch-mismatch.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-dg2-9:          NOTRUN -> [SKIP][11] ([i915#4103] / [i915#4213] / [i915#5608]) +1 other test skip
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-dg2-9:          NOTRUN -> [SKIP][12] ([fdo#109285])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - bat-dg2-9:          NOTRUN -> [SKIP][13] ([i915#5274])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-dg2-9:          NOTRUN -> [SKIP][14] ([i915#3555] / [i915#4098])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-flip:
    - bat-dg2-9:          NOTRUN -> [SKIP][15] ([i915#3708])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-fence-mmap:
    - bat-dg2-9:          NOTRUN -> [SKIP][16] ([i915#3708] / [i915#4077]) +1 other test skip
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-write:
    - bat-dg2-9:          NOTRUN -> [SKIP][17] ([i915#3291] / [i915#3708]) +2 other tests skip
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-dg2-9/igt@prime_vgem@basic-write.html

  
#### Possible fixes ####

  * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1:
    - bat-rplp-1:         [ABORT][18] ([i915#8668]) -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13911/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1.html

  * {igt@kms_psr@psr_cursor_plane_move@edp-1}:
    - bat-jsl-1:          [SKIP][20] ([i915#9648]) -> [PASS][21] +2 other tests pass
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13911/bat-jsl-1/igt@kms_psr@psr_cursor_plane_move@edp-1.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/bat-jsl-1/igt@kms_psr@psr_cursor_plane_move@edp-1.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5608]: https://gitlab.freedesktop.org/drm/intel/issues/5608
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668
  [i915#9648]: https://gitlab.freedesktop.org/drm/intel/issues/9648
  [i915#9673]: https://gitlab.freedesktop.org/drm/intel/issues/9673


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7597 -> IGTPW_10247

  CI-20190529: 20190529
  CI_DRM_13911: 5429d55de723544dfc0630cf39d96392052b27a1 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_10247: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/index.html
  IGT_7597: 380983dbd9bb2f7eea5e917e8fed0569bfe8cf9c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git


Testlist changes
----------------

-igt@xe_waitfence@engine

== Logs ==

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

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

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

* [igt-dev] ✓ CI.xeBAT: success for series starting with [1/2,i-g-t] lib/igt_amd: Re-try display_require if require output is not valid
  2023-11-22 17:20 [igt-dev] [PATCH 1/2] [i-g-t] lib/igt_amd: Re-try display_require if require output is not valid Hersen Wu
  2023-11-22 17:20 ` [igt-dev] [PATCH 2/2] [i-g-t] tests/amdgpu: Fix display tests be skipped intermittently Hersen Wu
  2023-11-22 21:23 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [1/2,i-g-t] lib/igt_amd: Re-try display_require if require output is not valid Patchwork
@ 2023-11-22 22:37 ` Patchwork
  2 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2023-11-22 22:37 UTC (permalink / raw)
  To: Hersen Wu; +Cc: igt-dev

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

== Series Details ==

Series: series starting with [1/2,i-g-t] lib/igt_amd: Re-try display_require if require output is not valid
URL   : https://patchwork.freedesktop.org/series/126778/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_7597_BAT -> XEIGTPW_10247_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (4 -> 4)
------------------------------

  No changes in participating hosts

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1:
    - bat-adlp-7:         [PASS][1] -> [FAIL][2] ([Intel XE#480]) +1 other test fail
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7597/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_10247/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1.html

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


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

  * IGT: IGT_7597 -> IGTPW_10247

  IGTPW_10247: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10247/index.html
  IGT_7597: 380983dbd9bb2f7eea5e917e8fed0569bfe8cf9c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-516-59f2e73469cace9c78aab7506284ae446d57b8bc: 59f2e73469cace9c78aab7506284ae446d57b8bc

== Logs ==

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

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

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

end of thread, other threads:[~2023-11-22 22:37 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-22 17:20 [igt-dev] [PATCH 1/2] [i-g-t] lib/igt_amd: Re-try display_require if require output is not valid Hersen Wu
2023-11-22 17:20 ` [igt-dev] [PATCH 2/2] [i-g-t] tests/amdgpu: Fix display tests be skipped intermittently Hersen Wu
2023-11-22 21:23 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [1/2,i-g-t] lib/igt_amd: Re-try display_require if require output is not valid Patchwork
2023-11-22 22:37 ` [igt-dev] ✓ CI.xeBAT: success " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2023-08-11 22:12 [igt-dev] [PATCH 1/2] [i-g-t] lib/igt_kms: " Hersen Wu
2023-08-11 22:12 ` [igt-dev] [PATCH 2/2] [i-g-t] tests/amdgpu: Fix display tests be skipped intermittently Hersen Wu
2023-08-11 22:38   ` Alex Hung
2023-08-10 14:52 [igt-dev] [PATCH 1/2] [i-g-t] lib/igt_kms: Re-try display_require if require output is not valid Hersen Wu
2023-08-10 14:52 ` [igt-dev] [PATCH 2/2] [i-g-t] tests/amdgpu: Fix display tests be skipped intermittently Hersen Wu
2023-08-11 15:15   ` Wu, Hersen

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