From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4B60310E1FD for ; Tue, 28 Feb 2023 04:18:08 +0000 (UTC) From: Nidhi Gupta To: igt-dev@lists.freedesktop.org Date: Tue, 28 Feb 2023 09:54:18 +0530 Message-Id: <20230228042418.18881-1-nidhi1.gupta@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [igt-dev] [PATCH i-g-t v3] tests/kms_color: Limit the execution to two pipes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Nidhi Gupta Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: 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) v3: Restrict the execution only on 2 pipes for all subtests (Bhanu) 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; + 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 -- 2.39.0