Re: [PATCH i-g-t v1 08/16] tests/kms_psr: limit #outputs tested during suspend
"Thasleem, Mohammed" <[email protected]> Tue, 28 Jul 2026 14:52:53 +0530
| Newsgroups | org.freedesktop.lists.igt-dev |
|---|---|
| Message-ID | <[email protected]> |
On 13-07-2026 02:25 pm, Michał Grzelak wrote: > We are iterating through each output while testing suspend. This results > in extended execution time. In turn this leads to hitting CI enforced > timeout. > > By default limit number of tested outputs to 2. Test each connected > output when passing command-line parameter. > > Signed-off-by: Michał Grzelak<[email protected]> > --- > tests/intel/kms_psr.c | 27 ++++++++++++++++++++++++++- > 1 file changed, 26 insertions(+), 1 deletion(-) > > diff --git a/tests/intel/kms_psr.c b/tests/intel/kms_psr.c > index 7b02dd2072..c3bd7d9f7f 100644 > --- a/tests/intel/kms_psr.c > +++ b/tests/intel/kms_psr.c > @@ -275,6 +275,8 @@ > * @plane-move: Move plane position > */ > > +#define OUTPUT_LIMIT 2 -->Update something like: SUSPEND_OUTPUT_LIMIT > + > enum operations { > PAGE_FLIP, > MMAP_GTT, > @@ -318,6 +320,7 @@ typedef struct { > drmModeModeInfo *mode; > igt_output_t *output; > bool fbc_flag; > + bool all_outputs; > } data_t; > > static void create_cursor_fb(data_t *data) > @@ -767,9 +770,27 @@ static void dpms_off_on(data_t *data) > DRM_MODE_DPMS_ON); > } > > +static int opt_handler(int opt, int opt_index, void *opt_data) > +{ > + data_t *data = opt_data; > + > + switch (opt) { > + case 'o': > + data->all_outputs = true; -->NIT: double space before "=" > + break; > + default: > + return IGT_OPT_HANDLER_ERROR; > + } > + > + return IGT_OPT_HANDLER_SUCCESS; > +} > + > data_t data = {}; > > -int igt_main() > +const char *help_str = > + " -o \tRun on all connectors. (By default suspend subtests will run on 2 connectors)\n)"; --> Make it like--> " -o \tRun on all connectors. By default suspend subtests will run on 2 connectors \n)"; > + > +int igt_main_args("o", NULL, help_str, opt_handler, &data) > { > int z, y; > enum operations op; > @@ -785,6 +806,7 @@ int igt_main() > int modes[] = {PSR_MODE_1, PSR_MODE_2, PR_MODE}; > int fbc_status[] = {FBC_DISABLED, FBC_ENABLED}; > igt_output_t *output; > + int output_count = 0; ->IMO: This could be at start of subtest of suspend itself before for_each_connected_output > bool fbc_chipset_support = false; > > igt_fixture() { > @@ -949,6 +971,9 @@ int igt_main() > if (!psr_sink_support(data.drm_fd, data.debugfs_fd, > data.op_psr_mode, output)) > continue; > + if (!data.all_outputs && output_count > OUTPUT_LIMIT) -->This might be iterate through 0,1,2 overall 3 but not 2 better have ">=" > + continue; > + output_count++; > igt_display_reset(&data.display); > data.output = output; > igt_dynamic_f("%s", data.output->name) {