usb: musb: ux500: optimize DMA callback routine
authorPer Forlin <per.forlin@linaro.org>
Wed, 17 Aug 2011 09:03:40 +0000 (11:03 +0200)
committerFelipe Balbi <balbi@ti.com>
Mon, 12 Dec 2011 09:51:39 +0000 (11:51 +0200)
commitbe18a251892ab85d1bc10d87d336ee25f8dba615
treef49d961002ab75e4f3af1833aa1470b85337485d
parentdc47ce90c3a822cd7c9e9339fe4d5f61dcb26b50
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>
drivers/usb/musb/ux500_dma.c