diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-12-20 04:28:51 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-12-20 04:28:51 -0500 |
commit | 67c6dc4df1ecdc434260898d5a4163e78c36b240 (patch) | |
tree | 60f853409f2c2ec20bba9b7da6ab9995e86665c5 /sound/pci | |
parent | 30fac30103185d853cb5cdb4bbed70d629d6da7e (diff) | |
parent | 022c92befa539174125b0a1b5e52dd57affefe9f (diff) |
Merge branch 'fix/hda' into topic/hda
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_conexant.c | 3 | ||||
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 25 |
2 files changed, 24 insertions, 4 deletions
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c index 96b286aebde6..e584b3dd7aa8 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] = { | |||
3097 | static struct snd_pci_quirk cxt5066_cfg_tbl[] = { | 3097 | static 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 4e6f4f6d342f..5baaf12111ba 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) | |||
14789 | enum { | 14796 | enum { |
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 | ||
14794 | static const struct alc_fixup alc269_fixups[] = { | 14803 | static 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 | ||
14811 | static struct snd_pci_quirk alc269_fixup_tbl[] = { | 14829 | static 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 | ||