[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6ca759f1-27ef-4cf4-833c-ee2f6a9b2d87@oss.qualcomm.com>
Date: Sun, 31 Aug 2025 09:37:01 +0100
From: Srinivas Kandagatla <srinivas.kandagatla@....qualcomm.com>
To: Mohammad Rafi Shaik <mohammad.rafi.shaik@....qualcomm.com>,
Srinivas Kandagatla <srini@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>, Mark Brown <broonie@...nel.org>,
Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>,
Pierre-Louis Bossart <pierre-louis.bossart@...ux.dev>
Cc: linux-sound@...r.kernel.org, linux-arm-msm@...r.kernel.org,
linux-kernel@...r.kernel.org, kernel@....qualcomm.com
Subject: Re: [PATCH v1 2/2] ASoC: qcom: audioreach: Fix default WS source
assignment for I2S interface
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@....qualcomm.com>
> ---
> 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;
Powered by blists - more mailing lists