From: Vladimir Oltean <vladimir.oltean@xxxxxxx> This series addresses a few issues that were missed during the previous series "[PATCH 00/12] TCFQ to XSPI migration for NXP DSPI driver", on SoCs other than LS1021A and LS1043A. DMA mode has been completely broken by that series, and XSPI mode never worked on little-endian controllers. Then it introduces support for the LS1028A chip, whose compatible has recently been documented here: https://lore.kernel.org/linux-devicetree/20200218171418.18297-1-michael@xxxxxxxx/ The device tree for the LS1028A SoC is extended with DMA channels definition, such that even though the default operating mode is XSPI, one can simply change DSPI_XSPI_MODE to DSPI_DMA_MODE in the devtype_data structure of the driver and use that instead. Compared to earlier v4, the only change is in patch 05/12 to fix a race condition signaled by Michael Walle here: https://lkml.org/lkml/2020/3/17/740 I don't expect the "fixes" patches to reach very far down the stable pipe, since there has been pretty heavy refactoring in this driver. For testing, benchmarking and debugging, the mikroBUS connector on the LS1028A-RDB is made available via spidev. Vladimir Oltean (12): spi: spi-fsl-dspi: Don't access reserved fields in SPI_MCR spi: spi-fsl-dspi: Fix little endian access to PUSHR CMD and TXDATA spi: spi-fsl-dspi: Fix bits-per-word acceleration in DMA mode spi: spi-fsl-dspi: Avoid reading more data than written in EOQ mode spi: spi-fsl-dspi: Protect against races on dspi->words_in_flight spi: spi-fsl-dspi: Replace interruptible wait queue with a simple completion spi: spi-fsl-dspi: Avoid NULL pointer in dspi_slave_abort for non-DMA mode spi: spi-fsl-dspi: Fix interrupt-less DMA mode taking an XSPI code path spi: spi-fsl-dspi: Move invariant configs out of dspi_transfer_one_message spi: spi-fsl-dspi: Add support for LS1028A arm64: dts: ls1028a: Specify the DMA channels for the DSPI controllers arm64: dts: ls1028a-rdb: Add a spidev node for the mikroBUS .../boot/dts/freescale/fsl-ls1028a-rdb.dts | 14 + .../arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 6 + drivers/spi/spi-fsl-dspi.c | 324 +++++++++--------- 3 files changed, 182 insertions(+), 162 deletions(-) -- 2.17.1