diff mbox series

spi: nxp-fspi: Ensure width is respected in spi-mem operations

Message ID 20191211195730.26794-1-michael@walle.cc (mailing list archive)
State Accepted
Commit 007773e16a6f3f49d1439554078c3ba8af131998
Headers show
Series spi: nxp-fspi: Ensure width is respected in spi-mem operations | expand

Commit Message

Michael Walle Dec. 11, 2019, 7:57 p.m. UTC
Make use of a core helper to ensure the desired width is respected
when calling spi-mem operators.

Otherwise only the SPI controller will be matched with the flash chip,
which might lead to wrong widths. Also consider the width specified by
the user in the device tree.

Fixes: a5356aef6a90 ("spi: spi-mem: Add driver for NXP FlexSPI controller")
Signed-off-by: Michael Walle <michael@walle.cc>
---
 drivers/spi/spi-nxp-fspi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Kuldeep Singh Jan. 7, 2020, 5:39 a.m. UTC | #1
Hi Michael,

> -----Original Message-----
> From: linux-kernel-owner@vger.kernel.org <linux-kernel-
> owner@vger.kernel.org> On Behalf Of Michael Walle
> Sent: Thursday, December 12, 2019 1:28 AM
> To: linux-spi@vger.kernel.org; linux-kernel@vger.kernel.org
> Cc: Yogesh Gaur <yogeshgaur.83@gmail.com>; Ashish Kumar
> <ashish.kumar@nxp.com>; Mark Brown <broonie@kernel.org>; Michael
> Walle <michael@walle.cc>
> Subject: [EXT] [PATCH] spi: nxp-fspi: Ensure width is respected in spi-mem
> operations
> 
> Caution: EXT Email
> 
> Make use of a core helper to ensure the desired width is respected when
> calling spi-mem operators.
> 
> Otherwise only the SPI controller will be matched with the flash chip, which
> might lead to wrong widths. Also consider the width specified by the user in
> the device tree.

Could you please mention the flash and modes you tested. Does it support DUAL/QUAD mode?
I couldn't test these modes as NXP LS1028ARDB has "mt35xu02g" which supports SINGLE and OCTAL modes only.

Thanks
Kuldeep

> 
> Fixes: a5356aef6a90 ("spi: spi-mem: Add driver for NXP FlexSPI controller")
> Signed-off-by: Michael Walle <michael@walle.cc>
> ---
>  drivers/spi/spi-nxp-fspi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c index
> c36bb1bb464e..8c5084a3a617 100644
> --- a/drivers/spi/spi-nxp-fspi.c
> +++ b/drivers/spi/spi-nxp-fspi.c
> @@ -439,7 +439,7 @@ static bool nxp_fspi_supports_op(struct spi_mem
> *mem,
>             op->data.nbytes > f->devtype_data->txfifo)
>                 return false;
> 
> -       return true;
> +       return spi_mem_default_supports_op(mem, op);
>  }
> 
>  /* Instead of busy looping invoke readl_poll_timeout functionality. */
> --
> 2.20.1
Michael Walle Jan. 7, 2020, 8:32 a.m. UTC | #2
Am 2020-01-07 06:39, schrieb Kuldeep Singh:
> Hi Michael,
> 
>> -----Original Message-----
>> From: linux-kernel-owner@vger.kernel.org <linux-kernel-
>> owner@vger.kernel.org> On Behalf Of Michael Walle
>> Sent: Thursday, December 12, 2019 1:28 AM
>> To: linux-spi@vger.kernel.org; linux-kernel@vger.kernel.org
>> Cc: Yogesh Gaur <yogeshgaur.83@gmail.com>; Ashish Kumar
>> <ashish.kumar@nxp.com>; Mark Brown <broonie@kernel.org>; Michael
>> Walle <michael@walle.cc>
>> Subject: [EXT] [PATCH] spi: nxp-fspi: Ensure width is respected in 
>> spi-mem
>> operations
>> 
>> Caution: EXT Email
>> 
>> Make use of a core helper to ensure the desired width is respected 
>> when
>> calling spi-mem operators.
>> 
>> Otherwise only the SPI controller will be matched with the flash chip, 
>> which
>> might lead to wrong widths. Also consider the width specified by the 
>> user in
>> the device tree.
> 
> Could you please mention the flash and modes you tested. Does it
> support DUAL/QUAD mode?
> I couldn't test these modes as NXP LS1028ARDB has "mt35xu02g" which
> supports SINGLE and OCTAL modes only.

That commit is already upstream. But FWIW, it was a Winbond W25Q32FW in 
dual i/o mode.

-michael
diff mbox series

Patch

diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c
index c36bb1bb464e..8c5084a3a617 100644
--- a/drivers/spi/spi-nxp-fspi.c
+++ b/drivers/spi/spi-nxp-fspi.c
@@ -439,7 +439,7 @@  static bool nxp_fspi_supports_op(struct spi_mem *mem,
 	    op->data.nbytes > f->devtype_data->txfifo)
 		return false;
 
-	return true;
+	return spi_mem_default_supports_op(mem, op);
 }
 
 /* Instead of busy looping invoke readl_poll_timeout functionality. */