* Show unconnected pins
Your BIOS is responsible for setting up what pins on the codec that are actually connected to something and which ones are not. Sometimes BIOS is buggy, and will not show all your jacks. If you have a jack your BIOS says you haven't, you can try enabling random pins and see if it works.
* Advanced override
This is for the experts only. It makes you select each configuration field individually, instead of just a few predefined values that make sense. Note that most combinations here are invalid in one way or the other, so you should probably not mess with this unless you have read and understood the "Configuration Default" section of the HD Audio specification. (Which, at the time of this writing, is available here:
* Show unconnected pins
Your BIOS is responsible for setting up what pins on the codec that are actually connected to something and which ones are not. Sometimes BIOS is buggy, and will not show all your jacks. If you have a jack your BIOS says you haven't, you can try enabling random pins and see if it works.
* Advanced override
This is for the experts only. It makes you select each configuration field individually, instead of just a few predefined values that make sense. Note that most combinations here are invalid in one way or the other, so you should probably not mess with this unless you have read and understood the "Configuration Default" section of the HD Audio specification. (Which, at the time of this writing, is available here:
ALC883_FIXUP_EAPD, FIXUP_ACER_ EAPD, FIXUP_ACER_ LAPTOP, FIXUP_ACER_ ASPIRE_ 9800, FIXUP_GPIO1, FIXUP_GPIO2,
ALC883_
ALC883_
ALC883_
ALC882_
ALC882_
static void alc883_ fixup_lineout( struct hda_codec *codec, gen.add_ jack_modes = 1;
const struct hda_fixup *fix, int action)
{
struct alc_spec *spec = codec->spec;
spec->
}
[ALC883_ FIXUP_ACER_ EAPD] = { SET_COEF_ INDEX, 0x07 }, SET_PROC_ COEF, 0x3050 }, FIXUP_ACER_ LAPTOP] = { fixup_lineout, FIXUP_ACER_ EAPD, FIXUP_ACER_ ASPIRE_ 9800] = { FIXUP_ACER_ LAPTOP,
.type = HDA_FIXUP_VERBS,
.v.verbs = (const struct hda_verb[]) {
/* eanable EAPD on Acer laptops */
{ 0x20, AC_VERB_
{ 0x20, AC_VERB_
{ }
}
},
[ALC883_
.type = HDA_FIXUP_FUNC,
.v.func = alc883_
.chained = true,
.chain_id = ALC883_
},
[ALC883_
.type = HDA_FIXUP_PINS,
.v.pins = (const struct hda_pintbl[]) {
{ 0x14, 0x01014010 },
{ 0x15, 0x90170120 },
{ 0x16, 0x90170121 },
{ }
},
.chained = true,
.chain_id = ALC883_
},
static const struct snd_pci_quirk alc882_fixup_tbl[] = { QUIRK(0x1025, 0x006c, "Acer Aspire 9800", ALC883_ FIXUP_ACER_ ASPIRE_ 9800),
SND_PCI_