summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Lin <jon.lin@rock-chips.com>2024-11-18 22:56:46 +0800
committerMark Brown <broonie@kernel.org>2024-11-19 11:38:43 +0000
commitc752e87b9c3982b78dddcdd70dcb826df3cfd75d (patch)
treeefb16af8c3b9692cf2d0333c63a87b507bdd83fc
parent26470a2e87a6fc40750f4bfe962519e9ae9a9e72 (diff)
spi: rockchip-sfc: Embedded DMA only support 4B aligned address
Controller limitations. Signed-off-by: Jon Lin <jon.lin@rock-chips.com> Link: https://patch.msgid.link/20241118145646.2609039-1-jon.lin@rock-chips.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--drivers/spi/spi-rockchip-sfc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/spi/spi-rockchip-sfc.c b/drivers/spi/spi-rockchip-sfc.c
index 316e3db884926..69d0f21755684 100644
--- a/drivers/spi/spi-rockchip-sfc.c
+++ b/drivers/spi/spi-rockchip-sfc.c
@@ -503,7 +503,7 @@ static int rockchip_sfc_exec_mem_op(struct spi_mem *mem, const struct spi_mem_op
rockchip_sfc_adjust_op_work((struct spi_mem_op *)op);
rockchip_sfc_xfer_setup(sfc, mem, op, len);
if (len) {
- if (likely(sfc->use_dma) && len >= SFC_DMA_TRANS_THRETHOLD) {
+ if (likely(sfc->use_dma) && len >= SFC_DMA_TRANS_THRETHOLD && !(len & 0x3)) {
init_completion(&sfc->cp);
rockchip_sfc_irq_unmask(sfc, SFC_IMR_DMA);
ret = rockchip_sfc_xfer_data_dma(sfc, op, len);