Re: Query: USB: XHCI: Endpoint Context Max Burst Capability

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

 



On Wed, Oct 17, 2012 at 06:49:14PM +0000, Paul Zimmerman wrote:
> Hi Pratyush,
> 
> The NumP=4 from the host probably means that the host only has buffer
> space for 4 1K packets. 4K is the page size, so maybe the host was given a
> scatter-gather list made up of single pages (just a guess). Or else the host
> system just cannot empty the buffers quick enough to keep up.

The SCSI layer and mass storage driver usually queues a scatter-gather
list of 4K entries for the data phase.  The Linux xHCI driver turns each
sg-list entry into one TRB, and chains them all into one TD.  So it's up
to the host controller to fetch multiple TRBs and set the NumP field
appropriately.

It's possible the host controller only wants to fetch the current TRB's
worth of data.  We could attempt to collasce adjacent sg-list entries,
but I would have to look into whether that's possible, or if the upper
layer is already doing that when it creates the sg-list.

> What is the host OS and driver? We have found that the Linux xHCI driver
> does not perform very well compared to the MCCI xHCI driver under
> Windows (which AFAIK is the xHCI driver you usually get when you buy a
> NEC/Renesas host adapter). Did you get a Windows xHCI driver along with
> your TUSB7340 adapter?

Yep, the Linux xHCI driver performance needs improvement.  That's next
on my todo list after I slog through my current bug list.

Sarah Sharp

> -----Original Message-----
> From: linux-usb-owner@xxxxxxxxxxxxxxx [mailto:linux-usb-owner@xxxxxxxxxxxxxxx] On Behalf Of Pratyush Anand
> Sent: Wednesday, October 17, 2012 6:13 AM
> To: Sarah Sharp; Paul Zimmerman
> Cc: USB list; spear-devel
> Subject: Query: USB: XHCI: Endpoint Context Max Burst Capability
> 
> Hi,
> 
> I was trying to test max bulk through put capability of my usb3.0 
> device. Bulk IN EP Companion descriptor's bMaxburst is 15 in my gadget. 
> My host controller is TUSB7340.
> 
> I see, that Device Sends ERDY with NumP=16.
> Host sends ACK with NumP=4. I noticed that xhci driver programs Max 
> Burst Size same as that of reported by companion descriptor. So, what 
> does it mean, host controller's Max Burst is 4 only? So, even if driver 
> programs 15, it is limited by 3.
> 
> If yes, Does anybody know about any host controller supporting Max Burst 
> as 16 on Bulk EP?
> 
> Regards
> Pratyush
> 
> --
> 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
--
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