[PATCH 2/4] ASoC: rt5670: Remove 'HP Playback Switch' control

Hans de Goede hdegoede at redhat.com
Tue Feb 16 16:15:55 CET 2021


Hi,

On 2/15/21 7:09 PM, Jaroslav Kysela wrote:
> Dne 15. 02. 21 v 15:21 Hans de Goede napsal(a):
>> The RT5670_L_MUTE_SFT and RT5670_R_MUTE_SFT bits (bits 15 and 7) of the
>> RT5670_HP_VOL register are set / unset by the headphones deplop code
>> run by rt5670_hp_event() on SND_SOC_DAPM_POST_PMU / SND_SOC_DAPM_PRE_PMD.
>>
>> So we should not also export a control to userspace which toggles these
>> same bits.
> 
> I think that it may be worth to preserve the full-mute functionality.
> According the datasheet, the register 0x02 has volume range -46.5dB..12dB.
> Even the lowest volume may produce an audible output.
> 
> I would cache the mute switch value in rt5670_priv and update the
> POST_PMU/PRE_PMD code to use this settings.

Yes that should work.

Note though that patch 4/4 adds a mute for the master volume control, even
though I call it an "emulated" mute it is a full mute, it is just that
we now have 2 switches, 1 mixer switch and 1 mute switch, which must
both be true before we enable the path from the DAC through the mixer
which sits directly behind the "DAC1 Playback Volume" control.

And we need that mute anyways because the speaker output does not
have any volume control other then the master "DAC1 Playback Volume"
which has the same issue of only going very soft and not going to
a full mute.

So since we have a working mute in the master volume control, we don't
really need one for the "HP Playback Volume" control. with that all said,
your suggestion should work fine.

So the question is do we want to do as you suggest, or are we happy
with just having the master mute ?

Note I'm fine doing things either way I just wanted to ask before
spending time on implementing and testing your suggestion. Esp. the
testing which often seems to take at least as much time as actually
implementing things...

So if you can let me know how you want to proceed then I'll get
right to it.

Regards,

Hans



More information about the Alsa-devel mailing list