]> git.hungrycats.org Git - linux/commitdiff
ASoC: qcom: sc8280xp: configure codec sysclk for QCS615
authorLe Qi <le.qi@oss.qualcomm.com>
Mon, 10 Aug 2026 03:10:32 +0000 (11:10 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 10 Aug 2026 14:31:57 +0000 (15:31 +0100)
Continuous high-amplitude noise could occur in the DA7213 microphone
capture path after a Bluetooth out-of-range/reset event followed by
reconnection. The noise was present in both the raw ALSA capture and
PipeWire input, confirming that it originated before Bluetooth
encoding.

The codec already obtains and enables MCLK through its DT clock and
bias-level handling. However, the machine driver did not explicitly
configure the codec sysclk during hw_params(). Enable
codec_sysclk_set for QCS615 so that the DA7213 clock source and rate
are configured before the codec power-up sequence.

Verified on QCS615 Talos with repeated Bluetooth disconnect and
reconnect cycles. The noise was no longer reproducible.

Signed-off-by: Le Qi <le.qi@oss.qualcomm.com>
Link: https://patch.msgid.link/20260810031032.2001053-1-le.qi@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/qcom/sc8280xp.c

index 597c0d887d2f4ab58a3cfb5fe489000e498860b8..913ae81be42408a3744eec784318cf2cebdf0dc7 100644 (file)
@@ -462,6 +462,7 @@ static const struct qcom_snd_soc_common qcs615_priv_data = {
        .driver_name = "qcs615",
        .dapm_widgets = sc8280xp_dapm_widgets,
        .num_dapm_widgets = ARRAY_SIZE(sc8280xp_dapm_widgets),
+       .codec_sysclk_set = true,
 };
 
 static const struct qcom_snd_soc_common qcm6490_priv_data = {