[PATCH] mtd: spi-nor: intel-spi: Simulate WRDI command
Tudor.Ambarus at microchip.com
Tudor.Ambarus at microchip.com
Wed Jul 22 10:28:30 EDT 2020
+ Mika
Hi, Mika,
Would you please review the patch from below?
Thanks!
On 7/22/20 5:01 PM, Alexander Sverdlin wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> From: Alexander Sverdlin <alexander.sverdlin at nokia.com>
>
> After spi_nor_write_disable() return code checks were introduced in the
> spi-nor front end intel-spi backend stopped to work because WRDI was never
> supported and always failed.
>
> Just pretend it was sucessful and ignore the command itself. HW sequencer
> shall do the right thing automatically, while with SW sequencer we cannot
> do it anyway, because the only tool we had was preopcode and it makes no
> sense for WRDI.
>
> Cc: stable at vger.kernel.org
> Fixes: bce679e5ae3a ("mtd: spi-nor: Check for errors after each Register Operation")
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin at nokia.com>
> ---
> drivers/mtd/spi-nor/controllers/intel-spi.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/mtd/spi-nor/controllers/intel-spi.c b/drivers/mtd/spi-nor/controllers/intel-spi.c
> index 61d2a0a..134b356 100644
> --- a/drivers/mtd/spi-nor/controllers/intel-spi.c
> +++ b/drivers/mtd/spi-nor/controllers/intel-spi.c
> @@ -612,6 +612,14 @@ static int intel_spi_write_reg(struct spi_nor *nor, u8 opcode, const u8 *buf,
> return 0;
> }
>
> + /*
> + * We hope that HW sequencer will do the right thing automatically and
> + * with the SW seuencer we cannot use preopcode any way, so just ignore
> + * write disable operation and pretend it was completed successfully.
> + */
> + if (opcode == SPINOR_OP_WRDI)
> + return 0;
> +
> writel(0, ispi->base + FADDR);
>
> /* Write the value beforehand */
> --
> 2.10.2
>
More information about the linux-mtd
mailing list