Download raw body.
xhci(4): Fix broken CSS on AMD 17h/6xh
On Mon, Jun 16, 2025 at 07:37:10PM +0200, Mark Kettenis wrote: > > From: James Hastings <moosetek4@gmail.com> > > Date: Mon, 16 Jun 2025 08:34:39 -0400 (EDT) > > > > The xHCI controller save state (CSS/CRS) is broken on AMD 17h/6xh > > and hangs the system during resume. > > > > ok? > > ok kettenis@ 19h/x4 XHCI controllers in the Z13 also need the XHCI_NOCSS quirk. 99:0:3: AMD 19h/4xh xHCI 0x0000: Vendor ID: 1022, Product ID: 161d 99:0:4: AMD 19h/4xh xHCI 0x0000: Vendor ID: 1022, Product ID: 161e 100:0:0: AMD 19h/4xh xHCI 0x0000: Vendor ID: 1022, Product ID: 161f 100:0:3: AMD 19h/4xh xHCI 0x0000: Vendor ID: 1022, Product ID: 15d6 100:0:4: AMD 19h/4xh xHCI 0x0000: Vendor ID: 1022, Product ID: 15d7 During resume I was seeing lines such as: uhub0: device problem, disabling port 4 uhub1: device problem, disabling port 2 uhub1: device problem, disabling port 3 uhub2: device problem, disabling port 1 After a couple of suspend/resume cycles all internal USB devices and the two external USB ports become unusable. With the patch below, all USB devices reattach as expected, every time. acpi0: S3 unavailable, using S0 video0 detached uvideo0 detached ugen0 detached uhub0 detached ugen1 detached ugen2 detached uhub1 detached video1 detached uvideo1 detached uhub2 detached uhub3 detached uhub4 detached uhub0 at usb0 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 addr 1 uhub1 at usb1 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 addr 1 uhub2 at usb2 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 addr 1 uhub3 at usb3 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 addr 1 uhub4 at usb4 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 addr 1 wakeups: 1 2 wakeup event: GPE 0x7 uvideo0 at uhub0 port 4 configuration 1 interface 0 "SunplusIT Inc Integrated Camera" rev 2.01/50.12 addr 2 video0 at uvideo0 ugen0 at uhub0 port 4 configuration 1 "SunplusIT Inc Integrated Camera" rev 2.01/50.12 addr 2 system resumed from sleep battery status: high. external power status: not connected. estimated battery life 56% (275 minutes life time estimate) ugen1 at uhub1 port 2 "USI product 0x9309" rev 1.10/0.01 addr 2 ugen2 at uhub1 port 3 "Synaptics product 0x0123" rev 2.00/0.00 addr 3 uvideo1 at uhub2 port 1 configuration 1 interface 0 "SunplusIT Inc Integrated IR Camera" rev 2.01/51.19 addr 2 video1 at uvideo1 uhidev0 at uhub4 port 1 configuration 1 interface 0 "Yubico YubiKey FIDO" rev 2.00/5.43 addr 2 uhidev0: iclass 3/0 fido0 at uhidev0: input=64, output=64, feature=0 ok? Skip CSS on AMD 19h/4x M sys/dev/pci/xhci_pci.c | 6+ 1- 1 file changed, 6 insertions(+), 1 deletion(-) commit - 9dd6953e617d51634dc519eca58a663916a949bd commit + a4d1a2eb5ce8157070972265496ff5ffe1be3181 blob - 28df38fd0a62f9c8fd2d8d540ab77f2d2b9c0078 blob + 4610ee9bdc352a9defc2cedd226bb1da9cef23cf --- sys/dev/pci/xhci_pci.c +++ sys/dev/pci/xhci_pci.c @@ -154,7 +154,12 @@ xhci_pci_attach(struct device *parent, struct device * case PCI_VENDOR_AMD: if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_AMD_17_1X_XHCI_1 || PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_AMD_17_1X_XHCI_2 || - PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_AMD_17_6X_XHCI) + PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_AMD_17_6X_XHCI || + PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_AMD_19_4X_XHCI_1 || + PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_AMD_19_4X_XHCI_2 || + PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_AMD_19_4X_XHCI_3 || + PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_AMD_19_4X_XHCI_4 || + PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_AMD_19_4X_XHCI_5) psc->sc.sc_flags |= XHCI_NOCSS; break; }
xhci(4): Fix broken CSS on AMD 17h/6xh