[PATCH] NAND: Fix NAND ECC errors on AMD Au1550
Leif Lindholm
leif.lindholm at i3micro.com
Tue Nov 1 10:50:39 EST 2005
On Tue, 2005-11-01 at 18:29 +0300, Sergei Shtylylov wrote:
> > Attached is an incremental patch on top of Sergeys latest patch
> > (yesterday). Is that's ok, or should I do the same for the old one?
>
> Alas, I have to NAK your patch.
Ok.
> Note, that with NAND_CMD_READID page_addr of -1 is always passed (so we
> only write out the 1-byte column address) on the address phase, and we just
> won't get there for READID command....
> Therefore, neither -CE wil be overridden nor local_irq_save() be executed
> for READID case...
Well, I guess I cheated a bit.
In the more well-tested version of the driver (using your older patch),
I actually do the force-assert for (column != -1) as well.
When doing the merge here, I must have messed up something while testing
and out of pure confusion decided that I didn't have to include that
part.
> > + if (ce_override) {
> > /* Apply a short delay always to ensure that we do wait tWB. */
> > ndelay(100);
> > /* Wait for a chip to become ready... */
> > @@ -442,6 +431,19 @@ static void au1550_command(struct mtd_in
> > local_irq_restore(flags);
>
> ... and later you get the CPU flags corrupted.
Oops...
See above.
> Has your READID problem arisen with or without my patch?
Your patch fixed the problem of a collision with the NOR flash.
But only after I added the READID force-assert. Before that it caused
the NAND chip to stop being detected.
regards
/
Leif
More information about the linux-mtd
mailing list