[alsa-devel] [PATCH 5/6] ASoC: rsnd: care DMA slave channel name for DT

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Tue Jun 3 02:43:48 CEST 2014


Hi Ben

> > Renesas sound driver is supporting to use DMAEngine.
> > But, DMA slave channel name "tx", "rx" is not enough
> > in DT case.
> > Becuase, it has many ports and path combination.
> > 
> > This patch adds rsnd_dma_of_name() to find
> > DMA channel name, for example
> > memory to SSI0 is "mem_ssi0",
> > SSI0 to memory is "ssi0_mem",
> > SSI0 to SRC0   is "ssi0_src0",
> > SRC0 to SSI0   is "src0_ssi0",
> > SRC0 to DVC0   is "src0_dvc0"...
> 
> I commented on another patch where the ssiX nodes are not being
> used, this would be so much nicer if we removed the ssiX from the
> name and used the of-pointer for the ssiX node to lookup the DMA...
> 
> This is going to produce a hugh list of DMA entries that are going
> to be difficult to manage.

Thank you for your comment.
I understand your opinion.
But, I don't want to use such style for DMA IMO.

You know R-Car sound is very complex IP collection.
And user want to use it as several patterns.
If SSI nodes has its specific DMA setting,
this means SRC/DVC needs to have same style too.

The DMA entry for SSI/SRC/DVC depends on data path.
This means, user *must* understand which IP can use which DMA.
(You know, R-Car sound uses Audio DMAC/Audio DMAC peri peri,
 and the pattern/use case is very complex)
And, user must care his DAI too.
If user failed his settings (= DAI and DMA entry for SSI/SRC/DVC),
someone (maybe me) needs to explain how R-Car sound is complex.
Then ask his DAI settings, research DMA settings, and answer.
This will happen for all user/integrater.
But, I don't want it :P

     * all settings must be correct *
     * but, it is difficult for user/beginner *

     playback = <&ssi0 &src1 &dvc0>;

     &ssi0 { dmas = <xxx>, dma-names = xxx };
     &src1 { dmas = <xxx>, dma-names = xxx };
     &dvc0 { dmas = <xxx>, dma-names = xxx };

Indeed above case needs many DMA entries on SoC DTSI file,
but, DMA entry for SSI/SRC/DVC will be decided automatically.
This case, user cares DAI only, it is very easy IMO.

     * user care only his DAI setting *

     playback = <&ssi0 &src1 &dvc0>;
     
     * it is very easy to exchange DAI setting *

     playback = <&ssi0 &src3>;


More information about the Alsa-devel mailing list