From: Anton D. Stavinskii Date: Tue, 27 Jan 2026 19:08:19 +0000 (+0400) Subject: ASoC: sophgo: cv1800b: document DAC overwrite handling X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a8e3e488293118b8fa5d5e7ca786ca25b954ce12;p=thirdparty%2Fkernel%2Flinux.git ASoC: sophgo: cv1800b: document DAC overwrite handling Add comments to cv1800b_dac_mute() and its caller to explain how the overwrite mechanism works and why we force it off before playback. Signed-off-by: Anton D. Stavinskii Link: https://patch.msgid.link/20260127-incremental-for-i2s-dvier-v2-1-5f66b841f63d@gmail.com Signed-off-by: Mark Brown --- diff --git a/sound/soc/sophgo/cv1800b-sound-dac.c b/sound/soc/sophgo/cv1800b-sound-dac.c index ccf386174639..135322bcf6ad 100644 --- a/sound/soc/sophgo/cv1800b-sound-dac.c +++ b/sound/soc/sophgo/cv1800b-sound-dac.c @@ -57,6 +57,10 @@ static void cv1800b_dac_enable(struct cv1800b_priv *priv, bool enable) writel(val, priv->regs + CV1800B_TXDAC_CTRL0); } +/* + * Control the DAC overwrite bits. When enabled, the DAC outputs the fixed + * overwrite value instead of samples from the I2S input. + */ static void cv1800b_dac_mute(struct cv1800b_priv *priv, bool enable) { u32 val; @@ -105,7 +109,7 @@ static int cv1800b_dac_hw_params(struct snd_pcm_substream *substream, dev_err(priv->dev, "rate %u is not supported\n", rate); return -EINVAL; } - + /* Clear DAC overwrite so playback uses I2S data. */ cv1800b_dac_mute(priv, false); /* minimal decimation for 48kHz is 64*/ ret = cv1800b_dac_decimation(priv, DECIMATION_64);