[alsa-devel] Broken headphone and speaker amplifier suppliesforthe rt5640 driver

Lars-Peter Clausen lars at metafoo.de
Mon Jul 29 08:14:51 CEST 2013


On 07/29/2013 08:07 AM, Mark Brown wrote:
> On Mon, Jul 29, 2013 at 11:04:46AM +0800, Bard Liao wrote:
> 
>> The mute/unmute control is written in rt5640_snd_controls[] now.
>> It allows user to unmute speaker or headphone before dapm power on the related power.
>> And it will bring a pop noise.
>> So I prefer to do the unmute/mute step in the widget event.
>> Is that ok?
> 
> If you need to do that you should really still present the mute control
> to the user; store the current state in a variable in the private data
> so that the user always sees the control and then only write the value
> out while the widget is powered.  Mute is expected to be fast and some
> userspaces like to be able to mute individual outputs.
> 
> Ideally the core would be able to do this.
> 

Yea, so the stuff I was working on while I stumbled upon this was more or
less that. Support for letting DAPM mute controls, which are also exposed to
userspace, if necessary in order to avoid clicks and pops. Once muted by
DAPM userspace will only see a cached value of the controls state and once
DAPM unmutes the control the userspace state will be restored.

- Lars


More information about the Alsa-devel mailing list