From: "Sudhakar Rajashekhara" <sudhakar.raj@ti.com>
To: "'Andrew Morton'" <akpm@linux-foundation.org>
Cc: linux-mtd@lists.infradead.org,
davinci-linux-open-source@linux.davincidsp.com,
nsnehaprabha@ti.com, dwmw2@infradead.org
Subject: RE: [PATCH] mtd-nand: davinci: correct 4-bit error correction
Date: Wed, 14 Jul 2010 16:55:34 +0530 [thread overview]
Message-ID: <025e01cb2347$46817310$d3845930$@raj@ti.com> (raw)
In-Reply-To: <20100713104126.95891684.akpm@linux-foundation.org>
Hi,
On Tue, Jul 13, 2010 at 23:11:26, Andrew Morton wrote:
> On Tue, 13 Jul 2010 15:02:59 +0530 "Sudhakar Rajashekhara" <sudhakar.raj@ti.com> wrote:
>
> > Hi,
> >
> > On Mon, Jul 12, 2010 at 11:58:18, Sudhakar Rajashekhara wrote:
> > > On Sat, Jul 10, 2010 at 04:09:32, Andrew Morton wrote:
> > > > On Fri, 9 Jul 2010 10:59:49 +0530
> > > > Sudhakar Rajashekhara <sudhakar.raj@ti.com> wrote:
> > > >
> > > > > +
> > > > > + /*
> > > > > + * ECC_STATE field reads 0x3 (Error correction complete) immediately
> > > > > + * after setting the 4BITECC_ADD_CALC_START bit. So if you immediately
> > > > > + * begin trying to poll for the state, you may fall right out of your
> > > > > + * loop without any of the correction calculations having taken place.
> > > > > + * The recommendation from the hardware team is to wait till ECC_STATE
> > > > > + * reads less than 4, which means ECC HW has entered correction state.
> > > > > + */
> > > > > + do {
> > > > > + ecc_state = (davinci_nand_readl(info,
> > > > > + NANDFSR_OFFSET) >> 8) & 0x0f;
> > > > > + cpu_relax();
> > > > > + } while ((ecc_state < 4) && time_before(jiffies, timeo));
> > > >
> > > > An up-to-100-milliseond busy wait is pretty bad. For how long do you
> > > > expect this to spin in practice?
> > >
> > > On the hardware, I have never seen this taking 100 msec to come out of
> > > the loop. I'll check with the hardware folks on the maximum time to wait
> > > for, before the ECC engine is ready.
> >
> > I checked this with the hardware team but no one is sure about the exact
> > time one should wait before the ECC engine becomes ready. But everyone is
> > of the opinion that 100 loop cycles should be enough. To be on the safer
> > side, I'll be changing the timeout to 10 milliseconds in the next version
> > of this patch.
>
> Going from 100ms down to 10ms sounds a bit risky. It'd be better to
> retain the 100ms and to make the kernel spend most of that time
> sleeping, rather than busywaiting, IMO.
>
I chose 100ms timeout randomly, but today I did some calculation using
do_gettimeofday() to find out the actual time spent inside the loop. I
found that, control is coming out of loop within 5 microseconds. So I'll
go ahead and use usecs_to_jiffies(100) as timeout. Busywaiting for such
a short duration may not be a problem.
Regards,
Sudhakar
next prev parent reply other threads:[~2010-07-14 11:31 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-09 5:29 [PATCH] mtd-nand: davinci: correct 4-bit error correction Sudhakar Rajashekhara
2010-07-09 22:39 ` Andrew Morton
2010-07-12 6:28 ` Sudhakar Rajashekhara
2010-07-13 9:32 ` Sudhakar Rajashekhara
2010-07-13 17:41 ` Andrew Morton
2010-07-14 11:25 ` Sudhakar Rajashekhara [this message]
-- strict thread matches above, loose matches on Subject: below --
2009-11-03 10:31 [PATCH] mtd-nand: davinci: Correct " Sudhakar Rajashekhara
2009-11-10 15:05 ` Artem Bityutskiy
2009-11-10 15:05 ` Artem Bityutskiy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='025e01cb2347$46817310$d3845930$@raj@ti.com' \
--to=sudhakar.raj@ti.com \
--cc=akpm@linux-foundation.org \
--cc=davinci-linux-open-source@linux.davincidsp.com \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=nsnehaprabha@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.