]> 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>
Tue, 24 Jul 2018 12:56:12 +0000 (14:56 +0200)
commitc2ead705c3e9110fc160703da399aff56f65a993
tree79df77bec181d92ef8b194bbd42bd2e51cda06cb
parent9d0974d085bcc8c1e9e7da395e4e2a5f9a4e9133
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>
Cc: stable@kernel.org
drivers/i2c/busses/i2c-rcar.c