Hi,
Op 07-04-2021 om 15:34 schreef Andy Shevchenko:
On Wed, Apr 7, 2021 at 3:24 AM Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx> wrote:
Thinh Nguyen wrote:
...
I took a look at the "bad" and "normal" tracepoints. There are a few
1-second delays where the host tried to bring the device back and
resume from low power:
ksoftirqd/0-10 [000] d.s. 231.501808: dwc3_gadget_ep_cmd: ep3in: cmd 'Update Transfer' [60007] params 00000000 00000000 00000000 --> status: Successful
ksoftirqd/0-10 [000] d.s. 231.501809: dwc3_readl: addr 00000000d68ecd36 value 0000a610
ksoftirqd/0-10 [000] d.s. 231.501810: dwc3_writel: addr 00000000d68ecd36 value 0000a710
<idle>-0 [000] d.h. 232.499418: dwc3_readl: addr 00000000a15e0e35 value 00000034
<idle>-0 [000] d.h. 232.499423: dwc3_readl: addr 00000000bb67b585 value 00001000
<idle>-0 [000] d.h. 232.499425: dwc3_writel: addr 00000000bb67b585 value 80001000
<idle>-0 [000] d.h. 232.499427: dwc3_writel: addr 00000000a15e0e35 value 00000034
irq/15-dwc3-476 [000] d... 232.499480: dwc3_event: event (00000401): WakeUp [U0]
irq/15-dwc3-476 [000] d... 232.499492: dwc3_event: event (00000401): WakeUp [U0]
irq/15-dwc3-476 [000] d... 232.499496: dwc3_event: event (00006088): ep2out: Transfer In Progress [0] (SIm)
irq/15-dwc3-476 [000] d... 232.499501: dwc3_complete_trb: ep2out: trb 00000000c7ce524e (E179:D170) buf 0000000008273540 size 1463 ctrl 00000818 (hlcS:sC:normal)
irq/15-dwc3-476 [000] d... 232.499518: dwc3_gadget_giveback: ep2out: req 0000000012e296cf length 73/1536 zsI ==> 0
irq/15-dwc3-476 [000] d... 232.499562: dwc3_ep_queue: ep2out: req 0000000012e296cf length 0/1536 zsI ==> -115
irq/15-dwc3-476 [000] d... 232.499601: dwc3_prepare_trb: ep2out: trb 000000008c083777 (E180:D170) buf 0000000002a7e9c0 size 1536 ctrl 00000819 (HlcS:sC:normal)
Your device is operating in highspeed right? Try to turn off LPM from
host and see if that helps with the speed throttling issue. (If you're
using xHCI host, then set XHCI_HW_LPM_DISABLE). It may also help with
the connection issue you saw.
It seems to be an issue from host, but I can't tell for sure unless we
have some USB traffic analyzer that shows what's going on. Have you
tried different hosts?
You can also disable LPM from the gadget side by setting
dwc->dis_enblslpm_quirk.
Ferry, it can be done by adding a corresponding property to the
dwc3-pci.c for Intel Merrifield platform. I'll check also for my case
and perhaps I can collect some traces in my case later on when I have
more time for that.
Thanks guys. Indeed is xHCI on the host side. I'll try also from another
machine later.
I'll try adding a property and report back (but not today, is my wedding
day :-) )