On Fri, Feb 11, 2011 at 4:20 PM, Jarkko Nikula <jhnikula@xxxxxxxxx> wrote: > On Fri, 11 Feb 2011 12:15:18 +0530 > Keerthy <j-keerthy@xxxxxx> wrote: > >> From: Richard woodruff <r-woodruff2@xxxxxx> >> >> ProDB00017052 - ARDY interrupt reasserted after being cleared. >> This errata caused intermittent i2c instabilty(1 error per 3 hours) on several >> customer platforms. After applying the workaround the intermittent errors were >> not seen. This is not captured in the usual errata documents. >> >> The workaround is to have a double clear of ARDY status in >> irq handler. >> >> Signed-off-by: Richard woodruff <r-woodruff2@xxxxxx> >> Signed-off-by: Keerthy <j-keerthy@xxxxxx> >> --- >> drivers/i2c/busses/i2c-omap.c | 3 ++- >> 1 files changed, 2 insertions(+), 1 deletions(-) >> >> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c >> index 445de08..9bcefae 100644 >> --- a/drivers/i2c/busses/i2c-omap.c >> +++ b/drivers/i2c/busses/i2c-omap.c >> @@ -851,7 +851,8 @@ complete: >> OMAP_I2C_STAT_AL)) { >> omap_i2c_ack_stat(dev, stat & >> (OMAP_I2C_STAT_RRDY | OMAP_I2C_STAT_RDR | >> - OMAP_I2C_STAT_XRDY | OMAP_I2C_STAT_XDR)); >> + OMAP_I2C_STAT_XRDY | OMAP_I2C_STAT_XDR | >> + OMAP_I2C_STAT_ARDY)); > > Most probably this is correct but I was just wondering are there any use > for ARDY interrupt (register access ready) anyway and is the ARDY here > caused by omap_i2c_write_reg for STAT_NACK in a few lines above. > Hello Jarkko, ARDY interrupt indicates that the previous access has been performed and the registers are ready to be accessed again. Coming to the second part i checked even when the STAT_NACK bit is set and after omap_i2c_write_reg the ARDY bit is not set. So that does not seem to be the cause of ARDY getting set. > Just my 2 cents about possible further patches (while this having the > priority as fixes the issue). > > -- > Jarkko > -- Regards and Thanks, Keerthy -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html