[SPAM] Re: P30 flash left in read status mode after a write
nico at cam.org
Wed Feb 14 15:33:09 EST 2007
On Wed, 14 Feb 2007, Jon Ringle wrote:
> Nicolas Pitre wrote:
> > First, why is this a problem for you?
> This is a problem on our (unusual) hardware because we have a Pentium M
> processor (not running Linux) that reads fconfig partition outside the context
> of the IXP processor that is running Linux. It does so via data path: Pentium
> -> PCI -> IXP Expansion bus -> Flash. This data path allows the Pentium to
> directly access the fconfig partition without needing any active code on the
> IXP's arm core processor to do anything to facilitate such access by the
> Pentium. However, when the mtd driver leaves the flash in read status mode,
> the Pentium just reads 0x0080 when trying to read the fconfig partition. With
> a change to have the mtd driver put the flash back into ready mode after a
> write, then I think that the Pentium only needs to deal with a temporary read
> failure if it happens to do a read at the same time that a write is occurring
> on the jffs2. In which case, the Pentium code simply spins retrying to do the
> read until it is successful.
And how do you determine that you have a read failure?
Because the flash doesn't necessarily always have 0x00800080 to show
when outside of the read mode.
Of course, since you have an unusual setup you can have an unusual patch
in your own kernel tree for this issue. But this isn't entirely safe
since the Pentium code might be fooled by some other flash status output
that doesn,t look like a read failure.
More information about the linux-mtd