Re: [PATCH 3/3] usb: xhci: Unify duplicate inc_enq() code

From: Mathias Nyman
Date: Tue Feb 25 2025 - 04:34:09 EST


On 24.2.2025 23.01, Michał Pecio wrote:
On Mon, 24 Feb 2025 13:49:29 +0200, Mathias Nyman wrote:
Interesting, I wonder if setting the link TRB chain bit would
also help with the TRB prefetch issue on VIA VL805 hosts.

Good idea, but unfortunately not.

With xhci_hcd quirks=1, which is XHCI_LINK_TRB_QUIRK:

[ 0.543465] pci 0000:0a:00.0: [1106:3483] type 00 class 0x0c0330 PCIe Endpoint

[ 406.745905] xhci_hcd 0000:0a:00.0: xHCI Host Controller
[ 406.745916] xhci_hcd 0000:0a:00.0: new USB bus registered, assigned bus number 11
[ 406.747265] xhci_hcd 0000:0a:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000000000000891

[ 407.475672] usb 11-1.4: Found UVC 1.00 device USB2.0 Camera (1e4e:0103)

[ 407.697768] usb 11-1.4: Selecting alternate setting 12 (3060 B/frame bandwidth)
[ 407.700432] usb 11-1.4: Allocated 5 URB buffers of 32x3060 bytes each
[ 407.732047] xhci_hcd 0000:0a:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xffccc000 flags=0x0000]
[ 407.732122] xhci_hcd 0000:0a:00.0: WARNING: Host System Error
[ 407.732133] xhci_hcd 0000:0a:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xffccc000 flags=0x0000]
[ 407.732151] xhci_hcd 0000:0a:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xffccc000 flags=0x0000]

Link TRBs from debugfs:

0 0x00000000ffccbff0: LINK 00000000ffcca000 intr 0 type 'Link' flags i:C:t:C
1 0x00000000ffccaff0: LINK 00000000ffccb000 intr 0 type 'Link' flags i:C:T:c

It was worth a shot,
thanks for trying it out

I'll send the original fix to Greg

-Mathias