[PATCH] ASoC: snd_soc_dai_set_fmt add substream independence.

Mark Brown broonie at kernel.org
Mon Mar 30 12:32:13 CEST 2020


On Sat, Mar 28, 2020 at 12:58:31PM +1100, Matt Flax wrote:

> This patch is aims to start a stronger discussion on allowing both CPU
> and Codec dais to set formats independently based on direction.

If the DAIs support completely separate formats they're not a single DAI
and should be represented as two DAIs.

> One example of a sound card which requires independent stream formats is
> an isolated sound card, such as the Audio Injector Isolated sound card.
> The magnetic isolation chips on the sound card require stream fomats to
> be different because of digital latency variations on the I2S lines.

Honestly I'm not convinced this is ever going to work reliably - there
is in general an assumption in the code that the formats on both ends of
the link are the same, it seems you'll have to break that as well as
having an asymmetric configuration.  You probably need to represent
these isolators as a CODEC and do a CODEC to CODEC link and even then it
seems worrying.

>  /* Digital Audio interface formatting */
> -int snd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt);
> +int snd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt, int stream);

This will break the build.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20200330/4374b256/attachment.sig>


More information about the Alsa-devel mailing list