ALSA: VIA HDA: Update unsolicited event function
PATCH 3/16 ALSA: VIA HDA: Update unsolicited event function
From: Lydia Wang <[email protected]>
Subject: ALSA: VIA HDA: Update unsolicited event function.
Update unsolicited event function via_unsol_event() to process more unsolicited events.
Signed-off-by Lydia Wang <[email protected]>
--- sound/pci/hda/patch_via.c | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-)
sound/pci/hda/patch_via.c +15 -11
@@ -224,12 +224,12 @@return codec_type; }; +#define VIA_JACK_EVENT 0x20#define VIA_HP_EVENT 0x01#define VIA_GPIO_EVENT 0x02 -#define VIA_JACK_EVENT 0x04 -#define VIA_MONO_EVENT 0x08 -#define VIA_SPEAKER_EVENT 0x10 -#define VIA_BIND_HP_EVENT 0x20 +#define VIA_MONO_EVENT 0x03 +#define VIA_SPEAKER_EVENT 0x04 +#define VIA_BIND_HP_EVENT 0x05enum {VIA_CTL_WIDGET_VOL ,
@@ -1705,17 +1705,21 @@ unsigned int res) { res >>=26 ; -if (res &VIA_HP_EVENT ) -via_hp_automute (codec); -if (res &VIA_GPIO_EVENT ) -via_gpio_control (codec); +if (res &VIA_JACK_EVENT )set_widgets_power_state (codec); -if (res &VIA_MONO_EVENT ) + + res &= ~VIA_JACK_EVENT ; + +if (res ==VIA_HP_EVENT ) +via_hp_automute (codec); +else if (res ==VIA_GPIO_EVENT ) +via_gpio_control (codec); +else if (res ==VIA_MONO_EVENT )via_mono_automute (codec); -if (res &VIA_SPEAKER_EVENT ) +else if (res ==VIA_SPEAKER_EVENT )via_speaker_automute (codec); -if (res &VIA_BIND_HP_EVENT ) +else if (res ==VIA_BIND_HP_EVENT )via_hp_bind_automute (codec); }