summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPer Forlin <per.forlin@stericsson.com>2011-10-18 18:39:47 +0200
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:02:55 +0200
commit48d61af58c9c4257bb68425be44f1b40bed6c2a8 (patch)
tree394995e6d03aeaea81ee77306f5a10ecfebdf07f
parent29700821e3b9a1d7e1069aad9bfa811b8533b334 (diff)
dmaengine/ste_dma40: set dma max seg to 0xffff
Maximum DMA seg size is (0xffff x data_width). If max seg size is not set it deafults to 64k. This results in failure if transferring 64k in byte mode. Large seg sizes may be supported by splitting large transfer. ---------------- commit d49278e3351b34870cbffffc5067348a318e7b06 Author: Per Forlin <per.forlin@stericsson.com> Date: Mon Dec 20 18:31:38 2010 +0100 dmaengine: dma40: Add support to split up large elements ---------------- This patch has been rejected or lost on kernel 3.0. It exists on mainline kernel 3.0. ST-Ericsson ID: 363565 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: NA Change-Id: I7c0bf09df04cb20da2164c5c40f3a0ae73e65289 Signed-off-by: Per Forlin <per.forlin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/34405 Reviewed-by: QATOOLS Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com>
-rw-r--r--drivers/dma/ste_dma40.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c
index 2ed1ac3513f..751c876f373 100644
--- a/drivers/dma/ste_dma40.c
+++ b/drivers/dma/ste_dma40.c
@@ -345,6 +345,7 @@ struct d40_base {
int irq;
int num_phy_chans;
int num_log_chans;
+ struct device_dma_parameters dma_parms;
struct dma_device dma_both;
struct dma_device dma_slave;
struct dma_device dma_memcpy;
@@ -3358,6 +3359,13 @@ static int __init d40_probe(struct platform_device *pdev)
if (err)
goto failure;
+ base->dev->dma_parms = &base->dma_parms;
+ err = dma_set_max_seg_size(base->dev, 0xffff);
+ if (err) {
+ d40_err(&pdev->dev, "Failed to set dma max seg size\n");
+ goto failure;
+ }
+
d40_hw_init(base);
dev_info(base->dev, "initialized\n");