i2c: rcar: add DMA support
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Sat, 14 May 2016 12:17:08 +0000 (14:17 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Sun, 15 May 2016 06:52:49 +0000 (08:52 +0200)
commit73e8b0528346e88a0624f2d9821f382cd6256677
treee6dcfd5eefeee9ac5e5b77645e52f71dc10a516a
parent40027b2fffc2dcef20080847b0913d210ef3ced0
i2c: rcar: add DMA support

Make it possible to transfer i2c message buffers via DMA.
Start/Stop/Sending_Slave_Address and some data is still handled using
the old state machine, it is sending the bulk of the data that is done
via DMA.

The first byte of a transmission and the last two bytes of reception are
sent/received using PIO. This is needed for the HW to have access to the
first byte before DMA transmit and to be able to set the STOP condition
for DMA reception.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Acked-by: Rob Herring <robh@kernel.org>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
[wsa: fixed a checkpatch warning]
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Documentation/devicetree/bindings/i2c/i2c-rcar.txt
drivers/i2c/busses/i2c-rcar.c