On 01.02.2024 14:15:40, Ralf Schlatterbeck wrote: > There was a change in the mxs-dma engine that uses a new custom flag. > The change was not applied to the mxs spi driver. > This results in chipselect being deasserted too early. > This fixes the chipselect problem by using the new flag in the mxs-spi > driver. > > Fixes: ceeeb99cd821 ("dmaengine: mxs: rename custom flag") > Signed-off-by: Ralf Schlatterbeck <rsc@xxxxxxxxxx> > --- > For oscilloscope screenshots and a verbose explanation see my blog post > at https://blog.runtux.com/posts/2024/02/01/ > > drivers/spi/spi-mxs.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/spi/spi-mxs.c b/drivers/spi/spi-mxs.c > index 1bf080339b5a..a296050c8bd3 100644 > --- a/drivers/spi/spi-mxs.c > +++ b/drivers/spi/spi-mxs.c > @@ -39,6 +39,7 @@ > #include <linux/spi/spi.h> > #include <linux/spi/mxs-spi.h> > #include <trace/events/spi.h> > +#include <linux/dma/mxs-dma.h> > > #define DRIVER_NAME "mxs-spi" > > @@ -251,8 +252,9 @@ static int mxs_spi_txrx_dma(struct mxs_spi *spi, > > desc = dmaengine_prep_slave_sg(ssp->dmach, > &dma_xfer[sg_count].sg, 1, > - (flags & TXRX_WRITE) ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM, > - DMA_PREP_INTERRUPT | DMA_CTRL_ACK); > + (flags & TXRX_WRITE) > + ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM, > + DMA_PREP_INTERRUPT | MXS_DMA_CTRL_WAIT4END); nitpick: Please omit the line break change from this patch. Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung Nürnberg | Phone: +49-5121-206917-129 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |