* [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 @ 2024-07-27 16:07 kevin 2024-07-27 16:28 ` Linux regression tracking (Thorsten Leemhuis) 0 siblings, 1 reply; 12+ messages in thread From: kevin @ 2024-07-27 16:07 UTC (permalink / raw) To: stable; +Cc: regressions 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 as the first bad commit and fa57924c76d995e87ca3533ec60d1d5e55769a27 as the first commit that fixed the problem again. 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. Best Regards, Kevin #regzbot introduced: 4df96ba66760345471a85ef7bb29e1cd4e956057 ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 2024-07-27 16:07 [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 kevin @ 2024-07-27 16:28 ` Linux regression tracking (Thorsten Leemhuis) 2024-07-27 16:42 ` kevin 0 siblings, 1 reply; 12+ messages in thread From: Linux regression tracking (Thorsten Leemhuis) @ 2024-07-27 16:28 UTC (permalink / raw) To: kevin, Alex Deucher, Hersen Wu, Wayne Lin Cc: regressions, stable, LKML, ML dri-devel, amd-gfx@lists.freedesktop.org [adding a few people and lists to the recipients] Hi! Thx for your rpeort. On 27.07.24 18:07, kevin@holm.dev 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? > 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. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 2024-07-27 16:28 ` Linux regression tracking (Thorsten Leemhuis) @ 2024-07-27 16:42 ` kevin 2024-07-29 8:16 ` Lin, Wayne 2024-07-30 5:56 ` Lin, Wayne 0 siblings, 2 replies; 12+ messages in thread From: kevin @ 2024-07-27 16:42 UTC (permalink / raw) To: Linux regressions mailing list, Alex Deucher, Hersen Wu, Wayne Lin Cc: regressions, stable, LKML, ML dri-devel, amd-gfx > [adding a few people and lists to the recipients] > > Hi! Thx for your rpeort. > > On 27.07.24 18:07, kevin@holm.dev 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. > ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 2024-07-27 16:42 ` kevin @ 2024-07-29 8:16 ` Lin, Wayne 2024-07-29 8:35 ` Linux regression tracking (Thorsten Leemhuis) 2024-07-30 5:56 ` Lin, Wayne 1 sibling, 1 reply; 12+ messages in thread From: Lin, Wayne @ 2024-07-29 8:16 UTC (permalink / raw) To: kevin@holm.dev, Linux regressions mailing list, Deucher, Alexander, Wu, Hersen Cc: regressions@lists.linux.dev, stable@vger.kernel.org, LKML, ML dri-devel, amd-gfx@lists.freedesktop.org [Public] Hi, 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! Regards, Wayne Lin > -----Original Message----- > From: kevin@holm.dev <kevin@holm.dev> > Sent: Sunday, July 28, 2024 12:43 AM > To: Linux regressions mailing list <regressions@lists.linux.dev>; Deucher, > Alexander <Alexander.Deucher@amd.com>; Wu, Hersen > <hersenxs.wu@amd.com>; Lin, Wayne <Wayne.Lin@amd.com> > Cc: regressions@lists.linux.dev; stable@vger.kernel.org; LKML <linux- > kernel@vger.kernel.org>; ML dri-devel <dri-devel@lists.freedesktop.org>; > amd-gfx@lists.freedesktop.org > 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@holm.dev 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. > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 2024-07-29 8:16 ` Lin, Wayne @ 2024-07-29 8:35 ` Linux regression tracking (Thorsten Leemhuis) 2024-07-29 8:47 ` Christian Heusel 0 siblings, 1 reply; 12+ messages in thread From: Linux regression tracking (Thorsten Leemhuis) @ 2024-07-29 8:35 UTC (permalink / raw) To: Greg KH, Lin, Wayne Cc: stable@vger.kernel.org, LKML, ML dri-devel, amd-gfx@lists.freedesktop.org, Wu, Hersen, Deucher, Alexander, kevin@holm.dev, Linux regressions mailing list, stable@vger.kernel.org [+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@holm.dev <kevin@holm.dev> >> Sent: Sunday, July 28, 2024 12:43 AM >> To: Linux regressions mailing list <regressions@lists.linux.dev>; Deucher, >> Alexander <Alexander.Deucher@amd.com>; Wu, Hersen >> <hersenxs.wu@amd.com>; Lin, Wayne <Wayne.Lin@amd.com> >> Cc: regressions@lists.linux.dev; stable@vger.kernel.org; LKML <linux- >> kernel@vger.kernel.org>; ML dri-devel <dri-devel@lists.freedesktop.org>; >> amd-gfx@lists.freedesktop.org >> 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@holm.dev 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. >>> ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 2024-07-29 8:35 ` Linux regression tracking (Thorsten Leemhuis) @ 2024-07-29 8:47 ` Christian Heusel 2024-07-29 9:15 ` Linux regression tracking (Thorsten Leemhuis) 0 siblings, 1 reply; 12+ messages in thread From: Christian Heusel @ 2024-07-29 8:47 UTC (permalink / raw) To: Linux regressions mailing list Cc: Greg KH, Lin, Wayne, stable@vger.kernel.org, LKML, ML dri-devel, amd-gfx@lists.freedesktop.org, Wu, Hersen, Deucher, Alexander, kevin@holm.dev [-- Attachment #1: Type: text/plain, Size: 823 bytes --] On 24/07/29 10:35AM, Linux regression tracking (Thorsten Leemhuis) wrote: > [+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 The issue is that the fixing commit does not apply to the 6.10 series without conflict and the offending commit does not revert cleanly aswell. Cheers, Chris [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 2024-07-29 8:47 ` Christian Heusel @ 2024-07-29 9:15 ` Linux regression tracking (Thorsten Leemhuis) 2024-07-29 13:21 ` kevin 0 siblings, 1 reply; 12+ messages in thread From: Linux regression tracking (Thorsten Leemhuis) @ 2024-07-29 9:15 UTC (permalink / raw) To: Christian Heusel, Linux regressions mailing list Cc: Greg KH, Lin, Wayne, stable@vger.kernel.org, LKML, ML dri-devel, amd-gfx@lists.freedesktop.org, Wu, Hersen, Deucher, Alexander, kevin@holm.dev On 29.07.24 10:47, Christian Heusel wrote: > On 24/07/29 10:35AM, Linux regression tracking (Thorsten Leemhuis) wrote: >> [+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 > > The issue is that the fixing commit does not apply to the 6.10 series > without conflict and the offending commit does not revert cleanly > aswell. Hah, many thx, I should have checked that. Lin, Wayne: could you maybe help out here and provide something for 6.10.y? Ciao, Thorsten ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 2024-07-29 9:15 ` Linux regression tracking (Thorsten Leemhuis) @ 2024-07-29 13:21 ` kevin 2024-07-30 6:05 ` Lin, Wayne 0 siblings, 1 reply; 12+ messages in thread From: kevin @ 2024-07-29 13:21 UTC (permalink / raw) To: Linux regressions mailing list, Christian Heusel Cc: Greg KH, Lin, Wayne, stable, LKML, ML dri-devel, amd-gfx, Wu, Hersen, Deucher, Alexander July 29, 2024 at 11:15 AM, "Linux regression tracking (Thorsten Leemhuis)" <regressions@leemhuis.info> wrote: > > On 29.07.24 10:47, Christian Heusel wrote: > > > > > On 24/07/29 10:35AM, Linux regression tracking (Thorsten Leemhuis) wrote: > > > > > > > > [+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 > > > > > > > > > > > The issue is that the fixing commit does not apply to the 6.10 series > > > > without conflict and the offending commit does not revert cleanly > > > > aswell. > > > > Hah, many thx, I should have checked that. > > Lin, Wayne: could you maybe help out here and provide something for 6.10.y? > > Ciao, Thorsten > I reverted 4df96ba6676034 from v6.10.2 from the stable/linux git, resolving the conflict by removing everything that git marked as from the current branch and kept everything marked as from before the branch to merge. That resulted in a patch that is fixing the problem on my machine. Since I don't understand what the code is actually doing it might break things on other machines. From cd1674a469cede83f6b0907f320b6af08c3c8950 Mon Sep 17 00:00:00 2001 From: Kevin Holm <kevin@holm.dev> Date: Mon, 29 Jul 2024 13:24:38 +0200 Subject: [PATCH] Test patch --- .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 33 +++---------------- 1 file changed, 5 insertions(+), 28 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c index a5e1a93ddaea..5c555a37e367 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c @@ -1599,7 +1599,7 @@ enum dc_status dm_dp_mst_is_port_support_mode( struct amdgpu_dm_connector *aconnector, struct dc_stream_state *stream) { - int pbn, branch_max_throughput_mps = 0; + int bpp, pbn, branch_max_throughput_mps = 0; struct dc_link_settings cur_link_settings; unsigned int end_to_end_bw_in_kbps = 0; unsigned int upper_link_bw_in_kbps = 0, down_link_bw_in_kbps = 0; @@ -1649,34 +1649,11 @@ enum dc_status dm_dp_mst_is_port_support_mode( } } } else { - /* Check if mode could be supported within max slot - * number of current mst link and full_pbn of mst links. - */ - int pbn_div, slot_num, max_slot_num; - enum dc_link_encoding_format link_encoding; - uint32_t stream_kbps = - dc_bandwidth_in_kbps_from_timing(&stream->timing, - dc_link_get_highest_encoding_format(stream->link)); - - pbn = kbps_to_peak_pbn(stream_kbps); - pbn_div = dm_mst_get_pbn_divider(stream->link); - slot_num = DIV_ROUND_UP(pbn, pbn_div); - - link_encoding = dc_link_get_highest_encoding_format(stream->link); - if (link_encoding == DC_LINK_ENCODING_DP_8b_10b) - max_slot_num = 63; - else if (link_encoding == DC_LINK_ENCODING_DP_128b_132b) - max_slot_num = 64; - else { - DRM_DEBUG_DRIVER("Invalid link encoding format\n"); + /* check if mode could be supported within full_pbn */ + bpp = convert_dc_color_depth_into_bpc(stream->timing.display_color_depth) * 3; + pbn = drm_dp_calc_pbn_mode(stream->timing.pix_clk_100hz / 10, bpp << 4); + if (pbn > aconnector->mst_output_port->full_pbn) return DC_FAIL_BANDWIDTH_VALIDATE; - } - - if (slot_num > max_slot_num || - pbn > aconnector->mst_output_port->full_pbn) { - DRM_DEBUG_DRIVER("Mode can not be supported within mst links!"); - return DC_FAIL_BANDWIDTH_VALIDATE; - } } /* check is mst dsc output bandwidth branch_overall_throughput_0_mps */ -- 2.45.2 Regards, Kevin ^ permalink raw reply related [flat|nested] 12+ messages in thread
* RE: [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 2024-07-29 13:21 ` kevin @ 2024-07-30 6:05 ` Lin, Wayne 0 siblings, 0 replies; 12+ messages in thread From: Lin, Wayne @ 2024-07-30 6:05 UTC (permalink / raw) To: kevin@holm.dev, Linux regressions mailing list, Christian Heusel Cc: Greg KH, stable@vger.kernel.org, LKML, ML dri-devel, amd-gfx@lists.freedesktop.org, Wu, Hersen, Deucher, Alexander [Public] Thanks, Kevin. The revert patch seems correct, but we plan to refactor this function as the following patch fa57924c76d995 ("drm/amd/display: Refactor function dm_dp_mst_is_port_support_mode()") I'll make time to provide one. Thanks! Regards, Wayne > -----Original Message----- > From: kevin@holm.dev <kevin@holm.dev> > Sent: Monday, July 29, 2024 9:22 PM > To: Linux regressions mailing list <regressions@lists.linux.dev>; Christian > Heusel <christian@heusel.eu> > Cc: Greg KH <gregkh@linuxfoundation.org>; Lin, Wayne > <Wayne.Lin@amd.com>; stable@vger.kernel.org; LKML <linux- > kernel@vger.kernel.org>; ML dri-devel <dri-devel@lists.freedesktop.org>; > amd-gfx@lists.freedesktop.org; Wu, Hersen <hersenxs.wu@amd.com>; > Deucher, Alexander <Alexander.Deucher@amd.com> > Subject: Re: [REGRESSION] No image on 4k display port displays connected > through usb-c dock in kernel 6.10 > > July 29, 2024 at 11:15 AM, "Linux regression tracking (Thorsten Leemhuis)" > <regressions@leemhuis.info> wrote: > > > > > > > On 29.07.24 10:47, Christian Heusel wrote: > > > > > > > > On 24/07/29 10:35AM, Linux regression tracking (Thorsten Leemhuis) > wrote: > > > > > > > > > > > [+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 > > > > > > > > > > > > > > > > The issue is that the fixing commit does not apply to the 6.10 > > > series > > > > > > without conflict and the offending commit does not revert cleanly > > > > > > aswell. > > > > > > > Hah, many thx, I should have checked that. > > > > Lin, Wayne: could you maybe help out here and provide something for > 6.10.y? > > > > Ciao, Thorsten > > > > I reverted 4df96ba6676034 from v6.10.2 from the stable/linux git, resolving > the conflict by removing everything that git marked as from the current branch > and kept everything marked as from before the branch to merge. That resulted > in a patch that is fixing the problem on my machine. Since I don't understand > what the code is actually doing it might break things on other machines. > > From cd1674a469cede83f6b0907f320b6af08c3c8950 Mon Sep 17 00:00:00 > 2001 > From: Kevin Holm <kevin@holm.dev> > Date: Mon, 29 Jul 2024 13:24:38 +0200 > Subject: [PATCH] Test patch > > --- > .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 33 +++---------------- > 1 file changed, 5 insertions(+), 28 deletions(-) > > diff --git > a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c > b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c > index a5e1a93ddaea..5c555a37e367 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c > @@ -1599,7 +1599,7 @@ enum dc_status > dm_dp_mst_is_port_support_mode( > struct amdgpu_dm_connector *aconnector, > struct dc_stream_state *stream) > { > - int pbn, branch_max_throughput_mps = 0; > + int bpp, pbn, branch_max_throughput_mps = 0; > struct dc_link_settings cur_link_settings; > unsigned int end_to_end_bw_in_kbps = 0; > unsigned int upper_link_bw_in_kbps = 0, down_link_bw_in_kbps = 0; @@ - > 1649,34 +1649,11 @@ enum dc_status dm_dp_mst_is_port_support_mode( > } > } > } else { > - /* Check if mode could be supported within max slot > - * number of current mst link and full_pbn of mst links. > - */ > - int pbn_div, slot_num, max_slot_num; > - enum dc_link_encoding_format link_encoding; > - uint32_t stream_kbps = > - dc_bandwidth_in_kbps_from_timing(&stream->timing, > - dc_link_get_highest_encoding_format(stream->link)); > - > - pbn = kbps_to_peak_pbn(stream_kbps); > - pbn_div = dm_mst_get_pbn_divider(stream->link); > - slot_num = DIV_ROUND_UP(pbn, pbn_div); > - > - link_encoding = dc_link_get_highest_encoding_format(stream->link); > - if (link_encoding == DC_LINK_ENCODING_DP_8b_10b) > - max_slot_num = 63; > - else if (link_encoding == DC_LINK_ENCODING_DP_128b_132b) > - max_slot_num = 64; > - else { > - DRM_DEBUG_DRIVER("Invalid link encoding format\n"); > + /* check if mode could be supported within full_pbn */ > + bpp = convert_dc_color_depth_into_bpc(stream- > >timing.display_color_depth) * 3; > + pbn = drm_dp_calc_pbn_mode(stream->timing.pix_clk_100hz / 10, bpp > << 4); > + if (pbn > aconnector->mst_output_port->full_pbn) > return DC_FAIL_BANDWIDTH_VALIDATE; > - } > - > - if (slot_num > max_slot_num || > - pbn > aconnector->mst_output_port->full_pbn) { > - DRM_DEBUG_DRIVER("Mode can not be supported within mst links!"); > - return DC_FAIL_BANDWIDTH_VALIDATE; > - } > } > > /* check is mst dsc output bandwidth branch_overall_throughput_0_mps > */ > -- > 2.45.2 > > > Regards, > Kevin ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 2024-07-27 16:42 ` kevin 2024-07-29 8:16 ` Lin, Wayne @ 2024-07-30 5:56 ` Lin, Wayne 2024-07-30 6:20 ` Greg KH 1 sibling, 1 reply; 12+ messages in thread From: Lin, Wayne @ 2024-07-30 5:56 UTC (permalink / raw) To: kevin@holm.dev, Linux regressions mailing list, Deucher, Alexander, Wu, Hersen Cc: regressions@lists.linux.dev, stable@vger.kernel.org, LKML, ML dri-devel, amd-gfx@lists.freedesktop.org [Public] Hi, 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! Regards, Wayne Lin > -----Original Message----- > From: kevin@holm.dev <kevin@holm.dev> > Sent: Sunday, July 28, 2024 12:43 AM > To: Linux regressions mailing list <regressions@lists.linux.dev>; Deucher, > Alexander <Alexander.Deucher@amd.com>; Wu, Hersen > <hersenxs.wu@amd.com>; Lin, Wayne <Wayne.Lin@amd.com> > Cc: regressions@lists.linux.dev; stable@vger.kernel.org; LKML <linux- > kernel@vger.kernel.org>; ML dri-devel <dri-devel@lists.freedesktop.org>; > amd-gfx@lists.freedesktop.org > 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@holm.dev 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. > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 2024-07-30 5:56 ` Lin, Wayne @ 2024-07-30 6:20 ` Greg KH 2024-07-30 9:09 ` Lin, Wayne 0 siblings, 1 reply; 12+ messages in thread From: Greg KH @ 2024-07-30 6:20 UTC (permalink / raw) To: Lin, Wayne Cc: kevin@holm.dev, Linux regressions mailing list, Deucher, Alexander, Wu, Hersen, stable@vger.kernel.org, LKML, ML dri-devel, amd-gfx@lists.freedesktop.org On Tue, Jul 30, 2024 at 05:56:42AM +0000, Lin, Wayne wrote: > [Public] > > Hi, > 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! Please submit a backported version to the stable@vger.kernel.org list and we will be glad to consider it. thanks, greg k-h ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 2024-07-30 6:20 ` Greg KH @ 2024-07-30 9:09 ` Lin, Wayne 0 siblings, 0 replies; 12+ messages in thread From: Lin, Wayne @ 2024-07-30 9:09 UTC (permalink / raw) To: Greg KH Cc: kevin@holm.dev, Linux regressions mailing list, Deucher, Alexander, Wu, Hersen, stable@vger.kernel.org, LKML, ML dri-devel, amd-gfx@lists.freedesktop.org [Public] Thanks, Greg. Will do. Regards, Wayne Lin > -----Original Message----- > From: Greg KH <gregkh@linuxfoundation.org> > Sent: Tuesday, July 30, 2024 2:21 PM > To: Lin, Wayne <Wayne.Lin@amd.com> > Cc: kevin@holm.dev; Linux regressions mailing list > <regressions@lists.linux.dev>; Deucher, Alexander > <Alexander.Deucher@amd.com>; Wu, Hersen <hersenxs.wu@amd.com>; > stable@vger.kernel.org; LKML <linux-kernel@vger.kernel.org>; ML dri-devel > <dri-devel@lists.freedesktop.org>; amd-gfx@lists.freedesktop.org > Subject: Re: [REGRESSION] No image on 4k display port displays connected > through usb-c dock in kernel 6.10 > > On Tue, Jul 30, 2024 at 05:56:42AM +0000, Lin, Wayne wrote: > > [Public] > > > > Hi, > > 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! > > Please submit a backported version to the stable@vger.kernel.org list and we > will be glad to consider it. > > thanks, > > greg k-h ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2024-07-30 9:09 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-07-27 16:07 [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 kevin 2024-07-27 16:28 ` Linux regression tracking (Thorsten Leemhuis) 2024-07-27 16:42 ` kevin 2024-07-29 8:16 ` Lin, Wayne 2024-07-29 8:35 ` Linux regression tracking (Thorsten Leemhuis) 2024-07-29 8:47 ` Christian Heusel 2024-07-29 9:15 ` Linux regression tracking (Thorsten Leemhuis) 2024-07-29 13:21 ` kevin 2024-07-30 6:05 ` Lin, Wayne 2024-07-30 5:56 ` Lin, Wayne 2024-07-30 6:20 ` Greg KH 2024-07-30 9:09 ` Lin, Wayne
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox