[igt-dev] [i-g-t v6 39/50] tests/i915/kms_cdclk: Add support for Bigjoiner

Swati Sharma swati2.sharma at intel.com
Wed Jan 4 07:33:17 UTC 2023


LGTM.
Follow-up activity to modify test for 8K cdclk transition.

Reviewed-by: Swati Sharma <swati2.sharma at intel.com>

On 30-Dec-22 11:18 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
> V3: - Fix "mode-transition-all-outputs"
> 
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
>   tests/i915/kms_cdclk.c | 31 ++++++++++++++++++++++---------
>   1 file changed, 22 insertions(+), 9 deletions(-)
> 
> diff --git a/tests/i915/kms_cdclk.c b/tests/i915/kms_cdclk.c
> index 991a7c50..f1a46a7d 100644
> --- a/tests/i915/kms_cdclk.c
> +++ b/tests/i915/kms_cdclk.c
> @@ -257,15 +257,23 @@ static void test_mode_transition_on_all_outputs(data_t *data)
>   	for_each_connected_output(&data->display, output)
>   		valid_outputs++;
>   
> +	i = 0;
>   	for_each_connected_output(display, output) {
>   		mode = igt_output_get_mode(output);
>   		igt_assert(mode);
>   
> -		igt_output_set_pipe(output, PIPE_NONE);
> -
>   		width = max(width, mode->hdisplay);
>   		height = max(height, mode->vdisplay);
> +
> +		mode_hi = get_highres_mode(output);
> +		igt_require(mode_hi != NULL);
> +
> +		igt_output_set_pipe(output, i);
> +		igt_output_override_mode(output, mode_hi);
> +		i++;
>   	}
> +	igt_require(i915_pipe_output_combo_valid(display));
> +	igt_display_reset(display);
>   
>   	igt_create_pattern_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
>   			      DRM_FORMAT_MOD_LINEAR, &fb);
> @@ -332,13 +340,18 @@ static void run_cdclk_test(data_t *data, uint32_t flags)
>   	enum pipe pipe;
>   
>   	for_each_pipe_with_valid_output(display, pipe, output) {
> -		igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), output->name)
> -			if (igt_pipe_connector_valid(pipe, output)) {
> -				if (flags & TEST_PLANESCALING)
> -					test_plane_scaling(data, pipe, output);
> -				if (flags & TEST_MODETRANSITION)
> -					test_mode_transition(data, pipe, output);
> -			}
> +		igt_output_set_pipe(output, pipe);
> +		if (!i915_pipe_output_combo_valid(display)) {
> +			igt_output_set_pipe(output, PIPE_NONE);
> +			continue;
> +		}
> +
> +		igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), output->name) {
> +			if (flags & TEST_PLANESCALING)
> +				test_plane_scaling(data, pipe, output);
> +			if (flags & TEST_MODETRANSITION)
> +				test_mode_transition(data, pipe, output);
> +		}
>   	}
>   }
>   

-- 
~Swati Sharma


More information about the igt-dev mailing list