* [PATCH] i2c-omap: Double clear of ARDY status in IRQ handler
@ 2011-02-11 6:45 Keerthy
[not found] ` <1297406718-24147-1-git-send-email-j-keerthy-l0cyMroinI0@public.gmane.org>
0 siblings, 1 reply; 7+ messages in thread
From: Keerthy @ 2011-02-11 6:45 UTC (permalink / raw)
To: ben-i2c-elnMNo+KYs3YtjvyW6yDsg, linux-i2c-u79uwXL29TY76Z2rM5mHXA
Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA, j-keerthy-l0cyMroinI0,
Richard woodruff
From: Richard woodruff <r-woodruff2-l0cyMroinI0@public.gmane.org>
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-l0cyMroinI0@public.gmane.org>
Signed-off-by: Keerthy <j-keerthy-l0cyMroinI0@public.gmane.org>
---
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));
omap_i2c_complete_cmd(dev, err);
return IRQ_HANDLED;
}
--
1.7.0.4
^ permalink raw reply related [flat|nested] 7+ messages in thread[parent not found: <1297406718-24147-1-git-send-email-j-keerthy-l0cyMroinI0@public.gmane.org>]
* Re: [PATCH] i2c-omap: Double clear of ARDY status in IRQ handler [not found] ` <1297406718-24147-1-git-send-email-j-keerthy-l0cyMroinI0@public.gmane.org> @ 2011-02-11 10:50 ` Jarkko Nikula 2011-02-14 10:01 ` J, KEERTHY 2011-02-15 0:05 ` Kevin Hilman 1 sibling, 1 reply; 7+ messages in thread From: Jarkko Nikula @ 2011-02-11 10:50 UTC (permalink / raw) To: Keerthy Cc: ben-i2c-elnMNo+KYs3YtjvyW6yDsg, linux-i2c-u79uwXL29TY76Z2rM5mHXA, linux-omap-u79uwXL29TY76Z2rM5mHXA, Richard woodruff On Fri, 11 Feb 2011 12:15:18 +0530 Keerthy <j-keerthy-l0cyMroinI0@public.gmane.org> wrote: > From: Richard woodruff <r-woodruff2-l0cyMroinI0@public.gmane.org> > > 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-l0cyMroinI0@public.gmane.org> > Signed-off-by: Keerthy <j-keerthy-l0cyMroinI0@public.gmane.org> > --- > 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] i2c-omap: Double clear of ARDY status in IRQ handler 2011-02-11 10:50 ` Jarkko Nikula @ 2011-02-14 10:01 ` J, KEERTHY 0 siblings, 0 replies; 7+ messages in thread From: J, KEERTHY @ 2011-02-14 10:01 UTC (permalink / raw) To: Jarkko Nikula; +Cc: ben-i2c, linux-i2c, linux-omap, Richard woodruff On Fri, Feb 11, 2011 at 4:20 PM, Jarkko Nikula <jhnikula@gmail.com> wrote: > On Fri, 11 Feb 2011 12:15:18 +0530 > Keerthy <j-keerthy@ti.com> wrote: > >> From: Richard woodruff <r-woodruff2@ti.com> >> >> 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@ti.com> >> Signed-off-by: Keerthy <j-keerthy@ti.com> >> --- >> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] i2c-omap: Double clear of ARDY status in IRQ handler [not found] ` <1297406718-24147-1-git-send-email-j-keerthy-l0cyMroinI0@public.gmane.org> 2011-02-11 10:50 ` Jarkko Nikula @ 2011-02-15 0:05 ` Kevin Hilman [not found] ` <877hd2xivn.fsf-l0cyMroinI0@public.gmane.org> 1 sibling, 1 reply; 7+ messages in thread From: Kevin Hilman @ 2011-02-15 0:05 UTC (permalink / raw) To: Keerthy Cc: ben-i2c-elnMNo+KYs3YtjvyW6yDsg, linux-i2c-u79uwXL29TY76Z2rM5mHXA, linux-omap-u79uwXL29TY76Z2rM5mHXA, Richard woodruff Keerthy <j-keerthy-l0cyMroinI0@public.gmane.org> writes: > From: Richard woodruff <r-woodruff2-l0cyMroinI0@public.gmane.org> > > 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. This (presumably internal) ProDB number above is meaningless in the public changelog. In lieu of a public erratum number, just summarize the erratum/instability seen, references to other relevant public errata (if any) would be useful too. IOW, "instability" isn't quite accurate enough. A more detailed description of the problem/instability is needed. Thanks, Kevin > > The workaround is to have a double clear of ARDY status in > irq handler. > > Signed-off-by: Richard woodruff <r-woodruff2-l0cyMroinI0@public.gmane.org> > Signed-off-by: Keerthy <j-keerthy-l0cyMroinI0@public.gmane.org> > --- > 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)); > omap_i2c_complete_cmd(dev, err); > return IRQ_HANDLED; > } ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <877hd2xivn.fsf-l0cyMroinI0@public.gmane.org>]
* Re: [PATCH] i2c-omap: Double clear of ARDY status in IRQ handler [not found] ` <877hd2xivn.fsf-l0cyMroinI0@public.gmane.org> @ 2011-02-15 4:43 ` J, KEERTHY [not found] ` <AANLkTikdDsq0mku6Jakq-cxA3jYYHQ7CL0sjwJ6wzXNh-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: J, KEERTHY @ 2011-02-15 4:43 UTC (permalink / raw) To: Kevin Hilman Cc: ben-i2c-elnMNo+KYs3YtjvyW6yDsg, linux-i2c-u79uwXL29TY76Z2rM5mHXA, linux-omap-u79uwXL29TY76Z2rM5mHXA, Richard woodruff On Tue, Feb 15, 2011 at 5:35 AM, Kevin Hilman <khilman-l0cyMroinI0@public.gmane.org> wrote: > Keerthy <j-keerthy-l0cyMroinI0@public.gmane.org> writes: > >> From: Richard woodruff <r-woodruff2-l0cyMroinI0@public.gmane.org> >> >> 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. > > This (presumably internal) ProDB number above is meaningless in the > public changelog. In lieu of a public erratum number, just summarize > the erratum/instability seen, references to other relevant public > errata (if any) would be useful too. IOW, "instability" isn't quite > accurate enough. A more detailed description of the problem/instability > is needed. > Kevin, Yes the ProDB number is internal. I will remove it from the change log. I will add a more detailed description of the problem. -- Regards and Thanks, Keerthy > Thanks, > > Kevin > >> >> The workaround is to have a double clear of ARDY status in >> irq handler. >> >> Signed-off-by: Richard woodruff <r-woodruff2-l0cyMroinI0@public.gmane.org> >> Signed-off-by: Keerthy <j-keerthy-l0cyMroinI0@public.gmane.org> >> --- >> 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)); >> omap_i2c_complete_cmd(dev, err); >> return IRQ_HANDLED; >> } > ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <AANLkTikdDsq0mku6Jakq-cxA3jYYHQ7CL0sjwJ6wzXNh-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH] i2c-omap: Double clear of ARDY status in IRQ handler [not found] ` <AANLkTikdDsq0mku6Jakq-cxA3jYYHQ7CL0sjwJ6wzXNh-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2011-02-15 23:52 ` Ben Dooks 2011-02-16 4:00 ` J, KEERTHY 0 siblings, 1 reply; 7+ messages in thread From: Ben Dooks @ 2011-02-15 23:52 UTC (permalink / raw) To: J, KEERTHY Cc: Kevin Hilman, ben-i2c-elnMNo+KYs3YtjvyW6yDsg, linux-i2c-u79uwXL29TY76Z2rM5mHXA, linux-omap-u79uwXL29TY76Z2rM5mHXA, Richard woodruff On Tue, Feb 15, 2011 at 10:13:58AM +0530, J, KEERTHY wrote: > On Tue, Feb 15, 2011 at 5:35 AM, Kevin Hilman <khilman-l0cyMroinI0@public.gmane.org> wrote: > > Keerthy <j-keerthy-l0cyMroinI0@public.gmane.org> writes: > > > >> From: Richard woodruff <r-woodruff2-l0cyMroinI0@public.gmane.org> > >> > >> 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. > > > > This (presumably internal) ProDB number above is meaningless in the > > public changelog. In lieu of a public erratum number, just summarize > > the erratum/instability seen, references to other relevant public > > errata (if any) would be useful too. IOW, "instability" isn't quite > > accurate enough. A more detailed description of the problem/instability > > is needed. > > > > Kevin, > > Yes the ProDB number is internal. I will remove it from the change log. > I will add a more detailed description of the problem. Leave it in a comment at the most, it might be useful, otherwise please respond to Kevin's review and then it'll be ready to merge. > -- > Regards and Thanks, > Keerthy > > > > Thanks, > > > > Kevin > > > >> > >> The workaround is to have a double clear of ARDY status in > >> irq handler. > >> > >> Signed-off-by: Richard woodruff <r-woodruff2-l0cyMroinI0@public.gmane.org> > >> Signed-off-by: Keerthy <j-keerthy-l0cyMroinI0@public.gmane.org> > >> --- > >> 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)); > >> omap_i2c_complete_cmd(dev, err); > >> return IRQ_HANDLED; > >> } > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-i2c" in > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Ben Dooks, ben-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org, http://www.fluff.org/ben/ Large Hadron Colada: A large Pina Colada that makes the universe disappear. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] i2c-omap: Double clear of ARDY status in IRQ handler 2011-02-15 23:52 ` Ben Dooks @ 2011-02-16 4:00 ` J, KEERTHY 0 siblings, 0 replies; 7+ messages in thread From: J, KEERTHY @ 2011-02-16 4:00 UTC (permalink / raw) To: Ben Dooks; +Cc: Kevin Hilman, linux-i2c, linux-omap, Richard woodruff On Wed, Feb 16, 2011 at 5:22 AM, Ben Dooks <ben-i2c@fluff.org> wrote: > On Tue, Feb 15, 2011 at 10:13:58AM +0530, J, KEERTHY wrote: >> On Tue, Feb 15, 2011 at 5:35 AM, Kevin Hilman <khilman@ti.com> wrote: >> > Keerthy <j-keerthy@ti.com> writes: >> > >> >> From: Richard woodruff <r-woodruff2@ti.com> >> >> >> >> 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. >> > >> > This (presumably internal) ProDB number above is meaningless in the >> > public changelog. In lieu of a public erratum number, just summarize >> > the erratum/instability seen, references to other relevant public >> > errata (if any) would be useful too. IOW, "instability" isn't quite >> > accurate enough. A more detailed description of the problem/instability >> > is needed. >> > >> >> Kevin, >> >> Yes the ProDB number is internal. I will remove it from the change log. >> I will add a more detailed description of the problem. > > Leave it in a comment at the most, it might be useful, otherwise please > respond to Kevin's review and then it'll be ready to merge. > Ben, I will add a more detailed description. -- Regards and Thanks, Keerthy >> -- >> Regards and Thanks, >> Keerthy >> >> >> > Thanks, >> > >> > Kevin >> > >> >> >> >> The workaround is to have a double clear of ARDY status in >> >> irq handler. >> >> >> >> Signed-off-by: Richard woodruff <r-woodruff2@ti.com> >> >> Signed-off-by: Keerthy <j-keerthy@ti.com> >> >> --- >> >> 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)); >> >> omap_i2c_complete_cmd(dev, err); >> >> return IRQ_HANDLED; >> >> } >> > >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- > Ben Dooks, ben@fluff.org, http://www.fluff.org/ben/ > > Large Hadron Colada: A large Pina Colada that makes the universe disappear. > > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2011-02-16 4:00 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-11 6:45 [PATCH] i2c-omap: Double clear of ARDY status in IRQ handler Keerthy
[not found] ` <1297406718-24147-1-git-send-email-j-keerthy-l0cyMroinI0@public.gmane.org>
2011-02-11 10:50 ` Jarkko Nikula
2011-02-14 10:01 ` J, KEERTHY
2011-02-15 0:05 ` Kevin Hilman
[not found] ` <877hd2xivn.fsf-l0cyMroinI0@public.gmane.org>
2011-02-15 4:43 ` J, KEERTHY
[not found] ` <AANLkTikdDsq0mku6Jakq-cxA3jYYHQ7CL0sjwJ6wzXNh-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-02-15 23:52 ` Ben Dooks
2011-02-16 4:00 ` J, KEERTHY
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).