From: "Juha-Pekka Heikkilä" <juhapekka.heikkila@gmail.com>
To: "Michał Grzelak" <michal.grzelak@linux.intel.com>,
igt-dev@lists.freedesktop.org
Cc: "Karthik B S" <karthik.b.s@intel.com>,
"Swati Sharma" <swati2.sharma@intel.com>,
"Jani Nikula" <jani.nikula@intel.com>,
"Michał Grzelak" <michal.grzelak@intel.com>
Subject: Re: [PATCH i-g-t v8 8/9] tests/intel/kms_ccs: limit #pipes tested during suspend
Date: Wed, 4 Nov 2026 19:21:27 +0200 [thread overview]
Message-ID: <08002314-96bc-47ae-9ba2-c94eb3c55fa8@gmail.com> (raw)
In-Reply-To: <20261013161013.1364753-9-michal.grzelak@linux.intel.com>
On 13/10/2026 19.10, Michał Grzelak wrote:
> Limit execution of suspend tests to first and last active pipe unless
> using `extended` flag. This reduces default execution time of the test.
> In turn this can lower chances of hitting CI timeout.
>
> Alternatively test could be run on first and last CRTC; but due to pipe
> reordering, this would result in using arbitrary pipes. Thus set first
> and last pipe as the only available in suspend resume case.
>
> v7->v8
> - use pipe mask (Jani)
>
> v6->v7
> - use first and last hardware pipe instead of CRTCs (J-P, Jani)
>
> v5->v6
> - describe how pipe reordering affects the test (Jani)
>
> v3->v4
> - set `first' and `last' indices outside of crtc loop (Thasleem)
>
> Signed-off-by: Michał Grzelak <michal.grzelak@linux.intel.com>
> ---
> tests/intel/kms_ccs.c | 14 ++++++++++++--
> 1 file changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/tests/intel/kms_ccs.c b/tests/intel/kms_ccs.c
> index 734dafd110..3af091fd87 100644
> --- a/tests/intel/kms_ccs.c
> +++ b/tests/intel/kms_ccs.c
> @@ -192,6 +192,7 @@ typedef struct {
> bool available_pipes[IGT_MAX_PIPES];
> bool do_hibernate;
> bool all_outputs;
> + bool all_crtcs;
> struct {
> struct igt_fb fb;
> int width, height;
> @@ -1098,7 +1099,9 @@ static bool set_available_hw_pipes(data_t *data)
>
> for_each_crtc(&data->display, crtc) {
> hw_pipe = crtc->hardware_pipe;
> - data->available_pipes[hw_pipe] = true;
> +
> + if (data->all_crtcs)
> + data->available_pipes[hw_pipe] = true;
>
> if (last_pipe < hw_pipe)
> last_pipe = hw_pipe;
> @@ -1110,6 +1113,9 @@ static bool set_available_hw_pipes(data_t *data)
> if (first_pipe == IGT_MAX_PIPES || last_pipe == PIPE_NONE)
> return false;
>
> + data->available_pipes[first_pipe] = true;
> + data->available_pipes[last_pipe] = true;
> +
> return true;
> }
>
> @@ -1260,6 +1266,9 @@ static int opt_handler(int opt, int opt_index, void *opt_data)
> case 'n':
> data->all_outputs = true;
> break;
> + case 'e':
> + data->all_crtcs = true;
> + break;
> default:
> return IGT_OPT_HANDLER_ERROR;
> }
> @@ -1274,9 +1283,10 @@ static const char *help_str =
> " -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"
> +" -e\t\tRun on all CRTCs. (By default subtests will run on two CRTCs)\n"
> ;
>
> -int igt_main_args("csrn:", NULL, help_str, opt_handler, &data)
> +int igt_main_args("csrne:", NULL, help_str, opt_handler, &data)
Here's needed "cs:rne", this probably is actually my sin that has gone
unnoticed previously when I added that 'r' option. Eg. seed option need
the parameter while your new 'e' should fail complaining about missing
argument.
With that fixed
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> {
> igt_fixture() {
> data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
next prev parent reply other threads:[~2026-11-04 17:23 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-13 16:10 [PATCH i-g-t v8 0/9] tests: limiting suspend tests Michał Grzelak
2026-10-13 16:10 ` [PATCH i-g-t v8 1/9] tests/kms_async_flips: split outer test loop into two Michał Grzelak
2026-10-13 16:10 ` [PATCH i-g-t v8 2/9] tests/kms_async_flips: set mask for available hardware pipes Michał Grzelak
2026-10-13 16:10 ` [PATCH i-g-t v8 3/9] tests/kms_async_flips: limit #pipes tested during suspend Michał Grzelak
2026-10-13 16:10 ` [PATCH i-g-t v8 4/9] tests/kms_vblank: limit #outputs " Michał Grzelak
2026-10-13 16:10 ` [PATCH i-g-t v8 5/9] tests/intel/kms_ccs: split outer test loop into two Michał Grzelak
2026-11-04 17:20 ` Juha-Pekka Heikkilä
2026-10-13 16:10 ` [PATCH i-g-t v8 6/9] tests/intel/kms_ccs: limit #outputs tested during suspend Michał Grzelak
2026-11-04 17:20 ` Juha-Pekka Heikkilä
2026-10-13 16:10 ` [PATCH i-g-t v8 7/9] tests/intel/kms_ccs: set mask for available hardware pipes Michał Grzelak
2026-11-04 17:20 ` Juha-Pekka Heikkilä
2026-10-13 16:10 ` [PATCH i-g-t v8 8/9] tests/intel/kms_ccs: limit #pipes tested during suspend Michał Grzelak
2026-11-04 17:21 ` Juha-Pekka Heikkilä [this message]
2026-10-13 16:10 ` [PATCH i-g-t v8 9/9] tests/kms_hdr: run on 3 outputs when testing suspend Michał Grzelak
2026-10-13 19:48 ` ✓ i915.CI.BAT: success for tests: limiting suspend tests (rev7) Patchwork
2026-10-13 23:06 ` ✓ Xe.CI.BAT: " Patchwork
2026-10-14 1:04 ` ✓ i915.CI.Full: " Patchwork
2026-10-14 8:55 ` ✓ Xe.CI.FULL: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=08002314-96bc-47ae-9ba2-c94eb3c55fa8@gmail.com \
--to=juhapekka.heikkila@gmail.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=karthik.b.s@intel.com \
--cc=michal.grzelak@intel.com \
--cc=michal.grzelak@linux.intel.com \
--cc=swati2.sharma@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.