Re: [PATCH v4] usb: musb: Enable DMA mode1 RX for USB-Mass-Storage

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

 



On Tue, Jul 19, 2011 at 10:34 PM, Jassi Brar <jassisinghbrar@xxxxxxxxx> wrote:
>
> On Wed, Jul 20, 2011 at 10:41 AM, Vikram Pandita <vikram.pandita@xxxxxx> wrote:
> > From: Anand Gadiyar <gadiyar@xxxxxx>
> >
> > This patch enables the DMA mode1 RX support.
> > This feature is enabled based on the short_not_ok flag passed from
> > gadget drivers.
> >
> > This will result in a thruput performance gain of around
> > 40% for USB mass-storage/mtp use cases.
> >
> > Signed-off-by: Anand Gadiyar <gadiyar@xxxxxx>
> > Signed-off-by: Moiz Sonasath <m-sonasath@xxxxxx>
> > Signed-off-by: Vikram Pandita <vikram.pandita@xxxxxx>
> > Tested-by: Vikram Pandita <vikram.pandita@xxxxxx>
> > ---
> > v1 - initial push
> > v2 - fixed whitespace issues as per Sergei Shtylyov<sshtylyov@xxxxxxxxxx> comments
> > v3 - restor authorship to Anand Gadiyar <gadiyar@xxxxxx>
> > v4 - adding my signed-off as per Kevin Hilman <khilman@xxxxxx>
> >
> >  drivers/usb/musb/musb_gadget.c |   68 ++++++++++++++++++++++++---------------
> >  1 files changed, 42 insertions(+), 26 deletions(-)
>
> > @@ -683,6 +684,18 @@ static void rxstate(struct musb *musb, struct musb_request *req)
> >
> >        if (csr & MUSB_RXCSR_RXPKTRDY) {
> >                len = musb_readw(epio, MUSB_RXCOUNT);
> > +
> > +               /*
> > +                * Enable Mode 1 for RX transfers only for mass-storage
> > +                * use-case, based on short_not_ok flag which is set only
> > +                * from file_storage and f_mass_storage drivers
> > +                */
> > +
> > +               if (request->short_not_ok && len == musb_ep->packet_sz)
> > +                       use_mode_1 = 1;
> > +               else
> > +                       use_mode_1 = 0;
> > +
> There is nothing UMS class specific in this patch...
> (request->short_not_ok && len == musb_ep->packet_sz) may not be the
> signature of, and only of, Mass Storage Functions. So maybe removing
> the UMS mention from
> comment and change-log is a good idea.

Have you grepped the code in drivers/usb/gadget/*.*
only UMS sets this flag today and hence the use of this flag.

As i understand, on UMS, CSW/data/CBW  - the data part size is a known
size and to be safe that mode=1 dma is not stuck up,
the mode is enabled only for the gadget driver that sets short_not_ok
flag - and that today happens to be only UMS.

> You might want to add is-ep-type-bulk-out check to the condition
> though, so that it doesn't affect
> cases that you didn't verify.

TX path (IN host), already uses the mode=1 DMA and hence the comment
is not valid.
This patch just also enables mode=1 on RX path.
--
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


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux