Re: [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10

From: Linux regression tracking (Thorsten Leemhuis)
Date: Mon Jul 29 2024 - 04:35:52 EST


[+Greg +stable]

On 29.07.24 10:16, Lin, Wayne wrote:
>
> Thanks for the report.
>
> Patch fa57924c76d995 ("drm/amd/display: Refactor function dm_dp_mst_is_port_support_mode()")
> is kind of correcting problems causing by commit:
> 4df96ba6676034 ("drm/amd/display: Add timing pixel encoding for mst mode validation")
>
> Sorry if it misses fixes tag and would suggest to backport to fix it. Thanks!

Greg, seem it would be wise to pick up fa57924c76d995 for 6.10.y as
well, despite a lack of Fixes or stable tags.

Ciao, Thorsten

>> -----Original Message-----
>> From: kevin@xxxxxxxx <kevin@xxxxxxxx>
>> Sent: Sunday, July 28, 2024 12:43 AM
>> To: Linux regressions mailing list <regressions@xxxxxxxxxxxxxxx>; Deucher,
>> Alexander <Alexander.Deucher@xxxxxxx>; Wu, Hersen
>> <hersenxs.wu@xxxxxxx>; Lin, Wayne <Wayne.Lin@xxxxxxx>
>> Cc: regressions@xxxxxxxxxxxxxxx; stable@xxxxxxxxxxxxxxx; LKML <linux-
>> kernel@xxxxxxxxxxxxxxx>; ML dri-devel <dri-devel@xxxxxxxxxxxxxxxxxxxxx>;
>> amd-gfx@xxxxxxxxxxxxxxxxxxxxx
>> Subject: Re: [REGRESSION] No image on 4k display port displays connected
>> through usb-c dock in kernel 6.10
>>
>>> [adding a few people and lists to the recipients]
>>>
>>> Hi! Thx for your rpeort.
>>>
>>> On 27.07.24 18:07, kevin@xxxxxxxx wrote:
>>>
>>>>
>>>> Connecting two 4k displays with display port through a lenovo usb-c
>>>>
>>>> dock (type 40AS) to a Lenovo P14s Gen 2 (type 21A0) results in no
>>>>
>>>> image on the connected displays.
>>>>
>>>>
>>>>
>>>> The CPU in the Lenovo P14s is a 'AMD Ryzen 7 PRO 5850U with Radeon
>>>>
>>>> Graphics' and it has no discrete GPU.
>>>>
>>>>
>>>>
>>>> I first noticed the issue with kernel version '6.10.0-arch1-2'
>>>>
>>>> provided by arch linux. With the previous kernel version
>>>>
>>>> '6.9.10.arch1-1' both connected displays worked normally. I reported
>>>>
>>>> the issue in the arch forums at
>>>>
>>>> https://bbs.archlinux.org/viewtopic.php?id=297999 and was guided to
>>>>
>>>> do a bisection to find the commit that caused the problem. Through
>>>>
>>>> testing I identified that the issue is not present in the latest
>>>>
>>>> kernel directly compiled from the trovalds/linux git repository.
>>>>
>>>>
>>>>
>>>> With git bisect I identified
>> 4df96ba66760345471a85ef7bb29e1cd4e956057
>>>>
>>>
>>> That's 4df96ba6676034 ("drm/amd/display: Add timing pixel encoding for
>>>
>>> mst mode validation") [v6.10-rc1] from Hersen Wu.
>>>
>>> Did you try if reverting that commit is possible and might fix the problem?
>>
>> Reverting is not easily possible:
>>
>> $ git checkout v6.10
>> [...]
>> HEAD is now at 0c3836482481 Linux 6.10
>>
>> $ git revert 4df96ba66760345471a85ef7bb29e1cd4e956057
>> Auto-merging
>> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
>> CONFLICT (content): Merge conflict in
>> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
>> error: could not revert 4df96ba66760... drm/amd/display: Add timing pixel
>> encoding for mst mode validation
>>
>> I do not know enough to try and solve the conflict myself without breaking
>> more things.
>>
>>>
>>>>
>>>> as the first bad commit and
>> fa57924c76d995e87ca3533ec60d1d5e55769a27
>>>>
>>>
>>> That's fa57924c76d995 ("drm/amd/display: Refactor function
>>>
>>> dm_dp_mst_is_port_support_mode()") [v6.10-post] from Wayne Lin.
>>>
>>>>
>>>> as the first commit that fixed the problem again.
>>>>
>>>
>>> Hmm, the latter commit does not have a fixes tag and might or might not
>>>
>>> be to invasive to backport to 6.10. Let's see what the AMD developers say.
>>>
>>>>
>>>> The initial commit only still shows an image on one of the connected
>>>>
>>>> 4k screens. I have not investigated further to find out at what point
>>>>
>>>> both displays stopped showing an image.
>>>>
>>>
>>> Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
>>>
>>> --
>>>
>>> Everything you wanna know about Linux kernel regression tracking:
>>>
>>> https://linux-regtracking.leemhuis.info/about/#tldr
>>>
>>> If I did something stupid, please tell me, as explained on that page.
>>>