summaryrefslogtreecommitdiffstats
path: root/drivers/dma/sprd-dma.c
diff options
context:
space:
mode:
authorEric Long <eric.long@spreadtrum.com>2018-04-19 10:00:46 +0800
committerVinod Koul <vkoul@kernel.org>2018-04-27 11:54:55 +0530
commit6b1d255ecde522ac961226b22321f417c62b2435 (patch)
treef7bf731edf4bf91122470ed79b96790c84d81055 /drivers/dma/sprd-dma.c
parent60cc43fc888428bb2f18f08997432d426a243338 (diff)
downloadlinux-6b1d255ecde522ac961226b22321f417c62b2435.tar.bz2
dmaengine: sprd: Define the DMA transfer step type
Define the DMA transfer step type to make code more readable. Signed-off-by: Eric Long <eric.long@spreadtrum.com> Signed-off-by: Baolin Wang <baolin.wang@linaro.org> Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/sprd-dma.c')
-rw-r--r--drivers/dma/sprd-dma.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/drivers/dma/sprd-dma.c b/drivers/dma/sprd-dma.c
index b106e8a60af6..dcfa4179bf9e 100644
--- a/drivers/dma/sprd-dma.c
+++ b/drivers/dma/sprd-dma.c
@@ -116,6 +116,13 @@
#define SPRD_DMA_SRC_TRSF_STEP_OFFSET 0
#define SPRD_DMA_TRSF_STEP_MASK GENMASK(15, 0)
+/* define the DMA transfer step type */
+#define SPRD_DMA_NONE_STEP 0
+#define SPRD_DMA_BYTE_STEP 1
+#define SPRD_DMA_SHORT_STEP 2
+#define SPRD_DMA_WORD_STEP 4
+#define SPRD_DMA_DWORD_STEP 8
+
#define SPRD_DMA_SOFTWARE_UID 0
/*
@@ -598,16 +605,16 @@ static int sprd_dma_config(struct dma_chan *chan, struct sprd_dma_desc *sdesc,
if (IS_ALIGNED(len, 4)) {
datawidth = 2;
- src_step = 4;
- des_step = 4;
+ src_step = SPRD_DMA_WORD_STEP;
+ des_step = SPRD_DMA_WORD_STEP;
} else if (IS_ALIGNED(len, 2)) {
datawidth = 1;
- src_step = 2;
- des_step = 2;
+ src_step = SPRD_DMA_SHORT_STEP;
+ des_step = SPRD_DMA_SHORT_STEP;
} else {
datawidth = 0;
- src_step = 1;
- des_step = 1;
+ src_step = SPRD_DMA_BYTE_STEP;
+ des_step = SPRD_DMA_BYTE_STEP;
}
fragment_len = SPRD_DMA_MEMCPY_MIN_SIZE;