RE: [patch 2.6.29+] musb: use dma mode 1 for TX if transfer size equals maxpacket

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

 



Sergei Shtylyov wrote:
> Hello.
> 
> David Brownell wrote:
> 
> > From: Anand Gadiyar <gadiyar@xxxxxx>
> 
> > Currently, with Inventra DMA, we use Mode 0 if transfer size is less
> > than or equal to the endpoint's maxpacket size.  This requires that
> > we explicitly set TxPktRdy for that transfer.
> 
> > However the musb_g_rx code will not set TxPktRdy twice if the last
> > transfer is exactly equal to maxpacket, even if request->zero is set.
> > Using Mode 1 will solve this; a better fix might be in musb_g_rx().
> 
>     Perhaps you meant musb_g_tx()?

Oops. Yes, I meant musb_g_tx().


> 
> > Without this change, musb will not correctly send out a ZLP if the
> > last transfer is the maxpacket size and request->zero is set.
> 
>     I would also look at the host side about ZLP -- I had an impression that
> with Mentor DMA ZLP just can't be sent...

I'm not very familiar with the host side code. Do you know why we cannot send a ZLP?
What would happen if we simply set TxPktRdy without loading the FIFO?


> 
> > Signed-off-by: Anand Gadiyar <gadiyar@xxxxxx>
> > Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
> 
> WBR, Sergei

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