[alsa-devel] [PATCH] ASoC: rt5640: change widget sequencefordepop

Lars-Peter Clausen lars at metafoo.de
Tue Aug 6 10:45:41 CEST 2013


On 08/06/2013 10:07 AM, Bard Liao wrote:
>> -----Original Message-----
>> From: Lars-Peter Clausen [mailto:lars at metafoo.de]
>> Sent: Tuesday, August 06, 2013 1:21 AM
>> To: Mark Brown
>> Cc: Bard Liao; Oder Chiou; alsa-devel at alsa-project.org; swarren at nvidia.com;
>> swarren at wwwdotorg.org; lgirdwood at gmail.com; Flove
>> Subject: Re: [alsa-devel] [PATCH] ASoC: rt5640: change widget sequence
>> fordepop
>>
>> On 08/05/2013 04:48 PM, Mark Brown wrote:
>>> On Mon, Aug 05, 2013 at 12:19:03PM +0800, bardliao at realtek.com wrote:
>>>> From: Bard Liao <bardliao at realtek.com>
>>>>
>>>> Add mute/unmute control in widget event and modify the power on/off
>> sequence to avoid pop noise.
>>>
>>> This looks like you should be using Lars-Peter's patch for controls
>>> that are disabled while a widget isn't powered - as far as I can tell
>>> from a quick read through all this does is keep the speaker/headphone
>>> muted while the outputs are powered down.
>>
>> The driver is using stereo controls though. So either support for stereo controls
>> needs to be added to DAPM (which shouldn't be too hard) or the control needs
>> to be split into two mono controls.
>>
>> - Lars
>
> I think I need to use SND_SOC_DAPM_SWITCH with SOC_DAPM_SINGLE_AUTODISABLE for this control.
> Am I right?
> I am trying to do that, but meet a problem.
> If I set speaker switch unmute before playing music, dapm will mute it automatically in power on sequence.
> The only way I can unmute speaker is set speaker switch unmute while playing music.

DAPM should unmute the switch on power up and mute it on power down. The 
Speaker Channel Switch control has the invert flag set did you also set the 
invert flag for the new autodisable control?

- Lars



More information about the Alsa-devel mailing list