[PATCH i-g-t v5 15/17] tests/intel/kms_ccs: limit #outputs tested during suspend
From: Michał Grzelak <hidden>
Date: 2026-09-10 20:26:04
Subsystem:
the rest · Maintainer:
Linus Torvalds
Each suspend test is executed per output. Limit number of outputs tested to 3 by default. Add command-line option enabling execution on every output. v3->v4 - reset output_count per each dynamic subtest (Mohammed) - correct description from help string (Mohammed) v1->v2 - fix off-by-one error Signed-off-by: Michał Grzelak <redacted> --- tests/intel/kms_ccs.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/tests/intel/kms_ccs.c b/tests/intel/kms_ccs.c
index 1a922792c5..8526f1ccfd 100644
--- a/tests/intel/kms_ccs.c
+++ b/tests/intel/kms_ccs.c@@ -141,6 +141,8 @@ * @yf-tiled-ccs: YF tiled ccs */ +#define OUTPUT_LIMIT 3 + #define SDR_PLANE_BASE 3 IGT_TEST_DESCRIPTION("Test render compression (RC), in which the main surface "
@@ -188,6 +190,7 @@ typedef struct { enum igt_commit_style commit; int fb_list_length; bool do_hibernate; + bool all_outputs; struct { struct igt_fb fb; int width, height;
@@ -1128,6 +1131,7 @@ static void test_output(data_t *data, const int testnum) { igt_crtc_t *crtc; uint16_t dev_id; + int output_count = 0; igt_fixture() dev_id = intel_get_drm_devid(data->drm_fd);
@@ -1152,7 +1156,15 @@ static void test_output(data_t *data, const int testnum) "Older than Xe2 platform needed.\n"); } + output_count = 0; + for_each_connected_output(&data->display, data->output) { + if (!data->all_outputs && (data->flags & TEST_SUSPEND) && + output_count >= OUTPUT_LIMIT) + continue; + + output_count++; + for_each_crtc(&data->display, crtc) { if (!igt_crtc_connector_valid(crtc, data->output)) continue;
@@ -1217,6 +1229,9 @@ static int opt_handler(int opt, int opt_index, void *opt_data) case 'r': data->do_hibernate = true; break; + case 'n': + data->all_outputs = true; + break; default: return IGT_OPT_HANDLER_ERROR; }
@@ -1230,9 +1245,10 @@ static const char *help_str = " -c\t\tCheck the presence of compression meta-data\n" " -s <seed>\tSeed for random number generator\n" " -r\t\tOn suspend test do full hibernate with reboot\n" +" -n\t\tRun on all connectors. (By default suspend subtests will run on 3 connectors)\n" ; -int igt_main_args("csr:", NULL, help_str, opt_handler, &data) +int igt_main_args("csrn:", NULL, help_str, opt_handler, &data) { igt_fixture() { data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
--
2.45.2