diff mbox

ASoC: rsnd: add missing src/dst_addr_width for DMAEngine

Message ID 87sim0ece5.wl%kuninori.morimoto.gx@gmail.com (mailing list archive)
State Accepted
Commit 2bf865ba30405056e7922b960a1687bb4d5a4999
Headers show

Commit Message

Kuninori Morimoto July 17, 2014, 6:18 a.m. UTC
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Renesas new DMAEngine driver requests src/dst_addr_width

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
>> Laurent

Could you please check and give your Ack to this patch?

 sound/soc/sh/rcar/core.c |    2 ++
 1 file changed, 2 insertions(+)

Comments

Laurent Pinchart July 18, 2014, 12:44 p.m. UTC | #1
Hi Morimoto-san,

On Wednesday 16 July 2014 23:18:44 Kuninori Morimoto wrote:
> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> 
> Renesas new DMAEngine driver requests src/dst_addr_width
> 
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> ---
> 
> >> Laurent
> 
> Could you please check and give your Ack to this patch?

What tree is the patch based on ? It doesn't apply on Takashi's latest master 
branch. I need a bit of context to review it.

>  sound/soc/sh/rcar/core.c |    2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
> index 907d480..c48d999 100644
> --- a/sound/soc/sh/rcar/core.c
> +++ b/sound/soc/sh/rcar/core.c
> @@ -338,6 +338,8 @@ int rsnd_dma_init(struct rsnd_priv *priv, struct
> rsnd_dma *dma, cfg.direction	= is_play ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM;
>  	cfg.src_addr	= rsnd_gen_dma_addr(priv, mod_from, is_play, 1);
>  	cfg.dst_addr	= rsnd_gen_dma_addr(priv, mod_to,   is_play, 0);
> +	cfg.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
> +	cfg.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
> 
>  	dev_dbg(dev, "dma : %s %pad -> %pad\n",
>  		dma_name, &cfg.src_addr, &cfg.dst_addr);
Kuninori Morimoto July 21, 2014, 11:55 p.m. UTC | #2
Hi Laurent

> > From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > 
> > Renesas new DMAEngine driver requests src/dst_addr_width
> > 
> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > ---
> > 
> > >> Laurent
> > 
> > Could you please check and give your Ack to this patch?
> 
> What tree is the patch based on ? It doesn't apply on Takashi's latest master 
> branch. I need a bit of context to review it.

git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git :: topic/rcar

or Gerrt's driver tree
Laurent Pinchart July 22, 2014, 1:11 a.m. UTC | #3
Hi Morimoto-san,

On Monday 21 July 2014 16:55:41 Kuninori Morimoto wrote:
> Hi Laurent
> 
> > > From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > > 
> > > Renesas new DMAEngine driver requests src/dst_addr_width
> > > 
> > > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > > ---
> > > 
> > > >> Laurent
> > > 
> > > Could you please check and give your Ack to this patch?
> > 
> > What tree is the patch based on ? It doesn't apply on Takashi's latest
> > master branch. I need a bit of context to review it.
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git ::
> topic/rcar
> 
> or Gerrt's driver tree

Of course :-)

I've tried to understand the driver and couldn't even find out which DMA 
controller was used :-/ I suspect it's the audio peri-peri DMAC, but I haven't 
been able to confirm that from the source code. If the assumption is true the 
patch looks OK to me, but if you need a formal Acked-by then I'll need you to 
guide me through the driver I'm afraid.
Kuninori Morimoto July 22, 2014, 2:34 a.m. UTC | #4
Hi Laurent

> > > What tree is the patch based on ? It doesn't apply on Takashi's latest
> > > master branch. I need a bit of context to review it.
(snip)
> I've tried to understand the driver and couldn't even find out which DMA 
> controller was used :-/ I suspect it's the audio peri-peri DMAC, but I haven't 
> been able to confirm that from the source code. If the assumption is true the 
> patch looks OK to me, but if you need a formal Acked-by then I'll need you to 
> guide me through the driver I'm afraid.

Ahh I'm sorry about this confusion.
It uses audio peri-peri DMAC, and, your rcar-dmac (as audio DMAC)
The platform side is not upstreamed yet.
(Because it depends on rcar-dmac)

