[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240628010715.438471-4-alexey.klimov@linaro.org>
Date: Fri, 28 Jun 2024 02:07:11 +0100
From: Alexey Klimov <alexey.klimov@...aro.org>
To: linux-sound@...r.kernel.org,
srinivas.kandagatla@...aro.org,
bgoswami@...cinc.com,
lgirdwood@...il.com,
broonie@...nel.org
Cc: robh@...nel.org,
krzk+dt@...nel.org,
conor+dt@...nel.org,
andersson@...nel.org,
konrad.dybcio@...aro.org,
perex@...ex.cz,
tiwai@...e.com,
linux-arm-msm@...r.kernel.org,
alsa-devel@...a-project.org,
devicetree@...r.kernel.org,
elder@...aro.org,
dmitry.baryshkov@...aro.org,
krzysztof.kozlowski@...aro.org,
caleb.connolly@...aro.org,
linux-kernel@...r.kernel.org,
alexey.klimov@...aro.org
Subject: [PATCH 3/7] ASoC: qcom: sm8250: add handling of secondary MI2S clock
Add handling of clock related to secondary MI2S_RX in
sm8250_snd_startup() and sm2450_snd_shutdown().
Signed-off-by: Alexey Klimov <alexey.klimov@...aro.org>
---
sound/soc/qcom/sm8250.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/sound/soc/qcom/sm8250.c b/sound/soc/qcom/sm8250.c
index 50e175fd521c..9864d803114d 100644
--- a/sound/soc/qcom/sm8250.c
+++ b/sound/soc/qcom/sm8250.c
@@ -55,6 +55,14 @@ static int sm8250_snd_startup(struct snd_pcm_substream *substream)
struct snd_soc_dai *codec_dai = snd_soc_rtd_to_codec(rtd, 0);
switch (cpu_dai->id) {
+ case SECONDARY_MI2S_RX:
+ codec_dai_fmt |= SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_I2S;
+ snd_soc_dai_set_sysclk(cpu_dai,
+ Q6AFE_LPASS_CLK_ID_SEC_MI2S_IBIT,
+ MI2S_BCLK_RATE, SNDRV_PCM_STREAM_PLAYBACK);
+ snd_soc_dai_set_fmt(cpu_dai, fmt);
+ snd_soc_dai_set_fmt(codec_dai, codec_dai_fmt);
+ break;
case TERTIARY_MI2S_RX:
codec_dai_fmt |= SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_I2S;
snd_soc_dai_set_sysclk(cpu_dai,
@@ -77,6 +85,16 @@ static void sm2450_snd_shutdown(struct snd_pcm_substream *substream)
struct sm8250_snd_data *data = snd_soc_card_get_drvdata(rtd->card);
struct sdw_stream_runtime *sruntime = data->sruntime[cpu_dai->id];
+ switch (cpu_dai->id) {
+ case SECONDARY_MI2S_RX:
+ snd_soc_dai_set_sysclk(cpu_dai,
+ Q6AFE_LPASS_CLK_ID_SEC_MI2S_IBIT,
+ 0, SNDRV_PCM_STREAM_PLAYBACK);
+ break;
+ default:
+ break;
+ }
+
data->sruntime[cpu_dai->id] = NULL;
sdw_release_stream(sruntime);
}
--
2.45.2
Powered by blists - more mailing lists