Re: [PATCH v1 2/2] ASoC: qcom: audioreach: Fix default WS source assignment for I2S interface
From: Srinivas Kandagatla
Date: Sun Aug 31 2025 - 04:37:16 EST
On 8/22/25 6:14 PM, Mohammad Rafi Shaik wrote:
> Resolve an issue where the I2S Word Select (WS) source could remain unset,
> leading to misconfiguration of the I2S interface. A default WS source is
> assigned when not explicitly configured by the AudioReach module.
>
> For HS MI2S interface, the DSP need proper WS settings to set
> appropriate endpoint configuration.
>
Sorry this is not the right way to do this, machine driver should select
the correct configuration via snd_soc_dai_set_fmt.
who supplies the frame clock is decided by that configuration, we should
not be assuming any default as this is totally board depended.
--srini
> Fixes: 25ab80db6b133 ("ASoC: qdsp6: audioreach: add module configuration command helpers")
> Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@xxxxxxxxxxxxxxxx>
> ---
> sound/soc/qcom/qdsp6/audioreach.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/sound/soc/qcom/qdsp6/audioreach.c b/sound/soc/qcom/qdsp6/audioreach.c
> index 6d7b1a4b0b2a..d4397f75e310 100644
> --- a/sound/soc/qcom/qdsp6/audioreach.c
> +++ b/sound/soc/qcom/qdsp6/audioreach.c
> @@ -999,6 +999,12 @@ static int audioreach_i2s_set_media_format(struct q6apm_graph *graph,
> intf_cfg->cfg.intf_idx = module->hw_interface_idx;
> intf_cfg->cfg.sd_line_idx = module->sd_line_idx;
>
> + /* Set default WS source if not already configured */
> + if (!module->ws_src)
> + intf_cfg->cfg.ws_src = CONFIG_I2S_WS_SRC_INTERNAL;
> + else
> + intf_cfg->cfg.ws_src = module->ws_src;
> +
> switch (cfg->fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
> case SND_SOC_DAIFMT_BP_FP:
> intf_cfg->cfg.ws_src = CONFIG_I2S_WS_SRC_INTERNAL;