[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