Message ID | 1348780718-1082-1-git-send-email-ckhardin@exablox.com |
---|---|
State | Accepted |
Delegated to: | Scott Wood |
Headers | show |
On Thu, Sep 27, 2012 at 11:18:38AM -0000, Charles Hardin wrote: > NANDs with large page sizes are getting oob ares of 218 and 224 > so the eccpos field needs to support these larger areas since > BCH ECC correction with 24-bit over 1024 bytes will use 168 bytes > of the oob for ECC and is required for current MLC NAND parts > circa 2012. > > Signed-off-by: Charles Hardin <ckhardin@exablox.com> Applied to u-boot-nand-flash -Scott
On 11/15/2012 06:05:35 PM, Scott Wood wrote: > On Thu, Sep 27, 2012 at 11:18:38AM -0000, Charles Hardin wrote: > > NANDs with large page sizes are getting oob ares of 218 and 224 > > so the eccpos field needs to support these larger areas since > > BCH ECC correction with 24-bit over 1024 bytes will use 168 bytes > > of the oob for ECC and is required for current MLC NAND parts > > circa 2012. > > > > Signed-off-by: Charles Hardin <ckhardin@exablox.com> > > Applied to u-boot-nand-flash Unapplied. It breaks cam_enc_4xx by making the BSS too large (please work with the maintainer of this board, Heiko Schocher, to find a solution). It breaks various onenand boards (such as nhk8815) because they refer to MTD_MAX_OOBFREE_ENTRIES but you didn't fix the users. -Scott
diff --git a/include/linux/mtd/mtd-abi.h b/include/linux/mtd/mtd-abi.h index 1e7a18f..c321d6b 100644 --- a/include/linux/mtd/mtd-abi.h +++ b/include/linux/mtd/mtd-abi.h @@ -116,16 +116,17 @@ struct nand_oobfree { uint32_t length; }; -#define MTD_MAX_OOBFREE_ENTRIES 8 +#define MTD_MAX_OOBFREE_ENTRIES_LARGE 32 +#define MTD_MAX_ECCPOS_ENTRIES_LARGE 448 /* * 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[128]; + uint32_t eccpos[MTD_MAX_ECCPOS_ENTRIES_LARGE]; uint32_t oobavail; - struct nand_oobfree oobfree[MTD_MAX_OOBFREE_ENTRIES]; + struct nand_oobfree oobfree[MTD_MAX_OOBFREE_ENTRIES_LARGE]; }; /**
NANDs with large page sizes are getting oob ares of 218 and 224 so the eccpos field needs to support these larger areas since BCH ECC correction with 24-bit over 1024 bytes will use 168 bytes of the oob for ECC and is required for current MLC NAND parts circa 2012. Signed-off-by: Charles Hardin <ckhardin@exablox.com>