Re: [PATCH linux-next 09/10] ASoC: rsnd: add busif property to dai stream
From: Kuninori Morimoto
Date: Thu Sep 27 2018 - 20:21:46 EST
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 ?