Hi Joe,

I’ve had several issues on AMD Promontory [1022:43bb] XHCI controller,
apparently you are the right guy to ask ;)

Board: ASUS PRIME B350M-A
BIOS version: 3203

Here are the issues:
1. The port stops responding after plugging high speed devices several times.
The XHCI resumes then immediately suspend.

[  134.602886] xhci_hcd 0000:02:00.0: // Setting command ring address to 
0xff73b001
[  134.606312] xhci_hcd 0000:02:00.0: xhci_resume: starting port polling.
[  134.606318] xhci_hcd 0000:02:00.0: xhci_hub_status_data: stopping port 
polling.
[  134.606346] xhci_hcd 0000:02:00.0: xhci_suspend: stopping port polling.
[  134.606435] xhci_hcd 0000:02:00.0: // Setting command ring address to 
0xff73b001
[  134.626860] xhci_hcd 0000:04:00.0: // Setting command ring address to 
0xfffd9001
[  134.630717] xhci_hcd 0000:04:00.0: xhci_resume: starting port polling.
[  134.630722] xhci_hcd 0000:04:00.0: xhci_hub_status_data: stopping port 
polling.
[  134.630726] xhci_hcd 0000:04:00.0: xhci_hub_status_data: stopping port 
polling.
[  134.630738] xhci_hcd 0000:04:00.0: xhci_suspend: stopping port polling.
[  134.630760] xhci_hcd 0000:04:00.0: // Setting command ring address to 
0xfffd9001
[  140.834823] xhci_hcd 0000:02:00.0: // Setting command ring address to 
0xff73b001
[  140.838220] xhci_hcd 0000:02:00.0: xhci_resume: starting port polling.
[  140.838226] xhci_hcd 0000:02:00.0: xhci_hub_status_data: stopping port 
polling.
[  140.838266] xhci_hcd 0000:02:00.0: xhci_suspend: stopping port polling.
[  140.838362] xhci_hcd 0000:02:00.0: // Setting command ring address to 
0xff73b001
[  140.858908] xhci_hcd 0000:04:00.0: // Setting command ring address to 
0xfffd9001
[  140.862745] xhci_hcd 0000:04:00.0: xhci_resume: starting port polling.
[  140.862754] xhci_hcd 0000:04:00.0: xhci_hub_status_data: stopping port 
polling.
[  140.862760] xhci_hcd 0000:04:00.0: xhci_hub_status_data: stopping port 
polling.
[  140.862787] xhci_hcd 0000:04:00.0: xhci_suspend: stopping port polling.
[  140.862811] xhci_hcd 0000:04:00.0: // Setting command ring address to 
0xfffd9001
[  322.468521] xhci_hcd 0000:02:00.0: // Setting command ring address to 
0xff73b001

Use XHCI_RESET_ON_RESUME quirk can workaround this issue. But
maybe a little overkill?

2. XHCI failed to suspend. USB ports stopped to work after that. 
[  549.114587] xhci_hcd 0000:02:00.0: WARN: xHC CMD_RUN timeout
[  549.114608] suspend_common(): xhci_pci_suspend+0x0/0xc0 returns -110
[  549.114638] xhci_hcd 0000:02:00.0: can't suspend (hcd_pci_runtime_suspend 
returned -110)
[  549.116744] usb usb3: root hub lost power or was reset
[  549.116746] usb usb4: root hub lost power or was reset

XHCI_RESET_ON_RESUME quirk cannot workaround issue.


3. Can’t detect high speed devices after plugging super speed device.
Unlike 1., the HC is totally unresponsive to high speed devices. No interrupt
gets generated.

Super speed devices can still be correctly detected though.

All three issue can still be reproduced with or without your patch,
"[PATCH v8] xhci : AMD Promontory USB disable port support”

So I guess we need more quirks to support Promontory properly.

Kai-Heng--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to