USB: Drop cache flush bloat in EHCI-HCD
authorMarek Vasut <marex@denx.de>
Mon, 9 Apr 2012 02:07:46 +0000 (04:07 +0200)
committerMarek Vasut <marex@denx.de>
Sun, 20 May 2012 06:32:32 +0000 (08:32 +0200)
commitb8adb12095814260d2b5edb23663ddf0ab97b877
tree1b1cfd139dae8913b5fad9e76a2dc78329166666
parentde98e8b22a10676fd226318c92a9be7f519208ca
USB: Drop cache flush bloat in EHCI-HCD

Discard the creepy cache flushing mechanisms in ehci-hcd.c and replace them with
more straightforward flushing. In the new approach, the flushing takes place
directly in ehci_submit_async() call instead of going through the QH list and
flushing all members and buffers. This discards a lot of weird bit operations
on the members of QH and qTD structures.

NOTE: Certainly, this flushes even qTDs which are possibly unused in some
transactions, though the overhead of the previous code was much higher than is
the overhead of flushing two more cache lines (which most probably aren't even
cached).

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
drivers/usb/host/ehci-hcd.c