Messages in this thread Patch in this message | | | Date | Mon, 9 Jan 2023 19:52:44 +0300 | From | Serge Semin <> | Subject | Re: [PATCH v2 02/15] spi: dw: update NDF while using enhanced spi mode |
| |
On Mon, Dec 12, 2022 at 06:07:19PM +0000, Sudip Mukherjee wrote: > If the transfer of Transmit only mode is using dual/quad/octal SPI then > NDF needs to be updated with the number of data frames. > If the Transmit FIFO goes empty in-between, DWC_ssi masks the serial > clock and wait for rest of the data until the programmed amount of > frames are transferred successfully. > > Signed-off-by: Sudip Mukherjee <sudip.mukherjee@sifive.com> > --- > drivers/spi/spi-dw-core.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/spi/spi-dw-core.c b/drivers/spi/spi-dw-core.c > index 77c23772bb3d9..8c47a4d14b666 100644 > --- a/drivers/spi/spi-dw-core.c > +++ b/drivers/spi/spi-dw-core.c > @@ -346,7 +346,9 @@ void dw_spi_update_config(struct dw_spi *dws, struct spi_device *spi, > dw_writel(dws, DW_SPI_CTRLR0, cr0); > > if (cfg->tmode == DW_SPI_CTRLR0_TMOD_EPROMREAD ||
> - cfg->tmode == DW_SPI_CTRLR0_TMOD_RO) > + cfg->tmode == DW_SPI_CTRLR0_TMOD_RO || > + (cfg->tmode == DW_SPI_CTRLR0_TMOD_TO && > + cfg->spi_frf != DW_SPI_CTRLR0_SPI_FRF_STD_SPI))
First CTRLR1.NDF is meaningful for the Tx-only mode if non-zero eSPI mode is enabled and the clock-stretching feature is activated. Second the conditional statement already looks too bulky. Adding new parts will make it even harder to read. What about converting it to something like:
< if (cfg->ndf) < dw_writel(dws, DW_SPI_CTRLR1, cfg->ndf - 1);
What do you think?
-Serge(y)
> dw_writel(dws, DW_SPI_CTRLR1, cfg->ndf ? cfg->ndf - 1 : 0); > /* Note DW APB SSI clock divider doesn't support odd numbers */ > -- > 2.30.2 >
| |