[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