Re: Misbehaving Alder Lake-N PCH USB 3.2 xHCI Host Controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/25/24 5:15 PM, Michał Pecio wrote:
What is the last digit of your HCSPARAMS2 register?
Here's my three hosts, guess which is the one with problems.

grep HCSPARAMS2 /sys/kernel/debug/usb/xhci/*/reg-cap
/sys/kernel/debug/usb/xhci/0000:02:00.0/reg-cap:HCSPARAMS2 = 0xfc0000fa
/sys/kernel/debug/usb/xhci/0000:03:00.0/reg-cap:HCSPARAMS2 = 0xfc000031
/sys/kernel/debug/usb/xhci/0000:04:00.0/reg-cap:HCSPARAMS2 = 0x00000011

Well, the only one with IST[3] set is 0000:02:00.0 and not only that,
but 0x0A & 0x07 == 2 so it wants the TRBs at least 2 _frames_ == 2 ms
ahead of time. Or did I completely miss something here? :)

See xHCI section 5.3.4. If IST is high, you are probably out of luck.

In my case (on the N97 system) it's a little different though:

# grep HCSPARAMS2 /sys/kernel/debug/usb/xhci/0000\:00\:14.0/reg-cap
HCSPARAMS2 = 0x14200054

== b00010 1 00001 0000000000000 0101 0100

IST[3] is low, and IST[2:0] == 4, so I would expect that (taking
paragraph 2 of xHCI section 4.14.2.1.4 into account) 1 ms would be
enough: 4 + 1 microframes == 675 us.

On my N100 system, the working Renesas controller has:

/sys/kernel/debug/usb/xhci/0000:01:00.0/reg-cap:HCSPARAMS2 = 0x24000011

1 (+1) microframes - not too shabby. And the Intel one:

/sys/kernel/debug/usb/xhci/0000:00:14.0/reg-cap:HCSPARAMS2 = 0x14200054

again the same as on my N97 system.

BTW: Should I still try your 2 patches from the earlier email?

Kind regards,
FPS





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux