mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
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>
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user