summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton D. Stavinskii <stavinsky@gmail.com>2026-01-27 23:08:19 +0400
committerMark Brown <broonie@kernel.org>2026-01-27 20:06:35 +0000
commita8e3e488293118b8fa5d5e7ca786ca25b954ce12 (patch)
tree0cd41bf0a5a04247a925360de617e95faf50e305
parentb3eb755e2db07d85c30e8ff4043ffb9a14b4ece7 (diff)
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 <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>
-rw-r--r--sound/soc/sophgo/cv1800b-sound-dac.c6
1 files changed, 5 insertions, 1 deletions
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);