* [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
* 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
* 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
* 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).