Re: [igt-dev] [i-g-t v5 40/52] tests/i915/kms_ccs: Add support for Bigjoiner

Karthik B S
2022-12-23T08:27:59Z

On 11/15/2022 10:38 PM, Bhanuprakash Modem wrote:
> This patch will add a check to Skip the subtest if a selected pipe/output
> combo won't support Bigjoiner or 8K mode.
>
> Example:
> * Pipe-D wont support a mode > 5K
> * To use 8K mode on a pipe then consecutive pipe must be available & free.
>
> V2: - Use updated helper name
>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
> ---
> tests/i915/kms_ccs.c | 18 +++++++++++++-----
> 1 file changed, 13 insertions(+), 5 deletions(-)
>
> diff --git a/tests/i915/kms_ccs.c b/tests/i915/kms_ccs.c
> index 9be3fa25..40f05278 100644
> --- a/tests/i915/kms_ccs.c
> +++ b/tests/i915/kms_ccs.c
> @@ -590,12 +590,21 @@ static int test_ccs(data_t *data)
> static void test_output(data_t *data, const int testnum)
> {
> igt_fixture {
> + bool found = false;
> +
> data->flags = tests[testnum].flags;
>
> - data->output = igt_get_single_output_for_pipe(&data->display,
> - data->pipe);
> - igt_require(data->output);
> - igt_output_set_pipe(data->output, data->pipe);
> + for_each_valid_output_on_pipe(&data->display, data->pipe, data->output) {
> + igt_display_reset(&data->display);
> +
> + igt_output_set_pipe(data->output, data->pipe);
> + if (i915_pipe_output_combo_valid(&data->display)) {
> + found = true;
> + break;
> + }
> +
> + }
> + igt_require_f(found, "No valid pipe/output combo found.\n");
> }
>
> for (int i = 0; i < ARRAY_SIZE(ccs_modifiers); i++) {
> @@ -611,7 +620,6 @@ static void test_output(data_t *data, const int testnum)
> igt_subtest_f("pipe-%s-%s-%s", kmstest_pipe_name(data->pipe),
> tests[testnum].testname, ccs_modifiers[i].str) {
> int valid_tests = 0;
> - igt_require(data->output);
>
> if (data->flags == TEST_RANDOM)
> igt_info("Testing with seed %d\n", data->seed);