|
@@ -4988,9 +4988,18 @@ static void alc_fixup_tpt470_dock(struct hda_codec *codec,
|
|
|
{ 0x19, 0x21a11010 }, /* dock mic */
|
|
|
{ }
|
|
|
};
|
|
|
+ /* Assure the speaker pin to be coupled with DAC NID 0x03; otherwise
|
|
|
+ * the speaker output becomes too low by some reason on Thinkpads with
|
|
|
+ * ALC298 codec
|
|
|
+ */
|
|
|
+ static hda_nid_t preferred_pairs[] = {
|
|
|
+ 0x14, 0x03, 0x17, 0x02, 0x21, 0x02,
|
|
|
+ 0
|
|
|
+ };
|
|
|
struct alc_spec *spec = codec->spec;
|
|
|
|
|
|
if (action == HDA_FIXUP_ACT_PRE_PROBE) {
|
|
|
+ spec->gen.preferred_dacs = preferred_pairs;
|
|
|
spec->parse_flags = HDA_PINCFG_NO_HP_FIXUP;
|
|
|
snd_hda_apply_pincfgs(codec, pincfgs);
|
|
|
} else if (action == HDA_FIXUP_ACT_INIT) {
|
|
@@ -5510,6 +5519,7 @@ enum {
|
|
|
ALC221_FIXUP_HP_HEADSET_MIC,
|
|
|
ALC285_FIXUP_LENOVO_HEADPHONE_NOISE,
|
|
|
ALC295_FIXUP_HP_AUTO_MUTE,
|
|
|
+ ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
|
|
|
};
|
|
|
|
|
|
static const struct hda_fixup alc269_fixups[] = {
|
|
@@ -6387,6 +6397,15 @@ static const struct hda_fixup alc269_fixups[] = {
|
|
|
.type = HDA_FIXUP_FUNC,
|
|
|
.v.func = alc_fixup_auto_mute_via_amp,
|
|
|
},
|
|
|
+ [ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE] = {
|
|
|
+ .type = HDA_FIXUP_PINS,
|
|
|
+ .v.pins = (const struct hda_pintbl[]) {
|
|
|
+ { 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */
|
|
|
+ { }
|
|
|
+ },
|
|
|
+ .chained = true,
|
|
|
+ .chain_id = ALC269_FIXUP_HEADSET_MIC
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
|
@@ -6401,7 +6420,11 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
|
|
SND_PCI_QUIRK(0x1025, 0x0762, "Acer Aspire E1-472", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
|
|
|
SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
|
|
|
SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS),
|
|
|
+ SND_PCI_QUIRK(0x1025, 0x102b, "Acer Aspire C24-860", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
|
|
|
SND_PCI_QUIRK(0x1025, 0x106d, "Acer Cloudbook 14", ALC283_FIXUP_CHROME_BOOK),
|
|
|
+ SND_PCI_QUIRK(0x1025, 0x128f, "Acer Veriton Z6860G", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
|
|
|
+ SND_PCI_QUIRK(0x1025, 0x1290, "Acer Veriton Z4860G", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
|
|
|
+ SND_PCI_QUIRK(0x1025, 0x1291, "Acer Veriton Z4660G", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
|
|
|
SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
|
|
|
SND_PCI_QUIRK(0x1028, 0x054b, "Dell XPS one 2710", ALC275_FIXUP_DELL_XPS),
|
|
|
SND_PCI_QUIRK(0x1028, 0x05bd, "Dell Latitude E6440", ALC292_FIXUP_DELL_E7X),
|
|
@@ -7065,6 +7088,10 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
|
|
|
{0x14, 0x90170110},
|
|
|
{0x19, 0x04a11040},
|
|
|
{0x21, 0x04211020}),
|
|
|
+ SND_HDA_PIN_QUIRK(0x10ec0286, 0x1025, "Acer", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
|
|
|
+ {0x12, 0x90a60130},
|
|
|
+ {0x17, 0x90170110},
|
|
|
+ {0x21, 0x02211020}),
|
|
|
SND_HDA_PIN_QUIRK(0x10ec0288, 0x1028, "Dell", ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
|
|
|
{0x12, 0x90a60120},
|
|
|
{0x14, 0x90170110},
|