diff mbox series

spi: spi-fsl-dspi: use XSPI mode instead of DMA for DPAA2 SoCs

Message ID 20200910121532.1138596-1-olteanv@gmail.com
State New
Headers show
Series spi: spi-fsl-dspi: use XSPI mode instead of DMA for DPAA2 SoCs | expand

Commit Message

Vladimir Oltean Sept. 10, 2020, 12:15 p.m. UTC
From: Vladimir Oltean <vladimir.oltean@nxp.com>

The arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi device tree lacks DMA
channels for DSPI, so naturally, the driver fails to probe:

[ 2.945302] fsl-dspi 2100000.spi: rx dma channel not available
[ 2.951134] fsl-dspi 2100000.spi: can't get dma channels

In retrospect, this should have been obvious, because LS2080A, LS2085A
LS2088A and LX2160A don't appear to have an eDMA module at all. Looking
again at their datasheets, the CTARE register (which is specific to XSPI
functionality) seems to be documented, so switch them to XSPI mode
instead.

Fixes: 0feaf8f5afe0 ("spi: spi-fsl-dspi: Convert the instantiations that support it to DMA")
Reported-by: Qiang Zhao <qiang.zhao@nxp.com>
Tested-by: Qiang Zhao <qiang.zhao@nxp.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
---
 drivers/spi/spi-fsl-dspi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Mark Brown Sept. 14, 2020, 2:52 p.m. UTC | #1
On Thu, 10 Sep 2020 15:15:32 +0300, Vladimir Oltean wrote:
> The arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi device tree lacks DMA
> channels for DSPI, so naturally, the driver fails to probe:
> 
> [ 2.945302] fsl-dspi 2100000.spi: rx dma channel not available
> [ 2.951134] fsl-dspi 2100000.spi: can't get dma channels
> 
> In retrospect, this should have been obvious, because LS2080A, LS2085A
> LS2088A and LX2160A don't appear to have an eDMA module at all. Looking
> again at their datasheets, the CTARE register (which is specific to XSPI
> functionality) seems to be documented, so switch them to XSPI mode
> instead.

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next

Thanks!

[1/1] spi: spi-fsl-dspi: use XSPI mode instead of DMA for DPAA2 SoCs
      commit: 505623a2be48b36de533951ced130876a76a2d55

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark
diff mbox series

Patch

diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c
index 91c6affe139c..283f2468a2f4 100644
--- a/drivers/spi/spi-fsl-dspi.c
+++ b/drivers/spi/spi-fsl-dspi.c
@@ -174,17 +174,17 @@  static const struct fsl_dspi_devtype_data devtype_data[] = {
 		.fifo_size		= 16,
 	},
 	[LS2080A] = {
-		.trans_mode		= DSPI_DMA_MODE,
+		.trans_mode		= DSPI_XSPI_MODE,
 		.max_clock_factor	= 8,
 		.fifo_size		= 4,
 	},
 	[LS2085A] = {
-		.trans_mode		= DSPI_DMA_MODE,
+		.trans_mode		= DSPI_XSPI_MODE,
 		.max_clock_factor	= 8,
 		.fifo_size		= 4,
 	},
 	[LX2160A] = {
-		.trans_mode		= DSPI_DMA_MODE,
+		.trans_mode		= DSPI_XSPI_MODE,
 		.max_clock_factor	= 8,
 		.fifo_size		= 4,
 	},