mbox series

[00/11] i2c: designware: Slave fixes and generic cleanups

Message ID 20221026123912.2833271-1-jarkko.nikula@linux.intel.com
Headers show
Series i2c: designware: Slave fixes and generic cleanups | expand

Message

Jarkko Nikula Oct. 26, 2022, 12:39 p.m. UTC
Hi

I discovered recently while doing other cleanups.that reads and writes
from I2C bus to i2c-designware-slave.c don't work correctly.

First two patches are fixes to slave code and meant for normal development
cycle since it looks these issues have been always here.

I Cc'ed Michael Wu <michael.wu@vatics.com> who has fixed
i2c-designware-slave.c before and Tian Ye <tianye@sugon.com> who recently
reported a write issue.

Could you test first two patches (or the whole set) that my patches won't
cause regressions to your existing test cases or does the 2nd patch fix
the write issue?

Rest of patches are minor changes and cleanups to both master and slave
parts.

Patchset is done on top of commit fd142e074e89 ("Merge branch
'i2c/for-current-fixed' into i2c/for-next") but may apply on top of
v6.1-rc1 too.

Jarkko Nikula (11):
  i2c: designware: Fix slave state machine for sequential reads
  i2c: designware: Empty receive FIFO in slave interrupt handler
  i2c: designware: Define software status flags with BIT()
  i2c: designware: Remove needless initializations from
    i2c_dw_reg_slave()
  i2c: designware: Remove unused completion code from
    i2c-designware-slave
  i2c: designware: Simplify slave interrupt handler nesting
  i2c: designware: Do not process interrupt when device is suspended
  i2c: designware: Move debug print in i2c_dw_isr()
  i2c: designware: Simplify master interrupt handler nesting
  i2c: designware: Remove common i2c_dw_disable_int()
  i2c: designware: Align defines in i2c-designware-core.h

 drivers/i2c/busses/i2c-designware-common.c |   5 -
 drivers/i2c/busses/i2c-designware-core.h   | 235 ++++++++++-----------
 drivers/i2c/busses/i2c-designware-master.c |  44 ++--
 drivers/i2c/busses/i2c-designware-slave.c  |  77 +++----
 4 files changed, 164 insertions(+), 197 deletions(-)