i2c: xiic: Fix Tx Interrupt path for grouped messages
authorRaviteja Narayanam <raviteja.narayanam@xilinx.com>
Wed, 20 Apr 2022 07:59:24 +0000 (13:29 +0530)
committerWolfram Sang <wsa@kernel.org>
Sat, 14 May 2022 14:02:36 +0000 (16:02 +0200)
commit4bca93abfffb049e2b52c62e7f0ccaf7022270c2
treed1236a6e9616c22200f4bbf2793b425107cf2639
parentb822039b8ec16b4837831404609fb1c1c2da3d33
i2c: xiic: Fix Tx Interrupt path for grouped messages

When a group of messages are sent from user space as a set, if
the last message has less than Tx FIFO DEPTH number of bytes
to transfer, Tx half empty interrupt is triggered continuously
from the hardware. It is due to Bus not busy interrupt coming
along with Tx half empty and tx empty.

Hence, service the Tx interrupts before Bus not busy interrupt
to update the i2c message status correctly.

Signed-off-by: Raviteja Narayanam <raviteja.narayanam@xilinx.com>
Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-xiic.c