On Saturday 14 March 2009, [email protected] wrote: > From: Sneha Narnakaje <[email protected]> > > This patch adds support for NAND devices with 4K page > size and 128bytes of OOB. In the patch, the macros for > max page and oob sizes are updated. The nand_ecclayout > data structure is also updated accordingly. Note that > The same macros will have to be modified if the support > has to be extended up to 8K page size.
This patch will need to go to the MTD list and LKML. (Judging by my experience ... MTD list will be a NOP.) But, it will be rejected; see below. I think some other folk were working on 4K page sizes, so maybe there's a more accepted solution by now. Agreed that it's time to push a bit on 4K page support, since such chips have been shipping for a while now. > Signed-off-by: Sandeep Paulraj <[email protected]> > Signed-off-by: Sneha Narnakaje <[email protected]> > --- > include/linux/mtd/nand.h | 4 ++-- > include/mtd/mtd-abi.h | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h > index 27fb694..b2bed22 100644 > --- a/include/linux/mtd/nand.h > +++ b/include/linux/mtd/nand.h > @@ -43,8 +43,8 @@ extern void nand_wait_ready(struct mtd_info *mtd); > * is supported now. If you add a chip with bigger oobsize/page > * adjust this accordingly. > */ > -#define NAND_MAX_OOBSIZE 64 > -#define NAND_MAX_PAGESIZE 2048 > +#define NAND_MAX_OOBSIZE 128 > +#define NAND_MAX_PAGESIZE 4096 Those are fine ... internal limits, no real problem. > > /* > * Constants for hardware specific CLE/ALE/NCE function > diff --git a/include/mtd/mtd-abi.h b/include/mtd/mtd-abi.h > index c6c61cd..85d1214 100644 > --- a/include/mtd/mtd-abi.h > +++ b/include/mtd/mtd-abi.h > @@ -110,14 +110,14 @@ struct nand_oobfree { > uint32_t length; > }; > > -#define MTD_MAX_OOBFREE_ENTRIES 8 > +#define MTD_MAX_OOBFREE_ENTRIES 16 > /* > * ECC layout control structure. Exported to userspace for > * diagnosis and to allow creation of raw images > */ > struct nand_ecclayout { > uint32_t eccbytes; > - uint32_t eccpos[64]; > + uint32_t eccpos[128]; > uint32_t oobavail; > struct nand_oobfree oobfree[MTD_MAX_OOBFREE_ENTRIES]; This is not fine though. "nand_ecclayout" is part of the public ioctl interface for ECCGETLAYOUT ... this patch changes that, and thus breaks all binaries issuing that request. Which means it will get a NAK response. > }; > -- > 1.6.0.4 > > _______________________________________________ > Davinci-linux-open-source mailing list > [email protected] > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source > > _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
