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

From: Michał Pecio
Date: Mon Feb 24 2025 - 16:02:06 EST


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