linux-xiaomi-chiron/include/linux/mtd
Brian Norris 58373ff0af mtd: nand: more BB Detection refactoring and dynamic scan options
This is a revision to PATCH 2/2 that I sent. Link:
http://lists.infradead.org/pipermail/linux-mtd/2010-July/030911.html

Added new flag for scanning of both bytes 1 and 6 of the OOB for
a BB marker (instead of simply one or the other).

The "check_pattern" and "check_short_pattern" functions were updated
to include support for scanning the two different locations in the OOB.

In order to handle increases in variety of necessary scanning patterns,
I implemented dynamic memory allocation of nand_bbt_descr structs
in new function 'nand_create_default_bbt_descr()'. This replaces
some increasingly-unwieldy, statically-declared descriptors. It can
replace several more (e.g. "flashbased" structs). However, I do not
test the flashbased options personally.

How this was tested:

I referenced 30+ data sheets (covering 100+ parts), and I tested a
selection of 10 different chips to varying degrees. Particularly, I
tested the creation of bad-block descriptors and basic BB scanning on
three parts:

ST NAND04GW3B2D, 2K page
ST NAND128W3A, 512B page
Samsung K9F1G08U0A, 2K page

To test these, I wrote some fake bad block markers to the flash (in OOB
bytes 1, 6, and elsewhere) to see if the scanning routine would detect
them properly. However, this method was somewhat limited because the
driver I am using has some bugs in its OOB write functionality.

Signed-off-by: Brian Norris <norris@broadcom.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2010-08-02 09:09:06 +01:00
..
bbm.h mtd: nand: more BB Detection refactoring and dynamic scan options 2010-08-02 09:09:06 +01:00
blktrans.h mtd: blktrans: allow FTL drivers to export sysfs attributes 2010-02-26 17:37:40 +00:00
cfi.h mtd: chips: use common manufacturer codes in jedec_probe() 2010-05-14 01:48:58 +01:00
cfi_endian.h MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
compatmac.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
concat.h mtd: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:38 -08:00
doc2000.h MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
flashchip.h mtd: fix a huge latency problem in the MTD CFI and LPDDR flash drivers. 2010-05-10 14:22:30 +01:00
ftl.h [MTD] Remove strange u_int32_t types from FTL 2008-12-10 14:06:42 +00:00
gen_probe.h MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
inftl.h MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
map.h mtd: suppress warnings in inline_map_read() 2010-05-14 01:52:55 +01:00
mtd.h mtd: add an ioctl to query the lock status of a flash sector 2010-08-02 09:03:41 +01:00
mtdram.h mtd: mtdram.h: checkpatch cleanup 2010-05-10 14:11:30 +01:00
nand-gpio.h [MTD] [NAND] GPIO NAND flash driver 2008-10-18 12:48:42 +01:00
nand.h mtd: nand: edit macro flag for BBT scan of last page in block 2010-08-02 09:05:12 +01:00
nand_ecc.h mtd: Add __nand_calculate_ecc() to NAND ECC functions 2009-11-30 09:32:19 +00:00
ndfc.h [MTD] NAND Fix platform structure and NDFC driver 2006-05-29 15:06:49 +02:00
nftl.h MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
onenand.h mtd: onenand: add new callback for bufferram read 2010-05-14 01:50:04 +01:00
onenand_regs.h mtd: OneNAND: multiblock erase support 2009-11-30 09:43:18 +00:00
partitions.h Nicolas Pitre has a new email address 2009-09-15 09:37:12 -07:00
pfow.h [MTD] LPDDR PFOW definition 2009-01-05 13:55:58 +01:00
physmap.h [MTD] LPDDR extended physmap driver to support LPDDR flash 2009-01-05 13:57:28 +01:00
pismo.h mtd: Really add ARM pismo support 2010-01-13 09:04:53 +00:00
plat-ram.h MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
pmc551.h MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
qinfo.h [MTD] LPDDR QINFO records definitions 2009-01-05 13:55:54 +01:00
sh_flctl.h mtd/nand/sh_flctl: Move function mtd_to_flctl to fix build failure 2010-05-12 23:24:23 +01:00
sharpsl.h [MTD] sharpsl-nand: use platform_data for model-specific values 2008-10-29 21:06:38 +03:00
super.h [MTD] generalise the handling of MTD-specific superblocks 2007-05-11 12:14:15 +01:00
ubi.h UBI: Add ubi_open_volume_path 2009-11-24 08:18:54 +02:00
xip.h MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00