[PATCH 2/2] ARM: EXYNOS: support burst mode for for dev-to-mem anddev-to-mem transmit

From: Boojin Kim
Date: Mon Feb 18 2013 - 21:02:38 EST


This patch adds to support burst mode for for dev-to-mem and dev-to-mem transmit

Signed-off-by: Boojin Kim <boojin.kim@xxxxxxxxxxx>
---
arch/arm/plat-samsung/dma-ops.c | 10 ++++++++--
arch/arm/plat-samsung/include/plat/dma-ops.h | 1 +
2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/arm/plat-samsung/dma-ops.c b/arch/arm/plat-samsung/dma-ops.c
index d088afa..c25e842 100644
--- a/arch/arm/plat-samsung/dma-ops.c
+++ b/arch/arm/plat-samsung/dma-ops.c
@@ -54,14 +54,20 @@ static int samsung_dmadev_config(unsigned ch,
slave_config.direction = param->direction;
slave_config.src_addr = param->fifo;
slave_config.src_addr_width = param->width;
- slave_config.src_maxburst = 1;
+ if (param->maxburst)
+ slave_config.src_maxburst = param->maxburst;
+ else
+ slave_config.src_maxburst = 1;
dmaengine_slave_config(chan, &slave_config);
} else if (param->direction == DMA_MEM_TO_DEV) {
memset(&slave_config, 0, sizeof(struct dma_slave_config));
slave_config.direction = param->direction;
slave_config.dst_addr = param->fifo;
slave_config.dst_addr_width = param->width;
- slave_config.dst_maxburst = 1;
+ if (param->maxburst)
+ slave_config.dst_maxburst = param->maxburst;
+ else
+ slave_config.dst_maxburst = 1;
dmaengine_slave_config(chan, &slave_config);
} else {
pr_warn("unsupported direction\n");
diff --git a/arch/arm/plat-samsung/include/plat/dma-ops.h b/arch/arm/plat-samsung/include/plat/dma-ops.h
index f5144cd..95893c7 100644
--- a/arch/arm/plat-samsung/include/plat/dma-ops.h
+++ b/arch/arm/plat-samsung/include/plat/dma-ops.h
@@ -35,6 +35,7 @@ struct samsung_dma_prep {
struct samsung_dma_config {
enum dma_transfer_direction direction;
enum dma_slave_buswidth width;
+ u32 maxburst;
dma_addr_t fifo;
};

--
1.7.5.4



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/