daisy chained thunderbolt devices not working at reboot on AMD strix platforms

Bug #2058333 reported by You-Sheng Yang
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
New
Undecided
Unassigned
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Noble
Fix Released
Undecided
Unassigned
linux-oem-6.8 (Ubuntu)
Invalid
Undecided
Unassigned
Noble
Fix Released
High
You-Sheng Yang

Bug Description

[SRU Justification]

[Impact]

Devices on PCIe bus on some AMD based systems may not function normally.

Boot firmware (typically BIOS) might have created tunnels of its own. The tunnel configuration that it does might be sub-optimal. For instance it may only support HBR2 monitors so the DisplayPort tunnels it created may limit Linux graphics drivers. In addition there is an issue on some AMD based systems where the BIOS does not allocate enough PCIe resources for future topology extension.

[Fix]

4 commits already in upstream linux repo that resets USB4 v1 routers in addition to already reset v2 routes to align the behavior with Windows Connection Manager.

[Test Case]

On affected platforms with monitor connected across reboots, the DUT reboots into linux with blank screen. This should turn it back to normal as expected.

[Where problems could occur]

No. The reset triggers Linux to re-allocate necessary resources for its own, and this is what Windows does, too.

[Other Info]

While this is in v6.9-rc1 and backported to stable at v6.8.8, Noble and oem-6.8 are nominated.

========== original but report ==========

Boot firmware (typically BIOS) might have created tunnels of its own. The tunnel configuration that it does might be sub-optimal. For instance it may only support HBR2 monitors so the DisplayPort tunnels it created may limit Linux graphics drivers. In addition there is an issue on some AMD based systems where the BIOS does not allocate enough PCIe resources for future topology extension. By resetting the USB4 topology the PCIe links will be reset as well allowing Linux to re-allocate.

This aligns the behavior with Windows Connection Manager.

Fixes merged to linus tree for v6.9-rc1:
* 59a54c5f3dbde thunderbolt: Reset topology created by the boot firmware
* ec8162b3f0683 thunderbolt: Make tb_switch_reset() support Thunderbolt 2, 3 and USB4 routers
* b35c1d7b11da8 thunderbolt: Introduce tb_path_deactivate_hop()
* 01da6b99d49f6 thunderbolt: Introduce tb_port_reset()

You-Sheng Yang (vicamo)
tags: added: amd oem-priority originate-from-2058213
Changed in linux (Ubuntu Noble):
assignee: nobody → Anthony Wong (anthonywong)
Timo Aaltonen (tjaalton)
affects: linux (Ubuntu Noble) → linux-oem-6.8 (Ubuntu Noble)
You-Sheng Yang (vicamo)
description: updated
Changed in linux-oem-6.8 (Ubuntu):
status: New → Invalid
Changed in linux (Ubuntu):
status: New → Fix Released
Changed in linux (Ubuntu Noble):
status: New → Triaged
Changed in linux-oem-6.8 (Ubuntu Noble):
status: New → In Progress
importance: Undecided → High
Changed in linux-oem-6.8 (Ubuntu):
assignee: Anthony Wong (anthonywong) → You-Sheng Yang (vicamo)
Changed in linux-oem-6.8 (Ubuntu Noble):
assignee: Anthony Wong (anthonywong) → You-Sheng Yang (vicamo)
Changed in linux-oem-6.8 (Ubuntu):
assignee: You-Sheng Yang (vicamo) → nobody
Revision history for this message
You-Sheng Yang (vicamo) wrote :
Timo Aaltonen (tjaalton)
Changed in linux-oem-6.8 (Ubuntu Noble):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-oem-6.8/6.8.0-1006.6 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-noble-linux-oem-6.8' to 'verification-done-noble-linux-oem-6.8'. If the problem still exists, change the tag 'verification-needed-noble-linux-oem-6.8' to 'verification-failed-noble-linux-oem-6.8'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-noble-linux-oem-6.8-v2 verification-needed-noble-linux-oem-6.8
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (78.2 KiB)

This bug was fixed in the package linux-oem-6.8 - 6.8.0-1006.6

