[igt-dev] [PATCH i-g-t v2 2/2] tests/i915/kms_cdclk: Fixed mode selection for MST modeset

Modem, Bhanuprakash bhanuprakash.modem at intel.com
Thu Jun 8 11:17:25 UTC 2023


Hi Thasleem,

On Wed-07-06-2023 05:23 pm, Mohammed Thasleem wrote:
> When two monitors connected through MST. This will find the
> connector mode combo that fits into the bandwidth when more
> than one monitor is connected.
> 
> Example:
>    When two monitors connected through MST, the second monitor
>    also tries to use the same mode. So two such modes may not
>    fit into the link bandwidth. So, iterate through connected
>    outputs & modes and find a combination of modes those fit
>    into the link BW.
> 
> v2: -Removed if loop checks.
>      -Added igt override to avoid dp mst bw failure.
> v3: Rebased on tip.
> 
> Signed-off-by: Mohammed Thasleem <mohammed.thasleem at intel.com>
> ---
>   tests/i915/kms_cdclk.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/tests/i915/kms_cdclk.c b/tests/i915/kms_cdclk.c
> index 0f9b8dc5..bf93d940 100644
> --- a/tests/i915/kms_cdclk.c
> +++ b/tests/i915/kms_cdclk.c
> @@ -257,6 +257,7 @@ static void test_mode_transition_on_all_outputs(data_t *data)
>   	int valid_outputs = 0;
>   	int cdclk_ref, cdclk_new;
>   	uint16_t width = 0, height = 0;
> +	bool found;
>   	struct igt_fb fb;
>   	igt_pipe_t *pipe;
>   	igt_plane_t *plane;
> @@ -332,6 +333,10 @@ static void test_mode_transition_on_all_outputs(data_t *data)
>   		j++;
>   	}
>   
> +	/* In case of DP-MST find suitable mode(s) to fit into the link BW. */
> +	found = igt_override_all_active_output_modes_to_fit_bw(display);
> +	igt_require_f(found, "No valid mode combo found for MST modeset.\n");

This is not correct.

If this logic overrides any display mode to less than 4K, you can't see 
the clock bumpup which leads to the test failure.

@Swati, any thoughts?

- Bhanu

> +
>   	igt_display_commit2(display, COMMIT_ATOMIC);
>   	cdclk_new = get_current_cdclk_freq(debugfs_fd);
>   	igt_info("CD clock frequency %d -> %d\n", cdclk_ref, cdclk_new);


More information about the igt-dev mailing list