[alsa-devel] [PATCH 03/11] ASoC: rt5651: Fix bias_level confusion / overcurrent detection deps
Mark Brown
broonie at kernel.org
Wed Feb 21 12:40:45 CET 2018
On Tue, Feb 20, 2018 at 11:15:03PM +0100, Hans de Goede wrote:
> Overcurrent detection (ovcd) requires the following to be on:
> 1) The LDO supply
> 2) The micbias1 supply
> 3) General analog voltages such as vref aka a bias_level of standby
>
> Before this commit deps 2. and 3. were not met (unless a stream recording
> from the mic was active).
What does the overcurrent detection detect overcurrent on?
> 3. Is not met because rt5651_set_bias_level() was only enabling this when
> reaching a bias level of prepared instead of doing this in the normal
> standby bias level, which the dapm core will select as soon as any pins /
> supplies are on. This commit fixes by making rt5651_set_bias_level() behave
> as a normal set_bias function for other codecs and already enabling these
> things at standby level.
...
> 2. is fixed by simply force-enabling "micbias1" when doing ovcd, this
> commit also adds code to turn both the micbias1 and the LDO supplies of
> again when we're done, note they will only really get turned off if the
> ovcd was the only user.
>
> The snd_soc_codec_force_bias_level(BIAS_OFF) call done in rt5651_probe()
> will now turn off PWR_ANLG1, so the programming of PWR_ANLG1 before the
> snd_soc_codec_force_bias_level() now is a no-op and can be removed.
This is two or three changes combined into a single commit which makes
it harder to review :(
> @@ -1811,8 +1795,11 @@ static int rt5651_jack_detect(struct snd_soc_codec *codec, int jack_insert)
> int jack_type;
>
> if (jack_insert) {
> - snd_soc_dapm_force_enable_pin(dapm, "LDO");
> - snd_soc_dapm_sync(dapm);
> + snd_soc_dapm_mutex_lock(dapm);
> + snd_soc_dapm_force_enable_pin_unlocked(dapm, "LDO");
> + snd_soc_dapm_force_enable_pin_unlocked(dapm, "micbias1");
> + snd_soc_dapm_sync_unlocked(dapm);
> + snd_soc_dapm_mutex_unlock(dapm);
>
> snd_soc_update_bits(codec, RT5651_MICBIAS,
> RT5651_MIC1_OVCD_MASK |
This is now only enabling the LDO and bias when the jack is inserted -
is that enough? The changelog isn't very clear about what is going on
here.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20180221/e7eaa96b/attachment.sig>
More information about the Alsa-devel
mailing list