musb: use dma mode 1 for TX if transfer size equals maxpacket (v2)
authorAnand Gadiyar <gadiyar@ti.com>
Thu, 2 Apr 2009 19:07:08 +0000 (12:07 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 16 Jun 2009 04:44:41 +0000 (21:44 -0700)
commitd1043a2697effee3054451a9293a376bfb013e4b
tree4a614ab79c9c44b23a45b9f0bb3e0f8352a4d99d
parentab983f2a1be582b00f706013f40f658769d0823a
musb: use dma mode 1 for TX if transfer size equals maxpacket (v2)

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_tx 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_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.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/musb/musb_gadget.c