From 14f00c74f787a263e443b6901083187ffae641de Mon Sep 17 00:00:00 2001 From: Vinod Koul Date: Mon, 2 Sep 2013 17:47:33 +0530 Subject: dmaengine: dma_slave_caps: remove sg entries As pointed by Russell in [1], the sg properties are already availble in struct device, so no need to duplicate here. [1]: http://marc.info/?l=linux-omap&m=137416733628831 Signed-off-by: Vinod Koul diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 5692bc3..4310b89 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -380,11 +380,6 @@ struct dma_slave_config { * should be checked by controller as well * @cmd_pause: true, if pause and thereby resume is supported * @cmd_terminate: true, if terminate cmd is supported - * - * @max_sg_nr: maximum number of SG segments supported - * 0 for no maximum - * @max_sg_len: maximum length of a SG segment supported - * 0 for no maximum */ struct dma_slave_caps { u32 src_addr_widths; @@ -392,9 +387,6 @@ struct dma_slave_caps { u32 directions; bool cmd_pause; bool cmd_terminate; - - u32 max_sg_nr; - u32 max_sg_len; }; static inline const char *dma_chan_name(struct dma_chan *chan) -- cgit v0.10.2 From dbaf6d85114bd2043f3ca758f71f9f7e4e579601 Mon Sep 17 00:00:00 2001 From: Vinod Koul Date: Mon, 2 Sep 2013 21:54:48 +0530 Subject: dmaengine: pl330: use dma_set_max_seg_size to set the sg limit Signed-off-by: Vinod Koul diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c index 7c02e83..6a6e82c 100644 --- a/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c @@ -2871,13 +2871,6 @@ static int pl330_dma_device_slave_caps(struct dma_chan *dchan, caps->cmd_pause = false; caps->cmd_terminate = true; - /* - * This is the limit for transfers with a buswidth of 1, larger - * buswidths will have larger limits. - */ - caps->max_sg_len = 1900800; - caps->max_sg_nr = 0; - return 0; } @@ -3001,6 +2994,14 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id) "unable to register DMA to the generic DT DMA helpers\n"); } } + /* + * This is the limit for transfers with a buswidth of 1, larger + * buswidths will have larger limits. + */ + ret = dma_set_max_seg_size(&adev->dev, 1900800); + if (ret) + dev_err(&adev->dev, "unable to set the seg size\n"); + dev_info(&adev->dev, "Loaded driver for PL330 DMAC-%d\n", adev->periphid); -- cgit v0.10.2