]> git.baikalelectronics.ru Git - kernel.git/commit
i2c: rcar: handle RXDMA HW behaviour on Gen3
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Thu, 28 Jun 2018 20:45:38 +0000 (22:45 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Mon, 23 Jul 2018 18:10:56 +0000 (20:10 +0200)
commitfc7000e3df797334b9609c1e91e5bbc452564a6d
tree9c0acfd899adff2fd0dc3acc688fe15401d0ae46
parent0b85ad2ea2fc88521149672a68fea071aa34b4a9
i2c: rcar: handle RXDMA HW behaviour on Gen3

On Gen3, we can only do RXDMA once per transfer reliably. For that, we
must reset the device, then we can have RXDMA once. This patch
implements this. When there is no reset controller or the reset fails,
RXDMA will be blocked completely. Otherwise, it will be disabled after
the first RXDMA transfer. Based on a commit from the BSP by Hiromitsu
Yamasaki, yet completely refactored to handle multiple read messages
within one transfer.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-rcar.c