]> git.baikalelectronics.ru Git - kernel.git/commit
i2c: uniphier-f: fill TX-FIFO only in IRQ handler for repeated START
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Thu, 6 Dec 2018 03:55:26 +0000 (12:55 +0900)
committerWolfram Sang <wsa@the-dreams.de>
Thu, 6 Dec 2018 22:14:59 +0000 (23:14 +0100)
commitaae1dfee8d368cd9670600801ace21e98e37bec3
treea110d8df03db4882e4caaeb21460e2407736d786
parent9222c0d3a709e8a36b8952f34232ea02647eacbf
i2c: uniphier-f: fill TX-FIFO only in IRQ handler for repeated START

- For a repeated START condition, this controller starts data transfer
   immediately after the slave address is written to the TX-FIFO.

 - Once the TX-FIFO empty interrupt is asserted, the controller makes
   a pause even if additional data are written to the TX-FIFO.

Given those circumstances, the data after a repeated START may not be
transferred if the interrupt is asserted while the TX-FIFO is being
filled up. A more reliable way is to append TX data only in the
interrupt handler.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-uniphier-f.c