lkml.org 
[lkml]   [2022]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Apple Thunderbolt Display chaining
    On Mon, Aug 08, 2022 at 08:25:56PM +0800, Brad Campbell wrote:
    > root@bkd:/sys/bus/pci/devices/0000:31:04.0# modprobe thunderbolt
    > root@bkd:/sys/bus/pci/devices/0000:31:04.0# time cat config | hexdump
    >
    > <slowdown/lockup/reboot>
    >
    > This on the serial console :
    > [ 160.248275] ACPI: bus type thunderbolt registered
    > [ 160.253386] thunderbolt 0000:05:00.0: enabling device (0000 -> 0002)
    > [ 160.872438] thunderbolt 0-3: new device found, vendor=0x1 device=0x8002
    > [ 160.879398] thunderbolt 0-3: Apple, Inc. Thunderbolt Display
    > [ 161.436984] thunderbolt 0-303: new device found, vendor=0x1 device=0x8002
    > [ 161.444108] thunderbolt 0-303: Apple, Inc. Thunderbolt Display
    > [ 165.324982] hrtimer: interrupt took 604007930 ns
    > [ 169.744439] xhci_hcd 0000:28:00.0: Unable to change power state from D3hot to D0, device inaccessible
    > [ 223.912783] rcu: INFO: rcu_preempt self-detected stall on CPU
    > [ 229.741463] rcu: 9-....: (126 ticks this GP) idle=0d44/1/0x4000000000000000 softirq=1935/1935 fqs=76
    > [ 237.593512] (t=7349 jiffies g=1537 q=264 ncpus=12)
    > [ 242.425503] NMI backtrace for cpu 9
    > [ 244.640203] CPU: 9 PID: 57 Comm: ksoftirqd/9 Tainted: G O 5.19.0+ #57
    > [ 251.082940] Hardware name: Gigabyte Technology Co., Ltd. B550 VISION D-P/B550 VISION D-P, BIOS F15d 07/20/2022
    > [ 258.532330] Call Trace:
    > [ 260.545693] <IRQ>
    > [ 262.156386] dump_stack_lvl+0x34/0x44
    > [ 264.985085] nmi_cpu_backtrace.cold+0x30/0x70
    > [ 268.800445] ? lapic_can_unplug_cpu+0x90/0x90
    > [ 273.028459] nmi_trig

    Yeah, the link (PCIe tunnel) seems not to be functional and that causes
    the hang. In addition to what I asked in my previous email, let's block
    runtime PM from xHCI too in drivers/usb/host/xhci-pci.c::xhci_pci_quirks():

    Comment out this block:

    if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
    (pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_2C_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_4C_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_LP_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_2C_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_4C_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_2C_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_ICE_LAKE_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_TIGER_LAKE_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_N_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_RAPTOR_LAKE_XHCI ||
    pdev->device == PCI_DEVICE_ID_INTEL_METEOR_LAKE_XHCI))
    xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW;

    \
     
     \ /
      Last update: 2022-08-08 14:48    [W:7.561 / U:0.288 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site