Messages in this thread | | | Subject | Re: [PATCH 3/3] mtd/nand : workaround for Freescale FCM to support large-page Nand chip | From | Artem Bityutskiy <> | Date | Sat, 17 Dec 2011 16:35:20 +0200 |
| |
On Mon, 2011-12-12 at 15:30 -0600, Scott Wood wrote: > On 12/12/2011 03:19 PM, Artem Bityutskiy wrote: > > On Mon, 2011-12-12 at 15:15 -0600, Scott Wood wrote: > >> NAND chips come from the factory with bad blocks marked at a certain > >> offset into each page. This offset is normally in the OOB area, but > >> since we change the layout from "4k data, 128 byte oob" to "2k data, 64 > >> byte oob, 2k data, 64 byte oob" the marker is no longer in the oob. On > >> first use we need to migrate the markers so that they are still in the oob. > > > > Ah, I see, thanks. Are you planning to implement in-kernel migration or > > use a user-space tool? > > That's the kind of answer I was hoping to get from Shuo. :-) > > Most likely is a firmware-based tool, but I'd like there to be some way > for the tool to mark that this has happened, so that the Linux driver > can refuse to do non-raw accesses to a chip that isn't marked as having > been migrated (or at least yell loudly in the log). > > Speaking of raw accesses, these are currently broken in the eLBC > driver... we need some way for the generic layer to tell us what kind of > access it is before the transaction starts, not once it wants to read > out the buffer (unless we add more hacks to delay the start of a read > transaction until first buffer access...). We'd be better off with a > high-level "read page/write page" function that does the whole thing > (not just buffer access, but command issuance as well).
It looks like currently you can re-define chip->read_page, so I guess you should rework MTD and make chip->write_page re-definable?
-- Best Regards, Artem Bityutskiy [unhandled content-type:application/pgp-signature] | |