[igt-dev] [PATCH i-g-t] tests/kms_flip: Check if is Intel device before doing all the setup

Modem, Bhanuprakash bhanuprakash.modem at intel.com
Thu May 4 05:26:22 UTC 2023



On Thu-04-05-2023 12:29 am, Maíra Canal wrote:
> 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 at igalia.com>
> ---
>   tests/kms_flip.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/kms_flip.c b/tests/kms_flip.c
> index e4c98b8e..ed5615e8 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))
> @@ -1571,6 +1570,9 @@ static void run_test(int duration, int flags)
>   	igt_require(!(flags & TEST_FENCE_STRESS) ||
>   		    (is_i915_device(drm_fd) && gem_available_fences(drm_fd)));
>   
> +	if (flags & TEST_BO_TOOBIG)
> +		igt_require(is_intel_device(drm_fd));

As kms_flip is using dynamic subtests, no need to trigger the skip 
(igt_subtest_with_dynamic will call igt_skip if no dynamic subtests 
executed).

So, just return if it is not an intel device.

+       if (flags & TEST_BO_TOOBIG && !is_intel_device(drm_fd))
+               return;

Also, do we need the same change for 2x tests too?

- Bhanu

> +
>   	resources = drmModeGetResources(drm_fd);
>   	igt_require(resources);
>   


More information about the igt-dev mailing list