i2c: mxs: Add PIO and mixed-DMA support
authorMarek Vasut <marex@denx.de>
Thu, 24 Jan 2013 12:56:21 +0000 (13:56 +0100)
committerWolfram Sang <w.sang@pengutronix.de>
Mon, 28 Jan 2013 04:26:45 +0000 (05:26 +0100)
commitfc91e401239a451f7f4269de0b0ae6d70d856d48
tree411dd9d8d3df4b8e4ac6833f23ac94dcb0b33ff0
parentdc6fea4456aeadd3452638668101f269fbb9fd0d
i2c: mxs: Add PIO and mixed-DMA support

Add support for the PIO mode and mixed PIO/DMA mode support. The mixed
PIO/DMA is the default mode of operation. This shall leverage overhead
that the driver creates due to setting up DMA descriptors even for very
short transfers.

The current boundary between PIO/DMA 8 bytes, transfers shorter than 8
bytes are transfered by PIO, longer transfers use DMA. The performance
of write transfers remains unchanged, while there is a minor improvement
of read performance. Reading 16KB EEPROM with DMA-only operations gives
a read speed of 39.5KB/s, while with then new mixed-mode the speed is
blazing 40.6KB/s.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
drivers/i2c/busses/i2c-mxs.c