linux/drivers/usb/musb
Per Forlin be18a25189 usb: musb: ux500: optimize DMA callback routine
Skip the use of work queue and call musb_dma_completion() directly from
DMA callback context.

Here follows measurements on a Snowball board with ondemand governor active.

Performance using work queue:
(105 MB) copied, 6.23758 s, 16.8 MB/s
(105 MB) copied, 5.7151 s, 18.3 MB/s
(105 MB) copied, 5.83583 s, 18.0 MB/s
(105 MB) copied, 5.93611 s, 17.7 MB/s

Performance without work queue
(105 MB) copied, 5.62173 s, 18.7 MB/s
(105 MB) copied, 5.61811 s, 18.7 MB/s
(105 MB) copied, 5.57817 s, 18.8 MB/s
(105 MB) copied, 5.58549 s, 18.8 MB/s

Signed-off-by: Per Forlin <per.forlin@linaro.org>
Acked-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2011-12-12 11:51:39 +02:00
..
am35x.c usb: musb: fix compilation breakage introduced by de47725 2011-11-14 11:51:32 -08:00
blackfin.c usb: musb: blackfin: include prefetch head file 2011-08-12 11:52:51 +03:00
blackfin.h usb: musb: drop a gigantic amount of ifdeferry 2011-07-01 14:31:10 -07:00
cppi_dma.c usb: musb: cppi: fix build errors due to DBG and missing musb variable 2011-08-12 11:52:47 +03:00
cppi_dma.h
da8xx.c usb: musb: fix compilation breakage introduced by de47725 2011-11-14 11:51:32 -08:00
davinci.c ARM: gpio: davinci: convert drivers to use asm/gpio.h rather than mach/gpio.h 2011-08-08 14:27:55 +01:00
davinci.h
Kconfig usb: musb: hdrc: fix dependency on USB_GADGET_DUALSPEED in Kconfig 2011-11-14 11:51:18 -08:00
Makefile usb: musb: drop a gigantic amount of ifdeferry 2011-07-01 14:31:10 -07:00
musb_core.c usb: musb: PM: fix context save/restore in suspend/resume path 2011-11-29 23:19:03 +09:00
musb_core.h usb: musb: tusb6010: fix compilation 2011-08-12 11:52:50 +03:00
musb_debug.h usb: musb: drop unneeded musb_debug trickery 2011-05-13 14:34:04 +03:00
musb_debugfs.c musb_debugfs.c: remove unneeded includes on ARM 2011-09-26 10:08:31 -04:00
musb_dma.h usb: musb: introduce api for dma code to check compatibility with usb request 2011-02-01 10:41:30 +02:00
musb_gadget_ep0.c musb_gadget: Fix for spurious interrupts on endpoint zero. 2011-09-09 15:58:02 -07:00
musb_gadget.c usb: udc: Fix gadget driver's speed check in various UDC drivers 2011-11-29 23:19:04 +09: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: use usb_endpoint_maxp() instead of le16_to_cpu() 2011-08-23 09:47:40 -07:00
musb_host.h usb: musb: drop a gigantic amount of ifdeferry 2011-07-01 14:31:10 -07:00
musb_io.h usb: musb: add Kconfig options for each glue layer 2010-12-10 10:21:09 +02:00
musb_regs.h usb: musb: tusb6010: fix compilation 2011-08-12 11:52:50 +03:00
musb_virthub.c usb: musb: drop a gigantic amount of ifdeferry 2011-07-01 14:31:10 -07:00
musbhsdma.c USB: irq: Remove IRQF_DISABLED 2011-09-18 01:39:36 -07:00
musbhsdma.h Merge branches 'devel-cleanup', 'devel-board', 'devel-early-init' and 'devel-ti816x' into omap-for-linus 2011-02-16 11:32:38 -08:00
omap2430.c usb: musb: drop a gigantic amount of ifdeferry 2011-07-01 14:31:10 -07:00
omap2430.h
tusb6010_omap.c usb: musb: tusb6010: fix compilation 2011-08-12 11:52:50 +03:00
tusb6010.c usb: musb: tusb6010: fix compilation 2011-08-12 11:52:50 +03:00
tusb6010.h
ux500_dma.c usb: musb: ux500: optimize DMA callback routine 2011-12-12 11:51:39 +02:00
ux500.c usb: musb: ux500: copy dma mask from platform device to musb device 2011-04-13 11:50:57 +03:00