diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-04-07 02:38:47 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-04-07 02:38:47 -0400 |
commit | 92ab7b8f38db35db05bd9c44412fff08ad594ad4 (patch) | |
tree | 21ad67eae1ce565566cb28a626673dfa153e865b /sound/pci | |
parent | c125ba3becb3cb93b2207cf06656aead6506de3d (diff) | |
parent | f9700d5a4575e7fb343df10a1d29d425e4b81082 (diff) |
Merge branch 'fix/hda' into topic/hda
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/hda_intel.c | 1 | ||||
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 16 |
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 | ||
1692 | static struct hda_verb alc888_acer_aspire_6530g_verbs[] = { | 1692 | static 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 | ||
8551 | static struct snd_kcontrol_new alc888_acer_aspire_6530_mixer[] = { | 8558 | static 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 | } |