]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
spi: spi-s3c64xx: swap s3c64xx_spi_set_cs() and s3c64xx_enable_datapath()
authorŁukasz Stelmach <l.stelmach@samsung.com>
Fri, 2 Oct 2020 12:22:35 +0000 (14:22 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 2 Oct 2020 20:54:16 +0000 (21:54 +0100)
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: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Link: https://lore.kernel.org/r/20201002122243.26849-2-l.stelmach@samsung.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-s3c64xx.c

index 924b24441789ad85522c2728f18b674b496102cc..26c7cb79cd7845541404a30889338fbd8d8d596c 100644 (file)
@@ -685,11 +685,11 @@ static int s3c64xx_spi_transfer_one(struct spi_master *master,
                sdd->state &= ~RXBUSY;
                sdd->state &= ~TXBUSY;
 
-               s3c64xx_enable_datapath(sdd, xfer, use_dma);
-
                /* Start the signals */
                s3c64xx_spi_set_cs(spi, true);
 
+               s3c64xx_enable_datapath(sdd, xfer, use_dma);
+
                spin_unlock_irqrestore(&sdd->lock, flags);
 
                if (use_dma)