aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVijaya Krishna Nivarthi <quic_vnivarth@quicinc.com>2023-07-25 17:18:08 +0530
committerMark Brown <broonie@kernel.org>2023-07-25 19:11:55 +0100
commitcfb81f2243b25a0d79accc6510ad66c5c5ad99ba (patch)
treead20de83f7843faf473444770f06bcf6d8110306
parentf7ba36d399c4558f36886adff9400be591b245f6 (diff)
downloadxfs-lts-backports-cfb81f2243b25a0d79accc6510ad66c5c5ad99ba.tar.gz
spi: spi-qcom-qspi: Call dma_wmb() after setting up descriptors
After setting up dma descriptors and before initiaiting dma transfer, call dma_wmb() to ensure all writes go through. This doesn't fix any reported problem but is added for safety. Signed-off-by: Vijaya Krishna Nivarthi <quic_vnivarth@quicinc.com> Fixes: b5762d95607e ("spi: spi-qcom-qspi: Add DMA mode support") Reviewed-by: Douglas Anderson <dianders@chromium.org> Link: https://lore.kernel.org/r/1690285689-30233-4-git-send-email-quic_vnivarth@quicinc.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--drivers/spi/spi-qcom-qspi.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/spi/spi-qcom-qspi.c b/drivers/spi/spi-qcom-qspi.c
index 67c101792a74d..75fcb9145d913 100644
--- a/drivers/spi/spi-qcom-qspi.c
+++ b/drivers/spi/spi-qcom-qspi.c
@@ -443,8 +443,10 @@ static int qcom_qspi_transfer_one(struct spi_master *master,
ret = qcom_qspi_setup_dma_desc(ctrl, xfer);
if (ret != -EAGAIN) {
- if (!ret)
+ if (!ret) {
+ dma_wmb();
qcom_qspi_dma_xfer(ctrl);
+ }
goto exit;
}
dev_warn_once(ctrl->dev, "DMA failure, falling back to PIO\n");