Re: [PATCH v3 04/40] mtd: rawnand: Separate the ECC engine type and the OOB placement
From: Boris Brezillon <boris.brezillon@collabora.com>
Date: 2019-10-12 09:05:58
On Thu, 19 Sep 2019 21:31:04 +0200 Miquel Raynal [off-list ref] wrote:
quoted hunk ↗ jump to hunk
The use of "OOB_FIRST" or "SYNDROME" placements should not be encoded in the ECC engine mode (also called type, or provider). Create a "placement" field in NAND chip and change all occurrences of the NAND_ECC_HW_SYNDROME and NAND_ECC_HW_OOB_FIRST enumerations to be just NAND_ECC_HW and possibly a placement entry like NAND_ECC_SYNDROME_OOB_PLACEMENT or NAND_ECC_OOB_FIRST_PLACEMENT. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> --- arch/arm/mach-davinci/board-dm355-leopard.c | 3 +- drivers/mtd/nand/raw/cafe_nand.c | 3 +- drivers/mtd/nand/raw/davinci_nand.c | 8 +- drivers/mtd/nand/raw/denali.c | 3 +- drivers/mtd/nand/raw/diskonchip.c | 3 +- drivers/mtd/nand/raw/ingenic/jz4740_nand.c | 3 +- drivers/mtd/nand/raw/lpc32xx_slc.c | 3 +- drivers/mtd/nand/raw/nand_base.c | 125 ++++++++++---------- drivers/mtd/nand/raw/r852.c | 3 +- include/linux/mtd/rawnand.h | 6 +- include/linux/platform_data/mtd-davinci.h | 1 + 11 files changed, 89 insertions(+), 72 deletions(-)diff --git a/arch/arm/mach-davinci/board-dm355-leopard.c b/arch/arm/mach-davinci/board-dm355-leopard.c index b9e9950dd300..99f4388e8864 100644 --- a/arch/arm/mach-davinci/board-dm355-leopard.c +++ b/arch/arm/mach-davinci/board-dm355-leopard.c@@ -76,7 +76,8 @@ static struct davinci_nand_pdata davinci_nand_data = { .mask_chipsel = BIT(14), .parts = davinci_nand_partitions, .nr_parts = ARRAY_SIZE(davinci_nand_partitions), - .ecc_mode = NAND_ECC_HW_SYNDROME, + .ecc_mode = NAND_ECC_HW, + .ecc_oob_placement = NAND_ECC_SYNDROME_OOB_PLACEMENT,
I guess we can simply name this field ->ecc_placement (see my comment on patch 3).
.ecc_bits = 4, .bbt_options = NAND_BBT_USE_FLASH, };
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel