]> rtime.felk.cvut.cz Git - zynq/linux.git/commit
i2c: cadence: Handle > 252 byte transfers
authorHarini Katakam <harini.katakam@xilinx.com>
Fri, 16 May 2014 11:11:37 +0000 (16:41 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Tue, 27 May 2014 11:30:12 +0000 (13:30 +0200)
commit92235a3502e19d318dc5df262f3a29fc1719ec59
tree057b9bd9b0c89c69de3f6f780f161249e5e28153
parent356756d03e88662b0a5b8b8fa0c6e8501b01198b
i2c: cadence: Handle > 252 byte transfers

The I2C controller sends a NACK to the slave when transfer size register
reaches zero, irrespective of the hold bit. So, in order to handle transfers
greater than 252 bytes, the transfer size register has to be maintained at a
value >= 1. This patch implements the same.
The interrupt status is cleared at the beginning of the isr instead of
the end, to avoid missing any interrupts - this is in sync with the new
transfer handling.

Signed-off-by: Harini Katakam <harinik@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/i2c/busses/i2c-cadence.c