mtd: rawnand: sunxi: Write pageprog related opcodes to WCMD_SET
authorBoris Brezillon <boris.brezillon@bootlin.com>
Sun, 16 Dec 2018 08:34:17 +0000 (09:34 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2019 14:37:25 +0000 (15:37 +0100)
[ Upstream commit 732774437ae01d9882e60314e303898e63c7f038 ]

The opcodes used by the controller when doing batched page prog should
be written in NFC_REG_WCMD_SET not FC_REG_RCMD_SET. Luckily, the
default NFC_REG_WCMD_SET value matches the one we set in the driver
which explains why we didn't notice the problem.

Fixes: 614049a8d904 ("mtd: nand: sunxi: add support for DMA assisted operations")
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mtd/nand/sunxi_nand.c

index 95897482158211e8dc4d3c26814ceab22c1b23f2..8e523148239769107f5fdef8674de422d0c8fb2a 100644 (file)
@@ -1435,7 +1435,7 @@ static int sunxi_nfc_hw_ecc_write_page_dma(struct mtd_info *mtd,
        sunxi_nfc_randomizer_enable(mtd);
 
        writel((NAND_CMD_RNDIN << 8) | NAND_CMD_PAGEPROG,
-              nfc->regs + NFC_REG_RCMD_SET);
+              nfc->regs + NFC_REG_WCMD_SET);
 
        dma_async_issue_pending(nfc->dmac);