Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fc0bb5f5 authored by Herve Codina's avatar Herve Codina Committed by Greg Kroah-Hartman
Browse files

mtd: rawnand: fsmc: Take instruction delay into account



commit a4ca0c439f2d5ce9a3dc118d882f9f03449864c8 upstream.

The FSMC NAND controller should apply a delay after the
instruction has been issued on the bus.
The FSMC NAND controller driver did not handle this delay.

Add this waiting delay in the FSMC NAND controller driver.

Fixes: 4da712e7 ("mtd: nand: fsmc: use ->exec_op()")
Signed-off-by: default avatarHerve Codina <herve.codina@bootlin.com>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20211119150316.43080-4-herve.codina@bootlin.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4b689c36
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@

#include <linux/clk.h>
#include <linux/completion.h>
#include <linux/delay.h>
#include <linux/dmaengine.h>
#include <linux/dma-direction.h>
#include <linux/dma-mapping.h>
@@ -700,6 +701,9 @@ static int fsmc_exec_op(struct nand_chip *chip, const struct nand_operation *op,
						instr->ctx.waitrdy.timeout_ms);
			break;
		}

		if (instr->delay_ns)
			ndelay(instr->delay_ns);
	}

	return ret;