|
@@ -1690,6 +1690,11 @@ static struct hda_verb alc888_acer_aspire_4930g_verbs[] = {
|
|
|
*/
|
|
|
|
|
|
static struct hda_verb alc888_acer_aspire_6530g_verbs[] = {
|
|
|
+/* Route to built-in subwoofer as well as speakers */
|
|
|
+ {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
|
|
|
+ {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
|
|
|
+ {0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
|
|
|
+ {0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
|
|
|
/* Bias voltage on for external mic port */
|
|
|
{0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN | PIN_VREF80},
|
|
|
/* Front Mic: set to PIN_IN (empty by default) */
|
|
@@ -1701,10 +1706,12 @@ static struct hda_verb alc888_acer_aspire_6530g_verbs[] = {
|
|
|
/* Enable speaker output */
|
|
|
{0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
|
|
|
{0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
|
|
|
+ {0x14, AC_VERB_SET_EAPD_BTLENABLE, 2},
|
|
|
/* Enable headphone output */
|
|
|
{0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT | PIN_HP},
|
|
|
{0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
|
|
|
{0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
|
|
|
+ {0x15, AC_VERB_SET_EAPD_BTLENABLE, 2},
|
|
|
{ }
|
|
|
};
|
|
|
|
|
@@ -8550,9 +8557,7 @@ static struct snd_kcontrol_new alc883_acer_aspire_mixer[] = {
|
|
|
|
|
|
static struct snd_kcontrol_new alc888_acer_aspire_6530_mixer[] = {
|
|
|
HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT),
|
|
|
- HDA_BIND_MUTE("Front Playback Switch", 0x0c, 2, HDA_INPUT),
|
|
|
HDA_CODEC_VOLUME("LFE Playback Volume", 0x0f, 0x0, HDA_OUTPUT),
|
|
|
- HDA_BIND_MUTE("LFE Playback Switch", 0x0f, 2, HDA_INPUT),
|
|
|
HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x02, HDA_INPUT),
|
|
|
HDA_CODEC_MUTE("Line Playback Switch", 0x0b, 0x02, HDA_INPUT),
|
|
|
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,
|
|
|
int idx;
|
|
|
|
|
|
alc_set_pin_output(codec, nid, pin_type);
|
|
|
+ if (dac_idx >= spec->multiout.num_dacs)
|
|
|
+ return;
|
|
|
if (spec->multiout.dac_nids[dac_idx] == 0x25)
|
|
|
idx = 4;
|
|
|
- else {
|
|
|
- if (spec->multiout.num_dacs >= dac_idx)
|
|
|
- return;
|
|
|
+ else
|
|
|
idx = spec->multiout.dac_nids[dac_idx] - 2;
|
|
|
- }
|
|
|
snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_CONNECT_SEL, idx);
|
|
|
|
|
|
}
|