[alsa-devel] [PATCH linux-next 09/10] ASoC: rsnd: add busif property to dai stream

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Fri Sep 28 02:21:06 CEST 2018


Hi Jiada


> 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.
(snip)
> +	io_playback->busif = rsnd_busif_get(priv, dai_i);
> +	io_capture->busif  = rsnd_busif_get(priv, rsnd_rdai_nr(priv) + dai_i);
(snip)
> +	busif = devm_kcalloc(dev, 2 * nr, sizeof(*busif), GFP_KERNEL);
(snip)
> @@ -456,6 +456,7 @@ struct rsnd_dai_stream {
>  	struct rsnd_mod *dma;
>  	struct rsnd_dai *rdai;
>  	struct device *dmac_dev; /* for IPMMU */
> +	struct rsnd_kctrl_cfg_s *busif;
>  	u32 parent_ssi_status;
>  };

It looks very complex to me.
Why don't you just have "busif" on rsnd_dai_stream, instead of "*busif" ?

>  int rsnd_ssi_get_busif(struct rsnd_dai_stream *io)
>  {
> -	return 0; /* BUSIF0 only for now */
> +	if (!rsnd_ssi_use_busif(io))
> +		return 0;
> +
> +	return io->busif->val;
>  }

Who/How update val ?



More information about the Alsa-devel mailing list