Commit 581e2b41 authored by Łukasz Stelmach's avatar Łukasz Stelmach Committed by Mark Brown

spi: spi-s3c64xx: swap s3c64xx_spi_set_cs() and s3c64xx_enable_datapath()

Fix issues with DMA transfers bigger than 512 bytes on Exynos3250. Without
the patches such transfers fail to complete. This solution to the problem
is found in the vendor kernel for ARTIK5 boards based on Exynos3250.
Reviewed-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: default avatarŁukasz Stelmach <l.stelmach@samsung.com>
Link: https://lore.kernel.org/r/20201002122243.26849-2-l.stelmach@samsung.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 184ec013
...@@ -685,11 +685,11 @@ static int s3c64xx_spi_transfer_one(struct spi_master *master, ...@@ -685,11 +685,11 @@ static int s3c64xx_spi_transfer_one(struct spi_master *master,
sdd->state &= ~RXBUSY; sdd->state &= ~RXBUSY;
sdd->state &= ~TXBUSY; sdd->state &= ~TXBUSY;
s3c64xx_enable_datapath(sdd, xfer, use_dma);
/* Start the signals */ /* Start the signals */
s3c64xx_spi_set_cs(spi, true); s3c64xx_spi_set_cs(spi, true);
s3c64xx_enable_datapath(sdd, xfer, use_dma);
spin_unlock_irqrestore(&sdd->lock, flags); spin_unlock_irqrestore(&sdd->lock, flags);
if (use_dma) if (use_dma)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment