linux/drivers/usb/musb
supriya karanth a70b84421b usb: musb: Double buffering issues in host mode TX
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: supriya karanth <supriya.karanth@stericsson.com>
Signed-off-by: Praveena NADAHALLY <praveen.nadahally@stericsson.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2013-01-17 15:45:44 +02:00
..
am35x.c ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
blackfin.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
blackfin.h usb: musb: drop a gigantic amount of ifdeferry 2011-07-01 14:31:10 -07:00
cppi_dma.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
cppi_dma.h headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
da8xx.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
davinci.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
davinci.h usb: musb: davinci: Fix build breakage 2012-06-04 18:29:42 +03:00
Kconfig usb: musb: patches for v3.7 merge window 2012-09-11 13:56:29 -07:00
Makefile usb: musb: Add support for ti81xx platform 2012-05-04 13:59:34 +03:00
musb_core.c usb: musb: use io{read,write}*_rep accessors 2012-12-17 17:15:13 -08:00
musb_core.h usb: musb: remove hand-crafted id handling 2012-11-01 12:32:23 +02:00
musb_debug.h usb: musb: remove extern qualifier from musb_debug.h header 2011-12-21 13:21:02 +02:00
musb_debugfs.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
musb_dma.h usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
musb_dsps.c usb: musb: dsps: Remove duplicate inclusion of linux/of.h 2013-01-10 14:14:03 +02:00
musb_gadget_ep0.c usb: musb: avoid FADDR read access 2012-10-31 15:21:01 +02:00
musb_gadget.c usb: musb: set TXMAXP and AUTOSET for full speed bulk in device mode 2013-01-10 14:15:19 +02:00
musb_gadget.h usb: musb: gadget: do not poke with gadget's list_head 2011-02-17 21:11:46 +02:00
musb_host.c usb: musb: Double buffering issues in host mode TX 2013-01-17 15:45:44 +02:00
musb_host.h usb: musb: host: Handle highmem in PIO mode 2012-08-07 14:27:18 +03:00
musb_io.h usb: musb: use io{read,write}*_rep accessors 2012-12-17 17:15:13 -08:00
musb_regs.h usb: musb: tusb6010: fix compilation 2011-08-12 11:52:50 +03:00
musb_virthub.c usb: musb: drop useless board_mode usage 2012-08-09 12:34:46 +03:00
musbhsdma.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
musbhsdma.h usb: musb: remove generic_interrupt 2012-11-06 15:32:13 +02:00
omap2430.c usb: musb: omap2430: kill redundant assignments in omap2430_probe() 2013-01-17 15:45:43 +02:00
omap2430.h ARM: OMAP: move OMAP USB platform data to <linux/platform_data/omap-usb.h> 2012-10-24 14:26:55 -07:00
tusb6010_omap.c ARM: arm-soc: power management and clock changes 2012-12-13 10:58:20 -08:00
tusb6010.c musb: tusb6010: use io{read,write}*_rep accessors 2012-12-17 17:15:13 -08:00
tusb6010.h
ux500_dma.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ux500.c usb: musb: ux500: use clk_prepare_enable and clk_disable_unprepare 2013-01-17 15:45:32 +02:00