ehci-hcd: Boost transfer speed
authorBenoît Thébaudeau <benoit.thebaudeau@advansee.com>
Fri, 10 Aug 2012 16:22:32 +0000 (18:22 +0200)
committerMarek Vasut <marex@denx.de>
Sat, 1 Sep 2012 14:21:52 +0000 (16:21 +0200)
commit5cec214ecd7ddabc5480958c5355139c07ba8cee
tree3e33c13976b8dbddbac00b36972f70ffdac3da67
parent14eb79b7a0861b299c6811e779ece7acf1cf320b
ehci-hcd: Boost transfer speed

This patch takes advantage of the hardware EHCI qTD queuing mechanism to avoid
software and transfer splitting overhead so as to make transfers as fast as
possible.

The only drawback is a call to memalign. However, this is fast compared to the
transfer timings, and the heap size to allocate is small, e.g. 128 kiB in the
worst case for a transfer length of 65535 packets of 512 bytes.

Tested on i.MX25, i.MX35 and i.MX51. In my test conditions, the speed gain was
very significant (several times faster), which is really appreciable when
accessing large files.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Ilya Yanok <ilya.yanok@cogentembedded.com>
Cc: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
drivers/usb/host/ehci-hcd.c