From e824c355829dd1e85c8014a0f6938a12c27b58dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ma=C3=ADra=20Canal?= <mcanal@igalia.com>
Date: Thu, 4 May 2023 11:54:38 -0300
Subject: [PATCH] tests/kms_flip: Check if is Intel device before doing all the
 setup
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The tests bo-too-big and bo-too-big-interruptible should only run on
Intel devices. Instead of checking this condition after doing all the
setup, check this condition in the beginning of the test.

Checking if is an Intel device in the beginning of the test will also
avoid the following error, which occurs in non-Intel devices when
running the test bo-too-big:

(kms_flip:1641) igt_kms-CRITICAL: Test assertion failure function kmstest_set_connector_dpms, file ../lib/igt_kms.c:1960:
(kms_flip:1641) igt_kms-CRITICAL: Failed assertion: found_it
(kms_flip:1641) igt_kms-CRITICAL: Last errno: 9, Bad file descriptor
(kms_flip:1641) igt_kms-CRITICAL: DPMS property not found on 36
Stack trace:
    #0 ../lib/igt_core.c:1963 __igt_fail_assert()
    #1 ../lib/igt_kms.c:1960 kmstest_set_connector_dpms()
    #2 ../lib/igt_core.c:2831 igt_atexit_handler()
    #3 /usr/src/debug/glibc-2.36-9.fc37.x86_64/stdlib/exit.c:114 __run_exit_handlers()
    #4 /usr/src/debug/glibc-2.36-9.fc37.x86_64/stdlib/fmtmsg.c:292 internal_addseverity()
    #5 ../lib/igt_core.c:2297 igt_exit()
    #6 [main+0x32]
    #7 ../sysdeps/nptl/libc_start_call_main.h:74 __libc_start_call_main()
    #8 ../csu/libc-start.c:128 __libc_start_main@@GLIBC_2.34()
    #9 [_start+0x25]

Signed-off-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_flip.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index e4c98b8ec..ae94b15e2 100755
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -1354,7 +1354,6 @@ restart:
 	/* 256 MB is usually the maximum mappable aperture,
 	 * (make it 4x times that to ensure failure) */
 	if (o->flags & TEST_BO_TOOBIG) {
-		igt_skip_on(!is_intel_device(drm_fd));
 		bo_size = 4*gem_mappable_aperture_size(drm_fd);
 
 		if (is_i915_device(drm_fd))
@@ -1566,6 +1565,9 @@ static void run_test(int duration, int flags)
 	if (is_xe_device(drm_fd) && flags & TEST_FENCE_STRESS)
 		return;
 
+	if (flags & TEST_BO_TOOBIG && !is_intel_device(drm_fd))
+		return;
+
 	igt_require((flags & TEST_HANG) == 0 ||
 		    (is_i915_device(drm_fd) && !is_wedged(drm_fd)));
 	igt_require(!(flags & TEST_FENCE_STRESS) ||
@@ -1639,6 +1641,9 @@ static void run_pair(int duration, int flags)
 	if (is_xe_device(drm_fd) && flags & TEST_FENCE_STRESS)
 		return;
 
+	if (flags & TEST_BO_TOOBIG && !is_intel_device(drm_fd))
+		return;
+
 	igt_require((flags & TEST_HANG) == 0 ||
 		    (is_i915_device(drm_fd) && !is_wedged(drm_fd)));
 	igt_require(!(flags & TEST_FENCE_STRESS) ||
-- 
GitLab