[igt-dev] [PATCH i-g-t v2 2/2] tests/i915/kms_cdclk: Fixed mode selection for MST modeset
Sharma, Swati2
swati2.sharma at intel.com
Fri Jun 9 07:21:03 UTC 2023
On 08-Jun-23 4:47 PM, Modem, Bhanuprakash wrote:
> 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.
>>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?
>> Right. Yes, this is tested. When we transition from lower mode to 4k
we do see cdclk bump. For rest of the cases not sure.
>
> - 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