From: Lars-Peter Clausen <lars@metafoo.de>
To: Bard Liao <bardliao@realtek.com>
Cc: Oder Chiou <oder_chiou@realtek.com>,
"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
"swarren@nvidia.com" <swarren@nvidia.com>,
"swarren@wwwdotorg.org" <swarren@wwwdotorg.org>,
"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>, Flove <flove@realtek.com>
Subject: Re: [PATCH] ASoC: rt5640: change widgetsequencefordepop
Date: Tue, 06 Aug 2013 11:35:37 +0200 [thread overview]
Message-ID: <5200C369.6050607@metafoo.de> (raw)
In-Reply-To: <1121E117AD4ECE49880A389A396215BB935C692E40@rtitmbs7.realtek.com.tw>
On 08/06/2013 11:13 AM, Bard Liao wrote:
>>> 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?
>
> Yes, the related code is as below.
> static const struct snd_kcontrol_new spk_l_enable_control =
> SOC_DAPM_SINGLE_AUTODISABLE("Switch", RT5640_SPK_VOL,
> RT5640_L_MUTE_SFT, 1, 1);
>
> static const struct snd_kcontrol_new spk_r_enable_control =
> SOC_DAPM_SINGLE_AUTODISABLE("Switch", RT5640_SPK_VOL,
> RT5640_R_MUTE_SFT, 1, 1);
>
> SND_SOC_DAPM_SWITCH("Speaker L Playback", SND_SOC_NOPM, 0, 0,
> &spk_l_enable_control),
> SND_SOC_DAPM_SWITCH("Speaker R Playback", SND_SOC_NOPM, 0, 0,
> &spk_r_enable_control),
Looks good. Maybe I got the invert = 1 case wrong somewhere. Can you add a
couple of printks and send me the result?
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 2da258b..18c62ae 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -229,6 +229,9 @@
template.id = snd_soc_dapm_kcontrol;
template.name = kcontrol->id.name;
+ printk("new control: %s %d\n", template->name,
+ template->off_val);
+
data->widget = snd_soc_dapm_new_control(widget->dapm,
&template);
if (!data->widget) {
@@ -337,8 +340,10 @@
if (data->value == value)
return false;
- if (data->widget)
+ if (data->widget) {
data->widget->on_val = value;
+ printk("%s->on_val = %d\n", data->widget->name, value);
+ }
data->value = value;
next prev parent reply other threads:[~2013-08-06 9:35 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-05 4:19 [PATCH] ASoC: rt5640: change widget sequence for depop bardliao
2013-08-05 14:48 ` Mark Brown
2013-08-05 17:21 ` Lars-Peter Clausen
2013-08-05 17:58 ` Mark Brown
2013-08-06 8:07 ` [PATCH] ASoC: rt5640: change widget sequencefordepop Bard Liao
2013-08-06 8:45 ` Lars-Peter Clausen
2013-08-06 9:13 ` [PATCH] ASoC: rt5640: change widgetsequencefordepop Bard Liao
2013-08-06 9:35 ` Lars-Peter Clausen [this message]
2013-08-06 10:07 ` Bard Liao
2013-08-06 10:16 ` Lars-Peter Clausen
2013-08-06 11:04 ` Bard Liao
2013-08-06 11:31 ` Lars-Peter Clausen
2013-08-07 1:32 ` Bard Liao
2013-08-07 5:40 ` Bard Liao
2013-08-07 7:45 ` Lars-Peter Clausen
2013-08-07 8:03 ` Bard Liao
2013-08-07 8:26 ` Lars-Peter Clausen
2013-08-07 8:31 ` Bard Liao
2013-08-07 9:36 ` Mark Brown
2013-08-07 10:47 ` Lars-Peter Clausen
2013-08-07 13:05 ` Mark Brown
2013-08-09 9:05 ` Bard Liao
2013-08-09 13:37 ` Lars-Peter Clausen
2013-08-09 14:58 ` Mark Brown
2013-08-12 7:27 ` Bard Liao
2013-08-05 17:17 ` [PATCH] ASoC: rt5640: change widget sequence for depop Stephen Warren
2013-08-05 17:19 ` Lars-Peter Clausen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5200C369.6050607@metafoo.de \
--to=lars@metafoo.de \
--cc=alsa-devel@alsa-project.org \
--cc=bardliao@realtek.com \
--cc=broonie@kernel.org \
--cc=flove@realtek.com \
--cc=lgirdwood@gmail.com \
--cc=oder_chiou@realtek.com \
--cc=swarren@nvidia.com \
--cc=swarren@wwwdotorg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.