[PATCH v3 5/7] ASoC: meson: aiu: add I2S Capture DAI

sashiko-bot at kernel.org sashiko-bot at kernel.org
Tue Sep 22 09:15:44 PDT 2026


Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] ASoC: meson: missing DAPM route for I2S Encoder Capture breaks capture
--

commit fa09911e4a594b581f33e550b8e59c1534b784f0
Author: Valerio Setti <vsetti at baylibre.com>

ASoC: meson: aiu: add I2S Capture DAI

Add capture stream to CPU_I2S_ENCODER to handle both playback and capture
streams. Captured data is formatted and buffered from the widgets, then bulk
transmitted into RAM.

> Add capture stream to CPU_I2S_ENCODER making it able to handle both
> playback and capture streams. Captured data is formatted from
> "audin-formatter-i2s" widget, buffered from "audin-fifo" into an internal
> FIFO and then bulk transmitted into RAM when the FIFO is full.

Is the formatter widget in audin.c erroneously named 'I2S Formatter' instead
of 'audin-formatter-i2s' as claimed here?

This creates a naming collision with the playback formatter in aiu.c.

> diff --git a/sound/soc/meson/aiu.c b/sound/soc/meson/aiu.c
> index 535fbf7c16394..14d0e20a4bd66 100644
> --- a/sound/soc/meson/aiu.c
> +++ b/sound/soc/meson/aiu.c
> @@ -153,6 +153,13 @@ static struct snd_soc_dai_driver aiu_cpu_dai_drv[] = {
>  			.rates = SNDRV_PCM_RATE_8000_192000,
>  			.formats = AIU_FORMATS,
>  		},
> +		.capture = {
> +			.stream_name = "I2S Encoder Capture",

[Severity: High]
Are the DAPM routes for this capture path missing?

The patch creates the 'I2S Encoder Capture' BE stream widget but fails to add
any snd_soc_dapm_route connecting it to the formatter (neither in aiu.c nor in
audin.c). As a result, the capture path is disjoint.

When the capture stream is opened, the DAPM graph traversal in
audin_formatter_i2s_get_be() fails to find a backend source, returning NULL.

This triggers a WARN_ON(!ts) inside gx_formatter_power_up() and returns
-ENODEV, breaking capture functionality.

> +			.channels_min = 2,
> +			.channels_max = 2,
> +			.rates = SNDRV_PCM_RATE_8000_192000,
> +			.formats = SNDRV_PCM_FMTBIT_S16_LE,
> +		},
>  		.ops = &aiu_encoder_i2s_dai_ops,
>  		.symmetric_rate = 1,
>  	},

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260922-audin-v3-0-a760312c076c@baylibre.com?part=5



More information about the linux-amlogic mailing list