Thread (2 messages) 2 messages, 2 authors, 2011-02-14

Re: [PATCH] i2c-omap: Double clear of ARDY status in IRQ handler

From: Jarkko Nikula <hidden>
Date: 2011-02-11 10:50:59
Also in: linux-omap

On Fri, 11 Feb 2011 12:15:18 +0530
Keerthy [off-list ref] wrote:
quoted hunk
From: Richard woodruff <redacted>

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 <redacted>
Signed-off-by: Keerthy <redacted>
---
 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.

Just my 2 cents about possible further patches (while this having the
priority as fixes the issue).

-- 
Jarkko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help