Re: [PATCH i-g-t v1 05/16] tests/kms_frontbuffer_tracking: remove TEST_MODE_ITER_BEGIN() from `suspend`

"Thasleem, Mohammed" <[email protected]> Tue, 28 Jul 2026 13:51:40 +0530
Newsgroups org.freedesktop.lists.igt-dev
Message-ID <[email protected]>
On 13-07-2026 02:25 pm, Michał Grzelak wrote:
> igt@kms_frontbuffer_tracking uses TEST_MODE_ITER_BEGIN(t) which consists
> of nested for loops. However many loops can be omitted due to continue
> statements. This obfuscates following the execution of any given
> codepath. Replace TEST_MODE_ITER_BEGIN(t) for fliptrack tests with macro
> definition and remove loops that are skipped.
>
> Signed-off-by: Michał Grzelak <[email protected]>
> ---
>   tests/intel/kms_frontbuffer_tracking.c | 22 +++++++++++++++-------
>   1 file changed, 15 insertions(+), 7 deletions(-)
>
> diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c
> index f619f77e72..f5c2a81434 100644
> --- a/tests/intel/kms_frontbuffer_tracking.c
> +++ b/tests/intel/kms_frontbuffer_tracking.c
> @@ -4655,12 +4655,20 @@ int igt_main_args("", long_options, help_str, opt_handler, NULL)
>   		}
>   	TEST_MODE_ITER_END
>   
> -	TEST_MODE_ITER_BEGIN(t)
> -		if (t.pipes != PIPE_SINGLE ||
> -		    t.screen != SCREEN_PRIM ||
> -		    t.plane != PLANE_PRI ||
> -		    t.fbs != FBS_INDIVIDUAL ||
> -		    t.method != IGT_DRAW_BLT)
> +	t.format = FORMAT_DEFAULT;
> +	t.flip = FLIP_PAGEFLIP;
> +	t.tiling = opt.tiling;
> +	t.pipes = PIPE_SINGLE;
> +	t.screen = SCREEN_PRIM;
> +	t.plane = PLANE_PRI;
> +	t.fbs = FBS_INDIVIDUAL;
> +	t.method = IGT_DRAW_BLT;
> +
> +	for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) {
NIT:  blank line not needed
> +
> +		if (!opt.show_hidden && t.feature == FEATURE_NONE)
> +			continue;
> +		if ((t.feature & FEATURE_PSR) && (t.feature & FEATURE_DRRS))
>   			continue;
>   
>   		igt_subtest_f("%s-modesetfrombusy", feature_str(t.feature))
> @@ -4721,7 +4729,7 @@ int igt_main_args("", long_options, help_str, opt_handler, NULL)
>   			igt_require(igt_draw_supports_method(drm.fd, t.method));
>   			suspend_subtest(&t);
>   		}
> -	TEST_MODE_ITER_END
> +	}
>   
>   	t.pipes = PIPE_SINGLE;
>   	t.screen = SCREEN_PRIM;