tom.leiming@xxxxxxxxx wrote: > > From: Ming Lei <tom.leiming@xxxxxxxxx> > > This patch fixes one bugs of OUT transfer in double buffer case: > > -the current code only enable autoclear for dma mode 1, and not > for dma mode 0 > > Without this patch, test #5 of usbtest can't be passed if we > configure musb as g_zero and use fifo mode 3 to enable double > buffer mode. > > With this patch and the following patch(fix dma length), > on my beagle B5, test#5(queued bulk out) may go beyond > 18Mbyte/s(seems dma mode 0 is quicker in double buffer case) > if musb is configured as g_zero and fifo mode 3 is taken, follows > the test command: > > #./testusb -D DEV_NAME -c 1024 -t 5 -s 32768 -g 8 [1] > > Also I have tested this patch can't make g_ether broken. > > [1], > -source of testusb : tools/usb/testusb.c under linux kernel; > > Signed-off-by: Ming Lei <tom.leiming@xxxxxxxxx> > Cc: Anand Gadiyar <gadiyar@xxxxxx> > Cc: Mike Frysinger <vapier@xxxxxxxxxx> > Cc: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx> I'm not 100% sure why not having autoclear was causing a failure with double-buffering enabled. I'd like this patch to be tested more on OMAP as well as on Blackfin/Davinci. I'll need time to study MUSB specs again to understand this, so I'll skip acking this patch and let Felipe/Sergei/Mike/Ajay take a look. Thanks for taking the time to debug this - if this patch series makes double buffering work reliably, that's a very good boost to throughput. - Anand > --- > drivers/usb/musb/musb_gadget.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c > index e0bd1c1..c0dfec4 100644 > --- a/drivers/usb/musb/musb_gadget.c > +++ b/drivers/usb/musb/musb_gadget.c > @@ -645,9 +645,9 @@ static void rxstate(struct musb *musb, struct musb_request *req) > */ > > csr |= MUSB_RXCSR_DMAENAB; > -#ifdef USE_MODE1 > if (!musb_ep->hb_mult) > csr |= MUSB_RXCSR_AUTOCLEAR; > +#ifdef USE_MODE1 > /* csr |= MUSB_RXCSR_DMAMODE; */ > > /* this special sequence (enabling and then > -- > 1.6.2.5 > > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html