Revert "usb: musb: musb_cppi41: Handle ISOCH differently and not use the hrtimer."
authorDaniel Mack <zonque@gmail.com>
Thu, 19 Jun 2014 22:20:43 +0000 (00:20 +0200)
committerFelipe Balbi <balbi@ti.com>
Mon, 30 Jun 2014 19:26:28 +0000 (14:26 -0500)
commiteefae89e00cc7186fc8cde811e43074844af83c0
treeed6079cd2cbf18396d0f52589d4b2108ee1452c6
parent49a9e885306a54048cc81b1da6b7df2b692cd8c1
Revert "usb: musb: musb_cppi41: Handle ISOCH differently and not use the hrtimer."

This reverts commit 1af54b7a4.

The commit tried to address cases in which isochronous transfers are 'not
reliable', most probably in the tests conducted, polling for the
MUSB_TXCSR_TXPKTRDY bit in MUSB_TXCSR is done too late.

Hence, it installs a work struct which basically busy-polls for the bit in a
rather agressive way by rescheduling the work if the FIFO is not empty. With
USB audio devices, tests have shown that it takes approximately 100
iterations of the asynchronous worker until the FIFO signals completion,
which leads to 100% CPU loads when streaming audio.

The issue the patch tried to address can be handled differently, which is
what the next patch does.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Sebastian Reimers <sebastian.reimers@googlemail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/musb_cppi41.c