aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-04-07 02:38:47 -0400
committerTakashi Iwai <tiwai@suse.de>2010-04-07 02:38:47 -0400
commit92ab7b8f38db35db05bd9c44412fff08ad594ad4 (patch)
tree21ad67eae1ce565566cb28a626673dfa153e865b /sound/pci
parentc125ba3becb3cb93b2207cf06656aead6506de3d (diff)
parentf9700d5a4575e7fb343df10a1d29d425e4b81082 (diff)
Merge branch 'fix/hda' into topic/hda
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/hda_intel.c1
-rw-r--r--sound/pci/hda/patch_realtek.c16
2 files changed, 11 insertions, 6 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index b185afd581f1..6fe07d1c9de4 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2366,6 +2366,7 @@ static struct snd_pci_quirk msi_black_list[] __devinitdata = {
2366 SND_PCI_QUIRK(0x1043, 0x81f6, "ASUS", 0), /* nvidia */ 2366 SND_PCI_QUIRK(0x1043, 0x81f6, "ASUS", 0), /* nvidia */
2367 SND_PCI_QUIRK(0x1043, 0x822d, "ASUS", 0), /* Athlon64 X2 + nvidia MCP55 */ 2367 SND_PCI_QUIRK(0x1043, 0x822d, "ASUS", 0), /* Athlon64 X2 + nvidia MCP55 */
2368 SND_PCI_QUIRK(0x1849, 0x0888, "ASRock", 0), /* Athlon64 X2 + nvidia */ 2368 SND_PCI_QUIRK(0x1849, 0x0888, "ASRock", 0), /* Athlon64 X2 + nvidia */
2369 SND_PCI_QUIRK(0xa0a0, 0x0575, "Aopen MZ915-M", 0), /* ICH6 */
2369 {} 2370 {}
2370}; 2371};
2371 2372
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 8ae48061e8c7..c9c31c51863f 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -1690,6 +1690,11 @@ static struct hda_verb alc888_acer_aspire_4930g_verbs[] = {
1690 */ 1690 */
1691 1691
1692static struct hda_verb alc888_acer_aspire_6530g_verbs[] = { 1692static struct hda_verb alc888_acer_aspire_6530g_verbs[] = {
1693/* Route to built-in subwoofer as well as speakers */
1694 {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
1695 {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
1696 {0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
1697 {0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
1693/* Bias voltage on for external mic port */ 1698/* Bias voltage on for external mic port */
1694 {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN | PIN_VREF80}, 1699 {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN | PIN_VREF80},
1695/* Front Mic: set to PIN_IN (empty by default) */ 1700/* Front Mic: set to PIN_IN (empty by default) */
@@ -1701,10 +1706,12 @@ static struct hda_verb alc888_acer_aspire_6530g_verbs[] = {
1701/* Enable speaker output */ 1706/* Enable speaker output */
1702 {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, 1707 {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
1703 {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, 1708 {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
1709 {0x14, AC_VERB_SET_EAPD_BTLENABLE, 2},
1704/* Enable headphone output */ 1710/* Enable headphone output */
1705 {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT | PIN_HP}, 1711 {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT | PIN_HP},
1706 {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, 1712 {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
1707 {0x15, AC_VERB_SET_CONNECT_SEL, 0x00}, 1713 {0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
1714 {0x15, AC_VERB_SET_EAPD_BTLENABLE, 2},
1708 { } 1715 { }
1709}; 1716};
1710 1717
@@ -8550,9 +8557,7 @@ static struct snd_kcontrol_new alc883_acer_aspire_mixer[] = {
8550 8557
8551static struct snd_kcontrol_new alc888_acer_aspire_6530_mixer[] = { 8558static struct snd_kcontrol_new alc888_acer_aspire_6530_mixer[] = {
8552 HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT), 8559 HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT),
8553 HDA_BIND_MUTE("Front Playback Switch", 0x0c, 2, HDA_INPUT),
8554 HDA_CODEC_VOLUME("LFE Playback Volume", 0x0f, 0x0, HDA_OUTPUT), 8560 HDA_CODEC_VOLUME("LFE Playback Volume", 0x0f, 0x0, HDA_OUTPUT),
8555 HDA_BIND_MUTE("LFE Playback Switch", 0x0f, 2, HDA_INPUT),
8556 HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x02, HDA_INPUT), 8561 HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x02, HDA_INPUT),
8557 HDA_CODEC_MUTE("Line Playback Switch", 0x0b, 0x02, HDA_INPUT), 8562 HDA_CODEC_MUTE("Line Playback Switch", 0x0b, 0x02, HDA_INPUT),
8558 HDA_CODEC_VOLUME("CD Playback Volume", 0x0b, 0x04, HDA_INPUT), 8563 HDA_CODEC_VOLUME("CD Playback Volume", 0x0b, 0x04, HDA_INPUT),
@@ -10193,13 +10198,12 @@ static void alc882_auto_set_output_and_unmute(struct hda_codec *codec,
10193 int idx; 10198 int idx;
10194 10199
10195 alc_set_pin_output(codec, nid, pin_type); 10200 alc_set_pin_output(codec, nid, pin_type);
10201 if (dac_idx >= spec->multiout.num_dacs)
10202 return;
10196 if (spec->multiout.dac_nids[dac_idx] == 0x25) 10203 if (spec->multiout.dac_nids[dac_idx] == 0x25)
10197 idx = 4; 10204 idx = 4;
10198 else { 10205 else
10199 if (spec->multiout.num_dacs >= dac_idx)
10200 return;
10201 idx = spec->multiout.dac_nids[dac_idx] - 2; 10206 idx = spec->multiout.dac_nids[dac_idx] - 2;
10202 }
10203 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_CONNECT_SEL, idx); 10207 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_CONNECT_SEL, idx);
10204 10208
10205} 10209}