Re: howto debug xhci driver?

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

 



On Mon, Apr 23, 2018 at 07:21:12PM +0530, Tushar Nimkar wrote:
> Hi,
> 
> On 2018-04-23 18:58, Bin Liu wrote:
> >On Mon, Apr 23, 2018 at 11:14:55AM +0530, Tushar Nimkar wrote:
> >>On 2018-04-21 00:03, Bin Liu wrote:
> >>>Hi,
> >>>
> >>>On Tue, Mar 20, 2018 at 02:28:00PM -0700, Paul Zimmerman wrote:
> >>>>Forgot to CC linux-usb.
> >>>>
> >>>>
> >>>>-------- Forwarded Message --------
> >>>>Subject: Re: howto debug xhci driver?
> >>>>Date: Tue, 20 Mar 2018 13:56:21 -0700
> >>>>From: Paul Zimmerman <pauldzim@xxxxxxxxx>
> >>>>To: Bin Liu <b-liu@xxxxxx>
> >>>>CC: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx>
> >>>>
> >>>>Hi,
> >>>>
> >>>>Bin Liu <b-liu@xxxxxx> writes:
> >>>>>>Bin Liu <b-liu@xxxxxx> writes:
> >>>>>>>>>>>>BTY, the issue I am trying to debug is when reading
> >>>>>>>>>>>>bulk IN data from a USB2.0 device, if the device
> >>>>>>>>>>>>doesn't have data to transmit and NAKs the IN packet,
> >>>>>>>>>>>>after 4 pairs of IN-NAK transactions, xhci stops
> >>>>>>>>>>>>sending further IN tokens until the next SOF, which
> >>>>>>>>>>>>leaves ~90us gape on the bus.
> >>>>>>>>>>>>
> >>>>>>>>>>>>But when reading data from a USB2.0 thumb drive, this
> >>>>>>>>>>>>issue doesn't happen, even if the device NAKs the IN
> >>>>>>>>>>>>tokens, xhci still keeps sending IN tokens, which is
> >>>>>>>>>>>>way more than 4 pairs of IN-NAK transactions.
> >>>>>>>>>>>
> >>>>>>>>>>>Thumb drive has Bulk endpoints, what is the other
> >>>>>>>>>>>device's transfer type?
> >>>>>>>>>>
> >>>>>>>>>>It is bulk too. I asked for device descriptors. This is a
> >>>>>>>>>>remote debug effort for me, I don't have that device...
> >>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>>Any one has a clue on what causes xhci to stop sending
> >>>>>>>>>>>>IN tokens after the device NAK'd 4 times?
> >>>>>>>>>
> >>>>>>>>>By accident, I reproduced the issue if addng a hub in the
> >>>>>>>>>middle... any comments about why a hub changes this xhci
> >>>>>>>>>behavior is appreciated.
> >>>>>>>>
> >>>>>>>>none off the top of my head. Maybe Mathias can suggest
> >>>>>>>>something.
> >>>>>>>
> >>>>>>>The issue seems to be not related to how many bulk IN-NAK pairs
> >>>>>>>before host stops sending IN token, but the host stops IN token
> >>>>>>>if 1) the device ever NAK'd an bulk IN token, and 2) there is
> >>>>>>>about 90~100us left to the next SOF. Then all the rest of
> >>>>>>>bandwidth is wasted.
> >>>>>>>
> >>>>>>>Is it about xhci bandwidth schduling? /me started reading...
> >>>>>>
> >>>>>>is this AM4 or AM5? Perhaps go after Synopsys' known errata list?
> >>>>>
> >>>>>I see the issue on both AM4 & AM5. I don't have access to the
> >>>>>errata list, I guess I should talk to TI internal for the list?
> >>>>
> >>>>I have a hazy recollection of something like this being a "feature" of
> >>>>the Synopsys core, to cut down on the excessive number of IN-NAK
> >>>>transactions you can sometimes get on the USB bus. So yep, you
> >>>>should talk to your Synopsys guy about this.
> >>>
> >>>Thanks for the information. We have been talking to Synopsis for this
> >>>issue, the progress is slow, one of the reasons is that the DWC3
> >>>version
> >>>is very old :(
> >>Bin, What is the version no? I have seen similar thing but on USB3.0
> >
> >On multiple versions: from 2.02a to 2.60a.
> suggest you to check errata list if not.

Yeah, stuck at here right now - too slow to get a copy of the errata :(

> >
> >>with dwc3 3.00a
> >
> >Do you mean you only see the problem in super-speed but not high-speed
> >with 3.00a?
> yes so far..
> >
> >>May I know how you confirmed/debug missing IN-ACK?
> >
> >Using bus protocol analyzer to capture bus traces. However my
> >issue is not
> >about missing IN-ACK, but IN-NAK - the host stops sending IN tokens too
> >early if the device NAK'd previous IN packets.
> >
> >Please confirm you mean IN-NAK instead in your case?
> it is IN-ACK, ss device send ERDY there should be IN-ACK saying NumP
> > 0 from host :)

Sounds like we face two different issues then :)

Regards,
-Bin.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



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

  Powered by Linux