diff -uNr linux-2.6.29.1/sound/pci/hda/patch_realtek.c linux-2.6.29.1-with-benq-s32/sound/pci/hda/patch_realtek.c --- linux-2.6.29.1/sound/pci/hda/patch_realtek.c 2009-04-02 23:55:27.000000000 +0300 +++ linux-2.6.29.1-with-benq-s32/sound/pci/hda/patch_realtek.c 2009-04-22 20:13:22.000000000 +0300 @@ -98,6 +98,7 @@ ALC262_BENQ_ED8, ALC262_SONY_ASSAMD, ALC262_BENQ_T31, + ALC262_BENQ_S32, ALC262_ULTRA, ALC262_LENOVO_3000, ALC262_NEC, @@ -9985,6 +9986,14 @@ {} }; +static struct hda_verb alc262_benq_s32_unsol_verbs[] = { + {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24}, + {0x19, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24}, + {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT}, + {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, + {} +}; + /* Samsung Q1 Ultra Vista model setup */ static struct snd_kcontrol_new alc262_ultra_mixer[] = { HDA_CODEC_VOLUME("Master Playback Volume", 0x0c, 0x0, HDA_OUTPUT), @@ -10537,6 +10546,7 @@ [ALC262_HP_RP5700] = "hp-rp5700", [ALC262_BENQ_ED8] = "benq", [ALC262_BENQ_T31] = "benq-t31", + [ALC262_BENQ_S32] = "benq-s32", [ALC262_SONY_ASSAMD] = "sony-assamd", [ALC262_TOSHIBA_S06] = "toshiba-s06", [ALC262_TOSHIBA_RX1] = "toshiba-rx1", @@ -10591,6 +10601,7 @@ SND_PCI_QUIRK(0x17ff, 0x0560, "Benq ED8", ALC262_BENQ_ED8), SND_PCI_QUIRK(0x17ff, 0x058d, "Benq T31-16", ALC262_BENQ_T31), SND_PCI_QUIRK(0x17ff, 0x058f, "Benq Hippo", ALC262_HIPPO_1), + SND_PCI_QUIRK(0x17ff, 0x0592, "Benq S32", ALC262_BENQ_S32), {} }; @@ -10737,6 +10748,19 @@ .unsol_event = alc262_hippo_unsol_event, .init_hook = alc262_hippo_automute, }, + [ALC262_BENQ_S32] = { + .mixers = { alc262_base_mixer }, + .init_verbs = { alc262_init_verbs, alc262_benq_s32_unsol_verbs}, + .num_dacs = ARRAY_SIZE(alc262_dac_nids), + .dac_nids = alc262_dac_nids, + .hp_nid = 0x03, + .dig_out_nid = ALC262_DIGOUT_NID, + .num_channel_mode = ARRAY_SIZE(alc262_modes), + .channel_mode = alc262_modes, + .input_mux = &alc262_capture_source, + .unsol_event = alc262_hippo_unsol_event, + .init_hook = alc262_hippo_automute, + }, [ALC262_ULTRA] = { .mixers = { alc262_ultra_mixer }, .cap_mixer = alc262_ultra_capture_mixer,