summaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorMike Dunn <mikedunn@newsguy.com>2012-12-07 21:07:22 +0100
committerArtem Bityutskiy <artem.bityutskiy@linux.intel.com>2012-12-12 16:03:32 +0100
commit440b1d73b1b49bc08e1709ee6f6ef7ba2fc1f8ba (patch)
treedc1300b245450f1ede61119df6ae107396f32951 /drivers/mtd
parentmtd: nand/docg4: add support for writing in reliable mode (diff)
downloadlinux-440b1d73b1b49bc08e1709ee6f6ef7ba2fc1f8ba.tar.xz
linux-440b1d73b1b49bc08e1709ee6f6ef7ba2fc1f8ba.zip
mtd: nand/docg4: reserve bb marker area in ecclayout
Modify the nand_ecclayout to place the two bb marker bytes in the oob region off-limits to the user. Signed-off-by: Mike Dunn <mikedunn@newsguy.com> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/nand/docg4.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/mtd/nand/docg4.c b/drivers/mtd/nand/docg4.c
index 54b1e5e359b8..04e5fa93735e 100644
--- a/drivers/mtd/nand/docg4.c
+++ b/drivers/mtd/nand/docg4.c
@@ -214,15 +214,17 @@ struct docg4_priv {
#define DOCG4_FACTORY_BBT_PAGE 16 /* page where read-only factory bbt lives */
/*
- * Oob bytes 0 - 6 are available to the user.
- * Byte 7 is hamming ecc for first 7 bytes. Bytes 8 - 14 are hw-generated ecc.
+ * Bytes 0, 1 are used as badblock marker.
+ * Bytes 2 - 6 are available to the user.
+ * Byte 7 is hamming ecc for first 7 oob bytes only.
+ * Bytes 8 - 14 are hw-generated ecc covering entire page + oob bytes 0 - 14.
* Byte 15 (the last) is used by the driver as a "page written" flag.
*/
static struct nand_ecclayout docg4_oobinfo = {
.eccbytes = 9,
.eccpos = {7, 8, 9, 10, 11, 12, 13, 14, 15},
- .oobavail = 7,
- .oobfree = { {0, 7} }
+ .oobavail = 5,
+ .oobfree = { {.offset = 2, .length = 5} }
};
/*