Patchwork [2/2] dma: axi-dmac: report DMA_INTERLEAVE capability

login
register
mail settings
Submitter Alexandru Ardelean
Date Feb. 15, 2019, 9:17 a.m.
Message ID <20190215091750.28035-2-alexandru.ardelean@analog.com>
Download mbox | patch
Permalink /patch/727295/
State New
Headers show

Comments

Alexandru Ardelean - Feb. 15, 2019, 9:17 a.m.
From: Dragos Bogdan <dragos.bogdan@analog.com>

Fixes commit 0e3b67b348b8 ("dmaengine: Add support for the Analog Devices
AXI-DMAC DMA controller")

The `device_prep_interleaved_dma()` callback is already present since the
driver was submitted initially.
This change adds the DMA_INTERLEAVE capability to the capability mask of
the DMA engine.

Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
---
 drivers/dma/dma-axi-dmac.c | 1 +
 1 file changed, 1 insertion(+)
Vinod Koul - Feb. 25, 2019, 6:53 a.m.
On 15-02-19, 11:17, Alexandru Ardelean wrote:
> From: Dragos Bogdan <dragos.bogdan@analog.com>
> 
> Fixes commit 0e3b67b348b8 ("dmaengine: Add support for the Analog Devices
> AXI-DMAC DMA controller")

Am not sire this is appropriate here..

> 
> The `device_prep_interleaved_dma()` callback is already present since the
> driver was submitted initially.
> This change adds the DMA_INTERLEAVE capability to the capability mask of
> the DMA engine.
> 
> Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
> Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
> ---
>  drivers/dma/dma-axi-dmac.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/dma/dma-axi-dmac.c b/drivers/dma/dma-axi-dmac.c
> index 2c999113b989..b2039e60ae04 100644
> --- a/drivers/dma/dma-axi-dmac.c
> +++ b/drivers/dma/dma-axi-dmac.c
> @@ -652,6 +652,7 @@ static int axi_dmac_probe(struct platform_device *pdev)
>  	dma_dev = &dmac->dma_dev;
>  	dma_cap_set(DMA_SLAVE, dma_dev->cap_mask);
>  	dma_cap_set(DMA_CYCLIC, dma_dev->cap_mask);
> +	dma_cap_set(DMA_INTERLEAVE, dma_dev->cap_mask);
>  	dma_dev->device_free_chan_resources = axi_dmac_free_chan_resources;
>  	dma_dev->device_tx_status = dma_cookie_status;
>  	dma_dev->device_issue_pending = axi_dmac_issue_pending;
> -- 
> 2.17.1
Ardelean, Alexandru - Feb. 26, 2019, 7:15 a.m.
On Mon, 2019-02-25 at 12:23 +0530, Vinod Koul wrote:
> [External]

> 

> 

> On 15-02-19, 11:17, Alexandru Ardelean wrote:

> > From: Dragos Bogdan <dragos.bogdan@analog.com>

> > 

> > Fixes commit 0e3b67b348b8 ("dmaengine: Add support for the Analog

> > Devices

> > AXI-DMAC DMA controller")

> 

> Am not sire this is appropriate here..

> 


Hmm, probably.
I'm a bit vague if a device_prep_interleaved_dma() callback works fine [or
is fine to have] without a DMA_INTERLEAVE flag in the caps. I did not dig
too deep into the dmaengine.

I can re-spin this without the Fixes stuff

> > 

> > The `device_prep_interleaved_dma()` callback is already present since

> > the

> > driver was submitted initially.

> > This change adds the DMA_INTERLEAVE capability to the capability mask

> > of

> > the DMA engine.

> > 

> > Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>

> > Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>

> > ---

> >  drivers/dma/dma-axi-dmac.c | 1 +

> >  1 file changed, 1 insertion(+)

> > 

> > diff --git a/drivers/dma/dma-axi-dmac.c b/drivers/dma/dma-axi-dmac.c

> > index 2c999113b989..b2039e60ae04 100644

> > --- a/drivers/dma/dma-axi-dmac.c

> > +++ b/drivers/dma/dma-axi-dmac.c

> > @@ -652,6 +652,7 @@ static int axi_dmac_probe(struct platform_device

> > *pdev)

> >       dma_dev = &dmac->dma_dev;

> >       dma_cap_set(DMA_SLAVE, dma_dev->cap_mask);

> >       dma_cap_set(DMA_CYCLIC, dma_dev->cap_mask);

> > +     dma_cap_set(DMA_INTERLEAVE, dma_dev->cap_mask);

> >       dma_dev->device_free_chan_resources =

> > axi_dmac_free_chan_resources;

> >       dma_dev->device_tx_status = dma_cookie_status;

> >       dma_dev->device_issue_pending = axi_dmac_issue_pending;

> > --

> > 2.17.1

> 

> --

> ~Vinod
Vinod Koul - Feb. 26, 2019, 8:02 a.m.
On 26-02-19, 07:15, Ardelean, Alexandru wrote:
> On Mon, 2019-02-25 at 12:23 +0530, Vinod Koul wrote:
> > [External]
> > 
> > 
> > On 15-02-19, 11:17, Alexandru Ardelean wrote:
> > > From: Dragos Bogdan <dragos.bogdan@analog.com>
> > > 
> > > Fixes commit 0e3b67b348b8 ("dmaengine: Add support for the Analog
> > > Devices
> > > AXI-DMAC DMA controller")
> > 
> > Am not sire this is appropriate here..
> > 
> 
> Hmm, probably.
> I'm a bit vague if a device_prep_interleaved_dma() callback works fine [or
> is fine to have] without a DMA_INTERLEAVE flag in the caps. I did not dig
> too deep into the dmaengine.
> 
> I can re-spin this without the Fixes stuff

Yes please and rebase on dmaengine-next

Thanks

Patch

diff --git a/drivers/dma/dma-axi-dmac.c b/drivers/dma/dma-axi-dmac.c
index 2c999113b989..b2039e60ae04 100644
--- a/drivers/dma/dma-axi-dmac.c
+++ b/drivers/dma/dma-axi-dmac.c
@@ -652,6 +652,7 @@  static int axi_dmac_probe(struct platform_device *pdev)
 	dma_dev = &dmac->dma_dev;
 	dma_cap_set(DMA_SLAVE, dma_dev->cap_mask);
 	dma_cap_set(DMA_CYCLIC, dma_dev->cap_mask);
+	dma_cap_set(DMA_INTERLEAVE, dma_dev->cap_mask);
 	dma_dev->device_free_chan_resources = axi_dmac_free_chan_resources;
 	dma_dev->device_tx_status = dma_cookie_status;
 	dma_dev->device_issue_pending = axi_dmac_issue_pending;