Re: [PATCH 2/2] usb: musb: Size 1 dma in transfers won't complete with cpp41

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

 



* Bin Liu <b-liu@xxxxxx> [170119 07:14]:
> On Thu, Jan 19, 2017 at 07:04:57AM -0800, Tony Lindgren wrote:
> > * Bin Liu <b-liu@xxxxxx> [170118 19:42]:
> > > On Wed, Jan 18, 2017 at 06:29:59PM -0800, Tony Lindgren wrote:
> > > > At least with the cppi41 dma, size 1 in dma transfers will just wait
> > > 
> > > In which case do you see the size 1 transfer? using testusb?
> > > 
> > > > until the device is disconnected. This causes timeouts in cppi41 dma
> > > > runtime PM.
> > > > 
> > > > Also the initial size 8 transfers take about 200ms to complete when
> > > > plugging a USB mass storage device to a hub. But we probably want to
> > > > keep those to avoid using PIO.
> > > > 
> > > > Fix the issue by adding a quirk for cppi41 and skip size 1 in dma if
> > > > set.
> > > 
> > > It is fine to bypass dma for size 1 transfers, due to the dma setup
> > > overhead. But I'd like to know the test case to understand why it hangs.
> > 
> > The test case is the same old connect a USB mass storage device to a hub.
> > There we see the initial size 1 transfer in the beginning. That transfer
> > seems to never complete with cppi41 and the transfer will stay active
> > until the device is disconnected. Currently we don't seem to have any
> > timeout mechanism in cppi41 for that.
> 
> Ok, I will take a look maybe sometime next week to understand the
> traffic.
> 
> BTY, it seems you missed my comment at the end which is about limiting
> the transfer size.

Oops sorry yeah you're right, -ENOTENOUGHCOFFEEYET.

Tony
--
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