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;