linux_dsm_epyc7002/drivers/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
..
chips mtd: cfi_probe: print manufacturer and id of probed chip 2010-08-02 09:05:20 +01:00
devices mtd: dataflash: remove casts from void 2010-08-02 09:05:46 +01:00
lpddr drivers/mtd: Use kzalloc 2010-05-13 21:23:06 +01:00
maps mtd: physmap: use resource_size() 2010-08-02 09:03:55 +01:00
nand mtd: nand: more BB Detection refactoring and dynamic scan options 2010-08-02 09:09:06 +01:00
onenand mtd: remove redundant dependency checks in Kconfig files 2010-08-02 09:01:42 +01:00
tests mtd: tests: return -1 if verify failed 2010-08-02 09:06:20 +01:00
ubi UBI: misc comment fixes 2010-05-07 08:33:32 +03:00
afs.c mtd: afs: fix build warning 2009-09-04 09:38:14 +01:00
ar7part.c
cmdlinepart.c mtd: cmdlineparts: Use 64-bit format when printing a debug message. 2009-06-25 08:18:12 +01:00
ftl.c mtd: blktrans: Hotplug fixes 2010-02-26 17:05:26 +00:00
inftlcore.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-03-26 14:55:59 +00:00
inftlmount.c mtd: inftl: misplaced parenthesis in find_boot_record 2010-02-26 13:22:07 +00:00
Kconfig mtd: remove redundant dependency checks in Kconfig files 2010-08-02 09:01:42 +01:00
Makefile Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-05-10 14:32:46 +01:00
mtd_blkdevs.c mtd: return success on blktrans_ioctl 2010-08-02 09:01:47 +01:00
mtdblock_ro.c mtd: mtdblock: test return value of add_mtd_blktrans_dev, because if can fail 2010-02-26 17:05:46 +00:00
mtdblock.c mtd: Few follow up cleanups for Smartmedia/xD support 2010-02-26 20:13:49 +00:00
mtdchar.c mtd: add an ioctl to query the lock status of a flash sector 2010-08-02 09:03:41 +01:00
mtdconcat.c mtd: mtdconcat: fix bug with uninitialized lock and unlock functions 2010-08-02 09:04:20 +01:00
mtdcore.c mtd: update gfp/slab.h includes 2010-05-19 17:21:52 +01:00
mtdcore.h mtd: Replace static array of devices with an idr structure 2010-02-25 11:55:14 +00:00
mtdoops.c mtd: Remove unnecessary comparisons with MAX_MTD_DEVICES 2010-02-25 11:39:09 +00:00
mtdpart.c mtd: add an ioctl to query the lock status of a flash sector 2010-08-02 09:03:41 +01:00
mtdsuper.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-05-10 14:32:46 +01:00
nftlcore.c mtd: blktrans: Hotplug fixes 2010-02-26 17:05:26 +00:00
nftlmount.c
ofpart.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
redboot.c
rfd_ftl.c mtd: blktrans: Hotplug fixes 2010-02-26 17:05:26 +00:00
sm_ftl.c bitops: rename for_each_bit() to for_each_set_bit(): mtd 2010-04-08 09:42:41 +01:00
sm_ftl.h mtd: Add new SmartMedia/xD FTL 2010-02-26 19:06:50 +00:00
ssfdc.c mtd: blktrans: Hotplug fixes 2010-02-26 17:05:26 +00:00