FAILED: patch "[PATCH] spi: spi-fsl-dspi: fix broken DSPI_EOQ_MODE" failed to apply to 4.18-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.18-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
5223c9c1cbfc0cd4d0a1b50758e0949af3290fa1Mon Sep 17 00:00:00 2001
From: Angelo Dureghello <[email protected]>
Date: Sat, 18 Aug 2018 01:51:58 +0200
Subject: [PATCH] spi: spi-fsl-dspi: fix broken DSPI_EOQ_MODE
This patch fixes the dspi_eoq_write function used by the ColdFire mcf5441x family. The 16 bit cmd part must be re-set at each data transfer.
Also, now that fifo_size variables are used for eoq_read/write, a proper fifo size must be set (16 slots for the ColdFire dspi module version).
drivers/spi/spi-fsl-dspi.c +6 -0
@@ -30,7 +30,11 @@#define DRIVER_NAME "fsl-dspi" +#ifdef CONFIG_M5441x +#define DSPI_FIFO_SIZE 16 +#else #define DSPI_FIFO_SIZE 4 +#endif #define DSPI_DMA_BUFSIZE (DSPI_FIFO_SIZE * 1024)#define SPI_MCR 0x00
@@ -623,9 +627,11 @@ static void dspi_tcfq_read(struct fsl_dspi *dspi)static void dspi_eoq_write (struct fsl_dspi *dspi) {int fifo_size =DSPI_FIFO_SIZE ; +u16 xfer_cmd = dspi->tx_cmd;/* Fill TX FIFO with as many transfers as possible */ while (dspi->len && fifo_size--) { + dspi->tx_cmd = xfer_cmd;/* Request EOQF for last transfer in FIFO */ if (dspi->len == dspi->bytes_per_word || fifo_size ==0 ) dspi->tx_cmd |=SPI_PUSHR_CMD_EOQ ;