aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-12-20 04:28:51 -0500
committerTakashi Iwai <tiwai@suse.de>2010-12-20 04:28:51 -0500
commit67c6dc4df1ecdc434260898d5a4163e78c36b240 (patch)
tree60f853409f2c2ec20bba9b7da6ab9995e86665c5 /sound/pci
parent30fac30103185d853cb5cdb4bbed70d629d6da7e (diff)
parent022c92befa539174125b0a1b5e52dd57affefe9f (diff)
Merge branch 'fix/hda' into topic/hda
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/patch_conexant.c3
-rw-r--r--sound/pci/hda/patch_realtek.c25
2 files changed, 24 insertions, 4 deletions
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index 96b286aebde..e584b3dd7aa 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -3097,8 +3097,7 @@ static const char *cxt5066_models[CXT5066_MODELS] = {
3097static struct snd_pci_quirk cxt5066_cfg_tbl[] = { 3097static struct snd_pci_quirk cxt5066_cfg_tbl[] = {
3098 SND_PCI_QUIRK_MASK(0x1025, 0xff00, 0x0400, "Acer", CXT5066_IDEAPAD), 3098 SND_PCI_QUIRK_MASK(0x1025, 0xff00, 0x0400, "Acer", CXT5066_IDEAPAD),
3099 SND_PCI_QUIRK(0x1028, 0x02d8, "Dell Vostro", CXT5066_DELL_VOSTRO), 3099 SND_PCI_QUIRK(0x1028, 0x02d8, "Dell Vostro", CXT5066_DELL_VOSTRO),
3100 SND_PCI_QUIRK(0x1028, 0x02f5, "Dell", 3100 SND_PCI_QUIRK(0x1028, 0x02f5, "Dell Vostro 320", CXT5066_IDEAPAD),
3101 CXT5066_DELL_LAPTOP),
3102 SND_PCI_QUIRK(0x1028, 0x0402, "Dell Vostro", CXT5066_DELL_VOSTRO), 3101 SND_PCI_QUIRK(0x1028, 0x0402, "Dell Vostro", CXT5066_DELL_VOSTRO),
3103 SND_PCI_QUIRK(0x1028, 0x0408, "Dell Inspiron One 19T", CXT5066_IDEAPAD), 3102 SND_PCI_QUIRK(0x1028, 0x0408, "Dell Inspiron One 19T", CXT5066_IDEAPAD),
3104 SND_PCI_QUIRK(0x103c, 0x360b, "HP G60", CXT5066_HP_LAPTOP), 3103 SND_PCI_QUIRK(0x103c, 0x360b, "HP G60", CXT5066_HP_LAPTOP),
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 4e6f4f6d342..5baaf12111b 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -10819,7 +10819,8 @@ static int alc_auto_add_mic_boost(struct hda_codec *codec)
10819{ 10819{
10820 struct alc_spec *spec = codec->spec; 10820 struct alc_spec *spec = codec->spec;
10821 struct auto_pin_cfg *cfg = &spec->autocfg; 10821 struct auto_pin_cfg *cfg = &spec->autocfg;
10822 int i, err; 10822 int i, err, type;
10823 int type_idx = 0;
10823 hda_nid_t nid; 10824 hda_nid_t nid;
10824 10825
10825 for (i = 0; i < cfg->num_inputs; i++) { 10826 for (i = 0; i < cfg->num_inputs; i++) {
@@ -10828,9 +10829,15 @@ static int alc_auto_add_mic_boost(struct hda_codec *codec)
10828 nid = cfg->inputs[i].pin; 10829 nid = cfg->inputs[i].pin;
10829 if (get_wcaps(codec, nid) & AC_WCAP_IN_AMP) { 10830 if (get_wcaps(codec, nid) & AC_WCAP_IN_AMP) {
10830 char label[32]; 10831 char label[32];
10832 type = cfg->inputs[i].type;
10833 if (i > 0 && type == cfg->inputs[i - 1].type)
10834 type_idx++;
10835 else
10836 type_idx = 0;
10831 snprintf(label, sizeof(label), "%s Boost", 10837 snprintf(label, sizeof(label), "%s Boost",
10832 hda_get_autocfg_input_label(codec, cfg, i)); 10838 hda_get_autocfg_input_label(codec, cfg, i));
10833 err = add_control(spec, ALC_CTL_WIDGET_VOL, label, 0, 10839 err = add_control(spec, ALC_CTL_WIDGET_VOL, label,
10840 type_idx,
10834 HDA_COMPOSE_AMP_VAL(nid, 3, 0, HDA_INPUT)); 10841 HDA_COMPOSE_AMP_VAL(nid, 3, 0, HDA_INPUT));
10835 if (err < 0) 10842 if (err < 0)
10836 return err; 10843 return err;
@@ -14789,6 +14796,8 @@ static int alc269_resume(struct hda_codec *codec)
14789enum { 14796enum {
14790 ALC269_FIXUP_SONY_VAIO, 14797 ALC269_FIXUP_SONY_VAIO,
14791 ALC269_FIXUP_DELL_M101Z, 14798 ALC269_FIXUP_DELL_M101Z,
14799 ALC269_FIXUP_SKU_IGNORE,
14800 ALC269_FIXUP_ASUS_G73JW,
14792}; 14801};
14793 14802
14794static const struct alc_fixup alc269_fixups[] = { 14803static const struct alc_fixup alc269_fixups[] = {
@@ -14806,11 +14815,23 @@ static const struct alc_fixup alc269_fixups[] = {
14806 {} 14815 {}
14807 } 14816 }
14808 }, 14817 },
14818 [ALC269_FIXUP_SKU_IGNORE] = {
14819 .sku = ALC_FIXUP_SKU_IGNORE,
14820 },
14821 [ALC269_FIXUP_ASUS_G73JW] = {
14822 .pins = (const struct alc_pincfg[]) {
14823 { 0x17, 0x99130111 }, /* subwoofer */
14824 { }
14825 }
14826 },
14809}; 14827};
14810 14828
14811static struct snd_pci_quirk alc269_fixup_tbl[] = { 14829static struct snd_pci_quirk alc269_fixup_tbl[] = {
14812 SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO), 14830 SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO),
14813 SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z), 14831 SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
14832 SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE),
14833 SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE),
14834 SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW),
14814 {} 14835 {}
14815}; 14836};
14816 14837