[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