1. 29 5月, 2013 1 次提交
  2. 02 4月, 2013 1 次提交
    • R
      usb: musb: implement (un)map_urb_for_dma hooks · 8408fd1d
      Ruslan Bilovol 提交于
      MUSB controller cannot work in DMA mode with misaligned buffers,
      switching in PIO mode.
      
      HCD core has hooks that allow to override the default DMA
      mapping and unmapping routines for host controllers that have
      special DMA requirements, such as alignment constraints.
      
      It is observed that work in PIO mode is slow and it's better
      to align buffers properly before passing them to MUSB
      
      This increased throughput 80->120 MBits/s over musb@omap4 with
      USB Gigabit Ethernet adapter attached.
      
      Some ideas are taken from ehci-tegra.c
      Signed-off-by: NRuslan Bilovol <ruslan.bilovol@ti.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      8408fd1d
  3. 18 3月, 2013 1 次提交
  4. 17 1月, 2013 1 次提交
    • S
      usb: musb: Double buffering issues in host mode TX · a70b8442
      supriya karanth 提交于
      Whenever an URB is programmed for transfer, the TXFIFO
      is flushed. This results in valid packets of the
      previous transfer to get flushed when double buffering
      is enabled (The MUSB_TXCSR_FIFONOTEMPTY bit in TXCSR
      is set indicating that a packet in the FIFO is yet to be sent)
      For ex:- In Host mode Audio, noise is heard in the headset
      when double buffering is enabled on the ISO endpoint.
      The fifo flush is removed for double buffering case.
      The fifo is now flushed only in cases of error or when
      aborting a transfer.
      
      Also, In Host MSC case, data toggle errors are seen when double
      buffering is enabled on the bulk endpoint. Whenever an URB is
      programmed for transfer, the data toggle is set manually
      resulting in data toggle errors on the bus. Leave the data
      toggle handling upto the hardware in the double buffering case.
      Signed-off-by: Nsupriya karanth <supriya.karanth@stericsson.com>
      Signed-off-by: NPraveena NADAHALLY <praveen.nadahally@stericsson.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      a70b8442
  5. 10 1月, 2013 1 次提交
  6. 31 10月, 2012 1 次提交
  7. 07 9月, 2012 1 次提交
    • Y
      usb: musb: host: fix for musb_start_urb Oops · 3067779b
      yuzheng ma 提交于
      when using musb_urb_enqueue to submit three urbs to the same endpoint, when
      hep->hcpriv is NULL, qh will be allocated when the first urb is completed.
      
      When the IRQ completes the next two urbs, qh->hep->hcpriv will be set to NULL.
      Now the second urb get musb->lock and executes musb_schedule(), but
      next_urb(qh) is NULL, so musb_start_urb will Oops.
      
      [ balbi@ti.com : practically rewrote commit log so it makes sense ]
      Signed-off-by: Nmayuzheng <myz147@gmail.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      3067779b
  8. 07 8月, 2012 1 次提交
  9. 03 8月, 2012 2 次提交
  10. 22 6月, 2012 1 次提交
  11. 04 6月, 2012 1 次提交
  12. 11 4月, 2012 1 次提交
  13. 14 12月, 2011 1 次提交
  14. 24 8月, 2011 1 次提交
    • K
      USB: use usb_endpoint_maxp() instead of le16_to_cpu() · 29cc8897
      Kuninori Morimoto 提交于
      Now ${LINUX}/drivers/usb/* can use usb_endpoint_maxp(desc) to get maximum packet size
      instead of le16_to_cpu(desc->wMaxPacketSize).
      This patch fix it up
      
      Cc: Armin Fuerst <fuerst@in.tum.de>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Johannes Erdfelt <johannes@erdfelt.com>
      Cc: Vojtech Pavlik <vojtech@suse.cz>
      Cc: Oliver Neukum <oliver@neukum.name>
      Cc: David Kubicek <dave@awk.cz>
      Cc: Johan Hovold <jhovold@gmail.com>
      Cc: Brad Hards <bhards@bigpond.net.au>
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Cc: Thomas Dahlmann <dahlmann.thomas@arcor.de>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: David Lopo <dlopo@chipidea.mips.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Michal Nazarewicz <m.nazarewicz@samsung.com>
      Cc: Xie Xiaobo <X.Xie@freescale.com>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Jiang Bo <tanya.jiang@freescale.com>
      Cc: Yuan-hsin Chen <yhchen@faraday-tech.com>
      Cc: Darius Augulis <augulis.darius@gmail.com>
      Cc: Xiaochen Shen <xiaochen.shen@intel.com>
      Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Cc: OKI SEMICONDUCTOR, <toshiharu-linux@dsn.okisemi.com>
      Cc: Robert Jarzmik <robert.jarzmik@free.fr>
      Cc: Ben Dooks <ben@simtec.co.uk>
      Cc: Thomas Abraham <thomas.ab@samsung.com>
      Cc: Herbert Pötzl <herbert@13thfloor.at>
      Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
      Cc: Roman Weissgaerber <weissg@vienna.at>
      Acked-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Cc: Tony Olech <tony.olech@elandigitalsystems.com>
      Cc: Florian Floe Echtler <echtler@fs.tum.de>
      Cc: Christian Lucht <lucht@codemercs.com>
      Cc: Juergen Stuber <starblue@sourceforge.net>
      Cc: Georges Toth <g.toth@e-biz.lu>
      Cc: Bill Ryder <bryder@sgi.com>
      Cc: Kuba Ober <kuba@mareimbrium.org>
      Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      29cc8897
  15. 09 6月, 2011 1 次提交
  16. 13 5月, 2011 2 次提交
  17. 07 5月, 2011 1 次提交
  18. 05 2月, 2011 1 次提交
  19. 01 2月, 2011 1 次提交
    • F
      usb: musb: disable double buffering when it's broken · 06624818
      Felipe Balbi 提交于
      We know that blackfin doesn't support double
      buffering feature as of today. So we add a
      flag set by musb_platform_init() to forcefully
      disable that feature.
      
      Such flag is created and marked as deprecated
      to force us to find a solution for the missing
      double buffering support on blackfin.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      06624818
  20. 23 10月, 2010 2 次提交
  21. 25 9月, 2010 1 次提交
  22. 01 5月, 2010 1 次提交
  23. 19 3月, 2010 1 次提交
  24. 03 3月, 2010 2 次提交
  25. 12 12月, 2009 1 次提交
  26. 01 12月, 2009 1 次提交
  27. 13 7月, 2009 2 次提交
  28. 16 6月, 2009 7 次提交
  29. 18 4月, 2009 1 次提交
    • S
      USB: musb: fix isochronous TXDMA (take 2) · 6b6e9710
      Sergei Shtylyov 提交于
      Multi-frame isochronous TX URBs transfers in DMA mode never
      complete with CPPI DMA because musb_host_tx() doesn't restart
      DMA on the second frame, only emitting a debug message.
      With Inventra DMA they complete, but in PIO mode.  To fix:
      
       - Factor out programming of the DMA transfer from
         musb_ep_program() into musb_tx_dma_program();
      
       - Reorder the code at the end of musb_host_tx() to
         facilitate the fallback to PIO iff DMA fails;
      
       - Handle the buffer offset consistently for both
         PIO and DMA modes;
      
       - Add an argument to musb_ep_program() for the same
         reason (it only worked correctly with non-zero
         offset of the first frame in PIO mode);
      
       - Set the completed isochronous frame descriptor's
         'actual_length' and 'status' fields correctly in
         DMA mode.
      
      Also, since CPPI reportedly doesn't like sending isochronous
      packets in the RNDIS mode, change the criterion for this
      mode to be used only for multi-packet transfers.  (There's
      no need for that mode in the single-packet case anyway.)
      
      [ dbrownell@users.sourceforge.net: split comment paragraph
      into bullet list, shrink patch delta, style tweaks ]
      Signed-off-by: NPavel Kiryukhin <pkiryukhin@ru.mvista.com>
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6b6e9710