[alsa-devel] [PATCH 1/1] ALSA: VIA HDA: Fix A-A path mute can't refresh when smart5.1 is enabled.
From: Lydia Wang lydiawang@viatech.com.cn Subject: ALSA: VIA HDA: Fix A-A path mute can't refresh when smart5.1 is enabled.
When Smart5.1 is enabled, A-A path volume should be muted and should be refreshed in mixer application.
Signed-off-by: Lydia Wang lydiawang@viatech.com.cn Index: sound-2.6/sound/pci/hda/patch_via.c =================================================================== --- sound-2.6.orig/sound/pci/hda/patch_via.c 2011-04-28 14:26:11.000000000 +0800 +++ sound-2.6/sound/pci/hda/patch_via.c 2011-04-28 14:44:14.000000000 +0800 @@ -844,14 +844,18 @@ { int i; struct snd_ctl_elem_id id; - const char *labels[] = {"Mic", "Front Mic", "Line"}; + const char *labels[] = {"Mic", "Front Mic", "Line", "Rear Mic"}; + struct snd_kcontrol *ctl;
memset(&id, 0, sizeof(id)); id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; for (i = 0; i < ARRAY_SIZE(labels); i++) { sprintf(id.name, "%s Playback Volume", labels[i]); - snd_ctl_notify(codec->bus->card, SNDRV_CTL_EVENT_MASK_VALUE, - &id); + ctl = snd_hda_find_mixer_ctl(codec, id.name); + if (ctl) + snd_ctl_notify(codec->bus->card, + SNDRV_CTL_EVENT_MASK_VALUE, + &ctl->id); } }
At Thu, 28 Apr 2011 14:54:30 +0800, lydiawang wrote:
From: Lydia Wang lydiawang@viatech.com.cn Subject: ALSA: VIA HDA: Fix A-A path mute can't refresh when smart5.1 is enabled.
When Smart5.1 is enabled, A-A path volume should be muted and should be refreshed in mixer application.
Signed-off-by: Lydia Wang lydiawang@viatech.com.cn
The code change looks good, but it doesn't match with the patch description. Please correct the changelog properly. From what I see in the patch, actually you fix two things here, the call of snd_ctl_notify() to be processed properly, and add the missing "Rear Mic" mixer volume.
thanks,
Takashi
Index: sound-2.6/sound/pci/hda/patch_via.c
--- sound-2.6.orig/sound/pci/hda/patch_via.c 2011-04-28 14:26:11.000000000 +0800 +++ sound-2.6/sound/pci/hda/patch_via.c 2011-04-28 14:44:14.000000000 +0800 @@ -844,14 +844,18 @@ { int i; struct snd_ctl_elem_id id;
- const char *labels[] = {"Mic", "Front Mic", "Line"};
const char *labels[] = {"Mic", "Front Mic", "Line", "Rear Mic"};
struct snd_kcontrol *ctl;
memset(&id, 0, sizeof(id)); id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; for (i = 0; i < ARRAY_SIZE(labels); i++) { sprintf(id.name, "%s Playback Volume", labels[i]);
snd_ctl_notify(codec->bus->card, SNDRV_CTL_EVENT_MASK_VALUE,
&id);
ctl = snd_hda_find_mixer_ctl(codec, id.name);
if (ctl)
snd_ctl_notify(codec->bus->card,
SNDRV_CTL_EVENT_MASK_VALUE,
}&ctl->id);
}
participants (2)
-
lydiawang
-
Takashi Iwai