Re: [alsa-devel] [PATCH linux-next v2 9/9] ASoC: rsnd: add busif property to dai stream

From: Kuninori Morimoto
Date: Wed Oct 03 2018 - 21:41:45 EST



Hi Jiada

Thank you for your patch

> in GEN3 SSI may use different BUSIF for data transfer,
> this patch adds busif property to each dai stream,
> to indicate the BUSIF used by playback/capture stream.
>
> Also adds rsnd_ssi_select_busif() to automatically select
> BUSIF (currently only BUSIF0 is selected)
>
> Signed-off-by: Jiada Wang <jiada_wang@xxxxxxxxxx>
> ---
> sound/soc/sh/rcar/core.c | 3 +++
> sound/soc/sh/rcar/dma.c | 31 +++++++++++++++++++++++++++++++
> sound/soc/sh/rcar/rsnd.h | 3 +++
> sound/soc/sh/rcar/ssi.c | 30 +++++++++++++++++++++++++++++-
> 4 files changed, 66 insertions(+), 1 deletion(-)
>
> diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
> index 40d7dc4f7839..5e3e6e65bcdf 100644
> --- a/sound/soc/sh/rcar/core.c
> +++ b/sound/soc/sh/rcar/core.c
> @@ -1158,6 +1158,9 @@ static int rsnd_hw_params(struct snd_pcm_substream *substream,
> struct rsnd_dai *rdai = rsnd_dai_to_rdai(dai);
> struct rsnd_dai_stream *io = rsnd_rdai_to_io(rdai, substream);
> int ret;
> + int chan = rsnd_runtime_channel_for_ssi_with_params(io, hw_params);
> +
> + rsnd_ssi_select_busif(io, chan);

If my understanding was correct, the chance to use BUSIFx is when TDM split mode.
And this patch selects it on runtime (= hw_param) ?
But, I think we can/should select it on probe timing from DT connection.
Am I misunderstanding ?

I'm not sure how to select, but adding new ssiuX0 - ssiuX7
is realistic idea (parse sound card is not realistic...) ?
If so, your rxu/txu DMA can be more simple ?