* Re: [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 [not found] <d74a7768e957e6ce88c27a5bece0c64dff132e24@holm.dev> @ 2024-07-27 16:28 ` Linux regression tracking (Thorsten Leemhuis) 2024-07-27 16:42 ` kevin 0 siblings, 1 reply; 11+ 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] 11+ 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 ` [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 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; 11+ 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] 11+ 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; 11+ 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] 11+ 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; 11+ 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] 11+ 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; 11+ 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] 11+ 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; 11+ 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] 11+ 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; 11+ 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] 11+ 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; 11+ 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] 11+ 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; 11+ 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] 11+ 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; 11+ 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] 11+ 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; 11+ 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] 11+ messages in thread
end of thread, other threads:[~2024-07-30 9:09 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <d74a7768e957e6ce88c27a5bece0c64dff132e24@holm.dev>
2024-07-27 16:28 ` [REGRESSION] No image on 4k display port displays connected through usb-c dock in kernel 6.10 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