]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: sophgo: cv1800b: document DAC overwrite handling
authorAnton D. Stavinskii <stavinsky@gmail.com>
Tue, 27 Jan 2026 19:08:19 +0000 (23:08 +0400)
committerMark Brown <broonie@kernel.org>
Tue, 27 Jan 2026 20:06:35 +0000 (20:06 +0000)
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 <stavinsky@gmail.com>
Link: https://patch.msgid.link/20260127-incremental-for-i2s-dvier-v2-1-5f66b841f63d@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sophgo/cv1800b-sound-dac.c

index ccf386174639becf49ba518fa5152e7a209a0575..135322bcf6ad1680c75139db4773642967423a66 100644 (file)
@@ -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);