[alsa-devel] [RFC][PATCH] ASoC: cs42l73: Fix Output [X|A|V]SP_SCLK Sourcing Mode setting for master mode
For master mode, set Output [X|A|V]SP_SCLK Sourcing Mode to MCLK Mode.
Signed-off-by: Axel Lin axel.lin@gmail.com --- Hi Brian, I think current code of setting priv->config[id].spc for master mode is wrong: priv->config[id].spc &= MCK_SCLK_64FS; will set priv->config[id].spc to be 0.
I don't have this hardware, I'd appreciate you can review and test this patch.
Regards, Axel sound/soc/codecs/cs42l73.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/sound/soc/codecs/cs42l73.c b/sound/soc/codecs/cs42l73.c index 9d38db8..78979b3 100644 --- a/sound/soc/codecs/cs42l73.c +++ b/sound/soc/codecs/cs42l73.c @@ -1113,7 +1113,7 @@ static int cs42l73_pcm_hw_params(struct snd_pcm_substream *substream, priv->config[id].mmcc &= 0xC0; priv->config[id].mmcc |= cs42l73_mclk_coeffs[mclk_coeff].mmcc; priv->config[id].spc &= 0xFC; - priv->config[id].spc &= MCK_SCLK_64FS; + priv->config[id].spc |= MCK_SCLK_MCLK; } else { /* CS42L73 Slave */ priv->config[id].spc &= 0xFC;
For master mode, set Output [X|A|V]SP_SCLK Sourcing Mode to MCLK Mode.
Signed-off-by: Axel Lin axel.lin@gmail.com
Hi Brian, I think current code of setting priv->config[id].spc for master mode is wrong: priv->config[id].spc &= MCK_SCLK_64FS; will set priv->config[id].spc to be 0.
I don't have this hardware, I'd appreciate you can review and test this patch.
Hey Axel,
Thanks for the catch. Yes, for most normal slave operations where sclk = mclk you would set it the way you have it.
There is however another case where the SCLK = PREMCLK that puts constraints on the supported rates for the MCLK. Your fix catches the majority of uses for Codec slave mode though.
Acked-by:Brian Austin brian.austin@cirrus.com
participants (3)
-
Axel Lin
-
Brian Austin
-
Mark Brown