---------------
linux-oem-6.8 (6.8.0-1006.6) noble; urgency=medium

  * noble/linux-oem-6.8: 6.8.0-1006.6 -proposed tracker (LP: #2064336)

  * Packaging resync (LP: #1786013)
    - debian.oem/dkms-versions -- update from kernel-versions (main/2024.04.29)

  * Resync CI Runner Configuration (LP: #2024199)
    - [CI] resync ci configuration

  * AMD Strix s2idle failure due to AMD VPE driver init (LP: #2065365)
    - drm/amdgpu/vpe: power on vpe when hw_init

  * daisy chained thunderbolt devices not working at reboot on AMD strix
    platforms (LP: #2058333)
    - thunderbolt: Introduce tb_port_reset()
    - thunderbolt: Introduce tb_path_deactivate_hop()
    - thunderbolt: Make tb_switch_reset() support Thunderbolt 2, 3 and USB4
      routers
    - thunderbolt: Reset topology created by the boot firmware

  * Update amd_sfh for AMD strix series (LP: #2058331)
    - HID: amd_sfh: Increase sensor command timeout
    - HID: amd_sfh: Improve boot time when SFH is available
    - HID: amd_sfh: Extend MP2 register access to SFH
    - HID: amd_sfh: Set the AMD SFH driver to depend on x86

  * Update amd-pmf for AMD strix series (LP: #2058330)
    - platform/x86/amd/pmf: Differentiate PMF ACPI versions
    - platform/x86/amd/pmf: Disable debugfs support for querying power thermals
    - platform/x86/amd/pmf: Add support to get sbios requests in PMF driver
    - platform/x86/amd/pmf: Add support to notify sbios heart beat event
    - platform/x86/amd/pmf: Add support to get APTS index numbers for static
      slider
    - platform/x86/amd/pmf: Add support to get sps default APTS index values
    - platform/x86/amd/pmf: Update sps power thermals according to the platform-
      profiles

  * Miscellaneous Ubuntu changes
    - [Config] Update config after rebase.

  [ Ubuntu: 6.8.0-34.34 ]

  * noble/linux: 6.8.0-34.34 -proposed tracker (LP: #2065167)
  * Packaging resync (LP: #1786013)
    - [Packaging] debian.master/dkms-versions -- update from kernel-versions
      (main/2024.04.29)

  [ Ubuntu: 6.8.0-32.32 ]

  * noble/linux: 6.8.0-32.32 -proposed tracker (LP: #2064344)
  * Packaging resync (LP: #1786013)
    - [Packaging] drop getabis data
    - [Packaging] update variants
    - [Packaging] update annotations scripts
    - [Packaging] debian.master/dkms-versions -- update from kernel-versions
      (main/2024.04.29)
  * Enable Nezha board (LP: #1975592)
    - [Config] Enable CONFIG_REGULATOR_FIXED_VOLTAGE on riscv64
  * Enable Nezha board (LP: #1975592) // Enable StarFive VisionFive 2 board
    (LP: #2013232)
    - [Config] Enable CONFIG_SERIAL_8250_DW on riscv64
  * RISC-V kernel config is out of sync with other archs (LP: #1981437)
    - [Config] Sync riscv64 config with other architectures
  * obsolete out-of-tree ivsc dkms in favor of in-tree one (LP: #2061747)
    - ACPI: scan: Defer enumeration of devices with a _DEP pointing to IVSC device
    - Revert "mei: vsc: Call wake_up() in the threaded IRQ handler"
    - mei: vsc: Unregister interrupt handler for system suspend
    - media: ipu-bridge: Add ov01a10 in Dell XPS 9315
    - SAUCE: media: ipu-bridge: Support more sensors
  *...

Changed in linux-oem-6.8 (Ubuntu Noble):
status: Fix Committed → Fix Released
Revision history for this message
You-Sheng Yang (vicamo) wrote :

Noble Ubuntu-6.8.0-38.38 ships with v6.8.8 stable fixes.

Changed in linux (Ubuntu Noble):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.