|
@@ -5677,6 +5677,7 @@ static const struct hda_verb alc268_beep_init_verbs[] = {
|
|
|
|
|
|
enum {
|
|
|
ALC268_FIXUP_INV_DMIC,
|
|
|
+ ALC268_FIXUP_HP_EAPD,
|
|
|
};
|
|
|
|
|
|
static const struct alc_fixup alc268_fixups[] = {
|
|
@@ -5684,10 +5685,26 @@ static const struct alc_fixup alc268_fixups[] = {
|
|
|
.type = ALC_FIXUP_FUNC,
|
|
|
.v.func = alc_fixup_inv_dmic_0x12,
|
|
|
},
|
|
|
+ [ALC268_FIXUP_HP_EAPD] = {
|
|
|
+ .type = ALC_FIXUP_VERBS,
|
|
|
+ .v.verbs = (const struct hda_verb[]) {
|
|
|
+ {0x15, AC_VERB_SET_EAPD_BTLENABLE, 0},
|
|
|
+ {}
|
|
|
+ }
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
static const struct alc_model_fixup alc268_fixup_models[] = {
|
|
|
{.id = ALC268_FIXUP_INV_DMIC, .name = "inv-dmic"},
|
|
|
+ {.id = ALC268_FIXUP_HP_EAPD, .name = "hp-eapd"},
|
|
|
+ {}
|
|
|
+};
|
|
|
+
|
|
|
+static const struct snd_pci_quirk alc268_fixup_tbl[] = {
|
|
|
+ /* below is codec SSID since multiple Toshiba laptops have the
|
|
|
+ * same PCI SSID 1179:ff00
|
|
|
+ */
|
|
|
+ SND_PCI_QUIRK(0x1179, 0xff06, "Toshiba P200", ALC268_FIXUP_HP_EAPD),
|
|
|
{}
|
|
|
};
|
|
|
|
|
@@ -5722,7 +5739,7 @@ static int patch_alc268(struct hda_codec *codec)
|
|
|
|
|
|
spec = codec->spec;
|
|
|
|
|
|
- alc_pick_fixup(codec, alc268_fixup_models, NULL, alc268_fixups);
|
|
|
+ alc_pick_fixup(codec, alc268_fixup_models, alc268_fixup_tbl, alc268_fixups);
|
|
|
alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE);
|
|
|
|
|
|
/* automatic parse from the BIOS config */
|