But, I posted RFC audio DMAC support patches which
was based on Ben's DMAC before.

    http://www.spinics.net/lists/linux-sh/msg32949.html

I can re-post this patch if all DMAC was ready

Best regards
---
Kuninori Morimoto
Laurent Pinchart July 22, 2014, 1:15 p.m. UTC | #5
Hi Morimoto-san,

Thank you for the patch.

On Wednesday 16 July 2014 23:18:44 Kuninori Morimoto wrote:
> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> 
> Renesas new DMAEngine driver requests src/dst_addr_width
> 
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
> 
> >> Laurent
> 
> Could you please check and give your Ack to this patch?
> 
>  sound/soc/sh/rcar/core.c |    2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
> index 907d480..c48d999 100644
> --- a/sound/soc/sh/rcar/core.c
> +++ b/sound/soc/sh/rcar/core.c
> @@ -338,6 +338,8 @@ int rsnd_dma_init(struct rsnd_priv *priv, struct
> rsnd_dma *dma, cfg.direction	= is_play ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM;
>  	cfg.src_addr	= rsnd_gen_dma_addr(priv, mod_from, is_play, 1);
>  	cfg.dst_addr	= rsnd_gen_dma_addr(priv, mod_to,   is_play, 0);
> +	cfg.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
> +	cfg.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
> 
>  	dev_dbg(dev, "dma : %s %pad -> %pad\n",
>  		dma_name, &cfg.src_addr, &cfg.dst_addr);
Laurent Pinchart July 22, 2014, 1:16 p.m. UTC | #6
Hi Morimoto-san,

On Monday 21 July 2014 19:34:36 Kuninori Morimoto wrote:
> Hi Laurent
> 
> > > > What tree is the patch based on ? It doesn't apply on Takashi's latest
> > > > master branch. I need a bit of context to review it.
> 
> (snip)
> 
> > I've tried to understand the driver and couldn't even find out which DMA
> > controller was used :-/ I suspect it's the audio peri-peri DMAC, but I
> > haven't been able to confirm that from the source code. If the assumption
> > is true the patch looks OK to me, but if you need a formal Acked-by then
> > I'll need you to guide me through the driver I'm afraid.
> 
> Ahh I'm sorry about this confusion.
> It uses audio peri-peri DMAC, and, your rcar-dmac (as audio DMAC)
> The platform side is not upstreamed yet.
> (Because it depends on rcar-dmac)
> 
> But, I posted RFC audio DMAC support patches which
> was based on Ben's DMAC before.
> 
>     http://www.spinics.net/lists/linux-sh/msg32949.html
> 
> I can re-post this patch if all DMAC was ready

No need to, that was enough. Thank you. I've acked the patch.

By the way, I'd like to test cyclic transfers with the rcar-dmac driver. Is 
there an easy (or at least not too difficult) way to do so with your audio 
driver ?
Mark Brown July 22, 2014, 10:17 p.m. UTC | #7
On Wed, Jul 16, 2014 at 11:18:44PM -0700, Kuninori Morimoto wrote:
> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> 
> Renesas new DMAEngine driver requests src/dst_addr_width

Applied, thanks.
Kuninori Morimoto July 23, 2014, 12:44 a.m. UTC | #8
Hi Laurent

> > I can re-post this patch if all DMAC was ready
> 
> No need to, that was enough. Thank you. I've acked the patch.
> 
> By the way, I'd like to test cyclic transfers with the rcar-dmac driver. Is 
> there an easy (or at least not too difficult) way to do so with your audio 
> driver ?

Thank you for your help.
Yes, me too :)

I re-try your v2 DMAC driver with sound driver today.
Then, I will post platform side patches to ML
diff mbox

Patch

diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
index 907d480..c48d999 100644
--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
@@ -338,6 +338,8 @@  int rsnd_dma_init(struct rsnd_priv *priv, struct rsnd_dma *dma,
 	cfg.direction	= is_play ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM;
 	cfg.src_addr	= rsnd_gen_dma_addr(priv, mod_from, is_play, 1);
 	cfg.dst_addr	= rsnd_gen_dma_addr(priv, mod_to,   is_play, 0);
+	cfg.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
+	cfg.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
 
 	dev_dbg(dev, "dma : %s %pad -> %pad\n",
 		dma_name, &cfg.src_addr, &cfg.dst_addr);