Message ID | 67e0aae3b23f37feb30789f5c6cb342b5684911a.1349778821.git.vipin.kumar@st.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, 2012-10-09 at 16:14 +0530, Vipin Kumar wrote: > Few devices like H27UBG8T2CTR have a writesize/oobsize of 8KB/640B. > This means that the maximum oobsize has gone up to 640 bytes and consequently > the maximum ecc placement locations have also gone up to 640. > > Signed-off-by: Vipin Kumar <vipin.kumar@st.com> Pushed this one to l2-mtd.git, thanks!
On Tue, Oct 9, 2012 at 3:44 AM, Vipin Kumar <vipin.kumar@st.com> wrote: > Few devices like H27UBG8T2CTR have a writesize/oobsize of 8KB/640B. > This means that the maximum oobsize has gone up to 640 bytes and consequently > the maximum ecc placement locations have also gone up to 640. We really need to change the nand_ecclayout struct sometime. Each one takes something like 4+4×640+4+32×8 = 2824 bytes now, and we have 4 of them statically declared in nand_base.c. And most drivers just declare their own anyway. (fsl_{elbc,ifc}_nand.c have 4 and 5 of them each) I've thought about dynamically allocating and/or changing its layout so that we can do eccpos ranges, similar to the oobfree entries. But this gets harder, with the old ioctl(ECCGETLAYOUT) still hanging around, a few platform uses of nand_ecclayout, and probably some other complications. Anyway, this comes off as basically a complaint, while in fact, I wanted to see if anyone else agreed and/or had any suggestions. Or, maybe somebody could convince me not to care... Brian
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h index 81d61e7..f9ac289 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h @@ -98,7 +98,7 @@ struct mtd_oob_ops { }; #define MTD_MAX_OOBFREE_ENTRIES_LARGE 32 -#define MTD_MAX_ECCPOS_ENTRIES_LARGE 448 +#define MTD_MAX_ECCPOS_ENTRIES_LARGE 640 /* * Internal ECC layout control structure. For historical reasons, there is a * similar, smaller struct nand_ecclayout_user (in mtd-abi.h) that is retained
Few devices like H27UBG8T2CTR have a writesize/oobsize of 8KB/640B. This means that the maximum oobsize has gone up to 640 bytes and consequently the maximum ecc placement locations have also gone up to 640. Signed-off-by: Vipin Kumar <vipin.kumar@st.com> --- include/linux/mtd/mtd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)