Messages in this thread Patch in this message | | | Date | Mon, 2 Sep 2013 21:59:07 +0530 | From | Vinod Koul <> | Subject | Re: [PATCH] dmaengine: dma_slave_caps: remove sg entries |
| |
On Mon, Sep 02, 2013 at 07:10:52PM +0200, Lars-Peter Clausen wrote: > On 09/02/2013 06:12 PM, Vinod Koul wrote: > > On Mon, Sep 02, 2013 at 04:52:06PM +0200, Lars-Peter Clausen wrote: > >> On 09/02/2013 02:21 PM, Vinod Koul wrote: > >>> 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 > >> > >> Hm, I guess that will work as well, but shouldn't we update the drivers that > >> already implementing this interface first? > > Well thats why I cced you :). I have fixed up the pl330 driver. Have you used > > these values in any of the ASoC drivers? > > Not in upstream yet, if the pl330 is fixed we are good. Thanks for the confirmation. I had a week old Takashi's tree, didnt find anything there, but still wanted your ack.
Now on pl330 here is the update
---
From: Vinod Koul <vinod.koul@intel.com> Date: Mon, 2 Sep 2013 21:54:48 +0530 Subject: [PATCH] dmaengine: pl330: use dma_set_max_seg_size to set the sg limit
Signed-off-by: Vinod Koul <vinod.koul@intel.com> --- compile tested only
drivers/dma/pl330.c | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c index 36ed301..a562d24 100644 --- a/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c @@ -2886,13 +2886,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; } @@ -3017,6 +3010,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); -- 1.7.0.4
| |