lkml.org 
[lkml]   [2021]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 44/74] mtd: rawnand: fsmc: Take instruction delay into account
    Date
    From: Herve Codina <herve.codina@bootlin.com>

    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: 4da712e70294 ("mtd: nand: fsmc: use ->exec_op()")
    Signed-off-by: Herve Codina <herve.codina@bootlin.com>
    Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
    Link: https://lore.kernel.org/linux-mtd/20211119150316.43080-4-herve.codina@bootlin.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/mtd/nand/raw/fsmc_nand.c | 4 ++++
    1 file changed, 4 insertions(+)

    --- a/drivers/mtd/nand/raw/fsmc_nand.c
    +++ b/drivers/mtd/nand/raw/fsmc_nand.c
    @@ -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
    instr->ctx.waitrdy.timeout_ms);
    break;
    }
    +
    + if (instr->delay_ns)
    + ndelay(instr->delay_ns);
    }

    return ret;

    \
     
     \ /
      Last update: 2021-12-13 10:44    [W:4.073 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site