From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id E022610E35F for ; Mon, 27 Feb 2023 06:20:31 +0000 (UTC) Message-ID: <2c907b40-7d1d-4a64-1d6b-a280c71e898e@intel.com> Date: Mon, 27 Feb 2023 11:50:06 +0530 Content-Language: en-US To: Nidhi Gupta , References: <20230227032459.15497-1-nidhi1.gupta@intel.com> From: "Modem, Bhanuprakash" In-Reply-To: <20230227032459.15497-1-nidhi1.gupta@intel.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t v2] tests/kms_color: Limit the execution to two pipes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: Hi Nidhi, On Mon-27-02-2023 08:54 am, Nidhi Gupta wrote: > As the test execution is taking more time on simulation, limit the > execution to two (first & last) pipes. This optimization is for > simulation and hardware. > > This patch will also provide an option (command line flag '-e') to > execute on all pipes. > > Example: ./kms_color -e --run-subtest ctm-0-50 > > v2: Restrict the execution only on 2 pipes for > real hardware aswell (Ankit) > > Signed-off-by: Nidhi Gupta > --- > tests/kms_color.c | 43 ++++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 42 insertions(+), 1 deletion(-) > > diff --git a/tests/kms_color.c b/tests/kms_color.c > index 45570083..85d9100f 100644 > --- a/tests/kms_color.c > +++ b/tests/kms_color.c > @@ -26,6 +26,10 @@ > > IGT_TEST_DESCRIPTION("Test Color Features at Pipe level"); > > +static bool extended; > +static enum pipe active_pipes[IGT_MAX_PIPES]; > +static uint32_t last_pipe; > + > static bool test_pipe_degamma(data_t *data, > igt_plane_t *primary) > { > @@ -878,6 +882,16 @@ run_deep_color_tests_for_pipe(data_t *data, enum pipe p) > test_cleanup(data); > } > > +static bool execution_constraint(enum pipe pipe) > +{ > + if (!extended && > + pipe != active_pipes[0] && > + pipe != active_pipes[last_pipe]) > + return true; > + > + return false; > +} > + > static void > run_invalid_tests_for_pipe(data_t *data) > { > @@ -1022,6 +1036,9 @@ run_tests_for_pipe(data_t *data) > igt_describe_f("%s", ctm_tests[i].desc); > igt_subtest_with_dynamic_f("%s", ctm_tests[i].name) { > for_each_pipe(&data->display, pipe) { > + if (execution_constraint(pipe)) > + continue; Why it is specific to only ctm tests? Can we extend this logic to other tests too? - Bhanu > + > run_ctm_tests_for_pipe(data, pipe, > ctm_tests[i].colors, > ctm_tests[i].ctm, > @@ -1041,9 +1058,28 @@ run_tests_for_pipe(data_t *data) > } > } > > -igt_main > +static int opt_handler(int opt, int opt_index, void *_data) > +{ > + switch (opt) { > + case 'e': > + extended = true; > + break; > + default: > + return IGT_OPT_HANDLER_ERROR; > + } > + > + return IGT_OPT_HANDLER_SUCCESS; > +} > + > +const char *help_str = > + " -e \tExtended tests.\n"; > + > +igt_main_args("e", NULL, help_str, opt_handler, NULL) > { > data_t data = {}; > + enum pipe pipe; > + > + last_pipe = 0; > > igt_fixture { > data.drm_fd = drm_open_driver_master(DRIVER_ANY); > @@ -1052,6 +1088,11 @@ igt_main > kmstest_set_vt_graphics_mode(); > > igt_display_require(&data.display, data.drm_fd); > + > + /* Get active pipes. */ > + for_each_pipe(&data.display, pipe) > + active_pipes[last_pipe++] = pipe; > + last_pipe--; > } > > igt_subtest_group