Dne 16. 02. 21 v 16:15 Hans de Goede napsal(a): > 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 ? One hw mute per one hw output should be sufficient. Thank you for the explanation. Jaroslav -- Jaroslav Kysela <perex@xxxxxxxx> Linux Sound Maintainer; ALSA Project; Red Hat, Inc.