[OEM5.14/J][SRU][PATCH v2 0/7] Fix DP tunneling issues on AMD Rembrandt

Stefan Bader stefan.bader at canonical.com
Wed Aug 3 14:53:35 UTC 2022


On 03.08.22 16:42, Mario Limonciello wrote:
> On 8/3/22 09:35, Stefan Bader wrote:
>> On 02.08.22 20:11, Mario Limonciello wrote:
>>> BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1983143
>>>
>>> When a Thunderbolt monitor or Thunderbolt dock are connected to a USB4
>>> port on AMD Yellow Carp (Rembrandt) a software connection manager works
>>> with the hardware to initialize tunnels.
>>>
>>> One of those tunnels is for DP (display port). It was observed that
>>> on both the OEM-5.14 as well as Jammy-5.15 kernel that DP tunneling
>>> specifically when connecting to a Thunderbolt monitor fails.
>>> This circumstance does not happen on OEM-5.17 or mainline kernels.
>>>
>>> This is due to a backport error on the USB4 patch series that went
>>> into OEM-5.14 and moved forward to Jammy-5.15.  Patch 1/7 in this
>>> series corrects that error as minimally as possible as a SAUCE patch.
>>>
>>> It was also observed that DP tunneling is not working for Thunderbolt
>>> monitor connected at boot, but this is a different root cause.
>>> The "Pre-OS" connection manager creates DP tunnels that are expected
>>> to be re-used by the OS connection manager. The remaining patches in
>>> this series enable this flow.
>>>
>>> Patches 2-6 are upstream patches or reverts to closer match upstream.
>>> Patch 7 is a SAUCE patch because it is not landed upstream yet, but
>>> will be needed for patch 2-6 to work properly.  If the Thunderbolt
>>> CM doesn't hand off resources, amdgpu can't possibly re-use them.
>>>
>>> For this whole flow to work an updated AMDGPU DMCUB firmware is also
>>> needed.  This is already in process as part of:
>>> https://bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/1981922
>>>
>>> v1->v2:
>>> * Fixup [1/4], it didn't work due to a contextual error
>>> * Add a revert of a stable patch before previous patch [3/4] applied
>>>    so that it can re-apply cleanly.
>>> * Add missing dependencies for patch [3/4] to allow applying cleanly
>>> * Re-apply revert commit
>>>
>>> Mario Limonciello (2):
>>>    UBUNTU: SAUCE: drm/amd: Fix DP Tunneling with Thunderbolt monitors
>>>    Revert "drm/amd/display: Fix DPIA outbox timeout after S3/S4/reset"
>>>
>>> Meenakshikumar Somasundaram (1):
>>>    drm/amd/display: Fix for dmub outbox notification enable
>>>
>>> Nicholas Kazlauskas (2):
>>>    drm/amd/display: Reset link encoder assignments for GPU reset
>>>    drm/amd/display: Fix DPIA outbox timeout after S3/S4/reset
>>>
>>> Sanjay R Mehta (1):
>>>    UBUNTU: SAUCE: thunderbolt: Add DP out resource when DP tunnel is
>>>      discovered.
>>>
>>> Stylon Wang (1):
>>>    drm/amd/display: Fix new dmub notification enabling in DM
>>>
>>>   .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 39 +++++++++--
>>>   drivers/gpu/drm/amd/display/dc/core/dc.c      | 66 +++++++++++++++++--
>>>   drivers/gpu/drm/amd/display/dc/dc.h           |  3 +
>>>   .../gpu/drm/amd/display/dc/dce/dmub_outbox.c  | 25 +++----
>>>   .../gpu/drm/amd/display/dc/dce/dmub_outbox.h  |  4 +-
>>>   .../amd/display/dc/dcn10/dcn10_hw_sequencer.c |  4 --
>>>   .../drm/amd/display/dc/dcn20/dcn20_hwseq.c    |  5 +-
>>>   .../drm/amd/display/dc/dcn31/dcn31_hwseq.c    |  2 +-
>>>   drivers/thunderbolt/tb.c                      | 15 +++++
>>>   drivers/thunderbolt/tb.h                      |  1 +
>>>   drivers/thunderbolt/tunnel.c                  |  2 +
>>>   11 files changed, 133 insertions(+), 33 deletions(-)
>>>
>>
>> I think this is a replacement for the previous set but lacking the topic. If 
>> that is correct, then the previous thread should be NACKed to make it clear.
> 
> Yes it's replacement for previous series to make everything apply cleanly.  I'll 
> drop a message to that thread to make it clearer.
> 
>>
>> The method chosen to work around the context change is somewhat worrying. 
>> Basically the patch reverted was upstream stable and had been adjusted in 
>> context to match the v5.15.y code base. Then you re-apply the unmodified 
>> upstream patch. So we are closer to what code looks like in upstream v5.16 or 
>> later but further away from linux-5.15.y.
> 
> Yes that's correct.  I guess it's up to you which way you prefer to take it.  I 
> thought it was more important to make things apply cleanly.
> 
> If you prefer the previous approach I'll resubmit the previous patches [2-4] and 
> the fixed [1/7] in this series as a v3.

In this case it probably is better to go with the revert and upstream version. 
It is just scary and makes me doubt how much I can help to keep the overall 
driver stable.

-Stefan

> 
>> I know we are already diverting. Just scary to see this example of how mind 
>> boggling things can become. This time it is just context but it might be a 
>> different flow of execution or locking in other cases. And this is near 
>> impossible to properly review.
> 
> Yeah I don't think this approach works every single time.
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20220803/924e644b/attachment.sig>


More information about the kernel-team mailing list