Messages in this thread | | | Date | Wed, 14 Dec 2011 11:41:17 +0800 | From | LiuShuo <> | Subject | Re: [PATCH 3/3] mtd/nand : workaround for Freescale FCM to support large-page Nand chip |
| |
于 2011年12月13日 05:09, Artem Bityutskiy 写道: > On Tue, 2011-12-06 at 18:09 -0600, Scott Wood wrote: >> On 12/03/2011 10:31 PM, shuo.liu@freescale.com wrote: >>> From: Liu Shuo<shuo.liu@freescale.com> >>> >>> Freescale FCM controller has a 2K size limitation of buffer RAM. In order >>> to support the Nand flash chip whose page size is larger than 2K bytes, >>> we read/write 2k data repeatedly by issuing FIR_OP_RB/FIR_OP_WB and save >>> them to a large buffer. >>> >>> Signed-off-by: Liu Shuo<shuo.liu@freescale.com> >>> --- >>> v3: >>> -remove page_size of struct fsl_elbc_mtd. >>> -do a oob write by NAND_CMD_RNDIN. >>> >>> drivers/mtd/nand/fsl_elbc_nand.c | 243 ++++++++++++++++++++++++++++++++++---- >>> 1 files changed, 218 insertions(+), 25 deletions(-) >> What is the plan for bad block marker migration. I think we can use a special bbt pattern to indicate whether migration has been done. (we needn't to define another marker)
Do the migration our chip->scan_bbt as follow :
/* * this pattern indicate that the bad block information has been migrated, * if this isn't found, we do the migration. */ static u8 migrated_bbt_pattern[] = {'M', 'b', 'b', 't', '0' };
static int fsl_elbc_bbt(struct mtd_info *mtd) { if (!check_migrated_bbt_pattern()) bad_block_info_migtrate();
nand_default_bbt(mtd); /* default function in nand_bbt.c */ }
- LiuShuo
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |