Skip to content

Commit 93942b7

Browse files
Arseniy Krasnovmiquelraynal
authored andcommitted
mtd: rawnand: meson: fix bitmask for length in command word
Valid mask is 0x3FFF, without this patch the following problems were found: 1) [ 0.938914] Could not find a valid ONFI parameter page, trying bit-wise majority to recover it [ 0.947384] ONFI parameter recovery failed, aborting 2) Read with disabled ECC mode was broken. Fixes: 8fae856 ("mtd: rawnand: meson: add support for Amlogic NAND flash controller") Cc: <[email protected]> Signed-off-by: Arseniy Krasnov <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
1 parent 0c30896 commit 93942b7

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

drivers/mtd/nand/raw/meson_nand.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ static void meson_nfc_cmd_access(struct nand_chip *nand, int raw, bool dir,
280280

281281
if (raw) {
282282
len = mtd->writesize + mtd->oobsize;
283-
cmd = (len & GENMASK(5, 0)) | scrambler | DMA_DIR(dir);
283+
cmd = (len & GENMASK(13, 0)) | scrambler | DMA_DIR(dir);
284284
writel(cmd, nfc->reg_base + NFC_REG_CMD);
285285
return;
286286
}
@@ -544,7 +544,7 @@ static int meson_nfc_read_buf(struct nand_chip *nand, u8 *buf, int len)
544544
if (ret)
545545
goto out;
546546

547-
cmd = NFC_CMD_N2M | (len & GENMASK(5, 0));
547+
cmd = NFC_CMD_N2M | (len & GENMASK(13, 0));
548548
writel(cmd, nfc->reg_base + NFC_REG_CMD);
549549

550550
meson_nfc_drain_cmd(nfc);
@@ -568,7 +568,7 @@ static int meson_nfc_write_buf(struct nand_chip *nand, u8 *buf, int len)
568568
if (ret)
569569
return ret;
570570

571-
cmd = NFC_CMD_M2N | (len & GENMASK(5, 0));
571+
cmd = NFC_CMD_M2N | (len & GENMASK(13, 0));
572572
writel(cmd, nfc->reg_base + NFC_REG_CMD);
573573

574574
meson_nfc_drain_cmd(nfc);

0 commit comments

Comments
 (0)