Hi,
On Mon, Nov 18, 2024 at 12:20:58AM +0100, Bert Karwatzki wrote:
Since commit a78a42fb48b8 the second argument of apq8016_dai_init() has to be an lpass id returned by qdsp6_dai_get_lpass_id().
Fixes: a78a42fb48b8 ("ASoC: qcom: apq8016_sbc: Allow routing audio through QDSP6")
Signed-off-by: Bert Karwatzki spasswolf@web.de
sound/soc/qcom/apq8016_sbc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/qcom/apq8016_sbc.c b/sound/soc/qcom/apq8016_sbc.c index 3023cf180a75..ddfcd4616895 100644 --- a/sound/soc/qcom/apq8016_sbc.c +++ b/sound/soc/qcom/apq8016_sbc.c @@ -150,7 +150,7 @@ static int apq8016_sbc_dai_init(struct snd_soc_pcm_runtime *rtd) { struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0);
- return apq8016_dai_init(rtd, cpu_dai->id);
- return apq8016_dai_init(rtd, qdsp6_dai_get_lpass_id(cpu_dai));
}
Hm no, the code is correct the way it is. There are two cases handled by this driver:
- ADSP bypass (lpass-* drivers, qcom,apq8016-sbc-sndcard): This one uses the LPASS IDs as DAI IDs, so cpu_dai->id already contains the correct value.
- ADSP (qdsp6 drivers, qcom,msm8916-qdsp6-sndcard): This one uses the QDSP6 IDs (e.g. PRIMARY_MI2S_RX/TX instead of MI2S_PRIMARY), so qdsp6_dai_get_lpass_id() is used to translate that to the LPASS IDs.
The code you are changing here handles the first case (ADSP bypass), the DAI IDs do not need any translation there.
Thanks, Stephan