https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/sound/pci/hda/patch_realtek.c
you need to modified patch_realtek.c by adding a new model for your alienware 18
+static void alc668_fixup_dell_alienware(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + const struct hda_pintbl pincfgs[] = { + { 0x1a, 0x99130112 }, /* subwoofer */ + { 0x1b, 0x03a1113c }, /* headset mic */ + { } + }; + static hda_nid_t preferred_pair[] = { + 0x14, 0x03, + 0x1a, 0x04, + 0x15, 0x02, + 0x16, 0x02, + 0 + }; + struct alc_spec *spec = codec->spec; + + switch (action) { + case HDA_FIXUP_ACT_PRE_PROBE: + snd_hda_apply_pincfgs(codec, pincfgs); + spec->gen.preferred_dacs = preferred_pair; + break; + } +} +
ALC662_FIXUP_DELL_MIC_NO_PRESENCE, ALC668_FIXUP_DELL_MIC_NO_PRESENCE, + ALC668_FIXUP_DELL_ALIENWARE, ALC662_FIXUP_HEADSET_MODE,
+ [ALC668_FIXUP_DELL_ALIENWARE] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc668_fixup_dell_alienware, + .chained = true, + .chain_id = ALC668_FIXUP_HEADSET_MODE + }, [ALC668_FIXUP_HEADSET_MODE] = { .type = HDA_FIXUP_FUNC, .v.func = alc_fixup_headset_mode_alc668, },
+ SND_PCI_QUIRK(0x1028, 0x05ab, "Dell Alienware 18", ALC668_FIXUP_DELL_ALIENWARE), SND_PCI_QUIRK(0x1028, 0x069f, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
https:/ /git.kernel. org/cgit/ linux/kernel/ git/tiwai/ sound.git/ tree/sound/ pci/hda/ patch_realtek. c
you need to modified patch_realtek.c by adding a new model for your alienware 18
+static void alc668_ fixup_dell_ alienware( struct hda_codec *codec, ACT_PRE_ PROBE: apply_pincfgs( codec, pincfgs); preferred_ dacs = preferred_pair;
+ const struct hda_fixup *fix, int action)
+{
+ const struct hda_pintbl pincfgs[] = {
+ { 0x1a, 0x99130112 }, /* subwoofer */
+ { 0x1b, 0x03a1113c }, /* headset mic */
+ { }
+ };
+ static hda_nid_t preferred_pair[] = {
+ 0x14, 0x03,
+ 0x1a, 0x04,
+ 0x15, 0x02,
+ 0x16, 0x02,
+ 0
+ };
+ struct alc_spec *spec = codec->spec;
+
+ switch (action) {
+ case HDA_FIXUP_
+ snd_hda_
+ spec->gen.
+ break;
+ }
+}
+
ALC662_ FIXUP_DELL_ MIC_NO_ PRESENCE, FIXUP_DELL_ MIC_NO_ PRESENCE, FIXUP_DELL_ ALIENWARE, FIXUP_HEADSET_ MODE,
ALC668_
+ ALC668_
ALC662_
+ [ALC668_ FIXUP_DELL_ ALIENWARE] = { fixup_dell_ alienware, FIXUP_HEADSET_ MODE FIXUP_HEADSET_ MODE] = { headset_ mode_alc668,
+ .type = HDA_FIXUP_FUNC,
+ .v.func = alc668_
+ .chained = true,
+ .chain_id = ALC668_
+ },
[ALC668_
.type = HDA_FIXUP_FUNC,
.v.func = alc_fixup_
},
+ SND_PCI_ QUIRK(0x1028, 0x05ab, "Dell Alienware 18", ALC668_ FIXUP_DELL_ ALIENWARE) , QUIRK(0x1028, 0x069f, "Dell", ALC668_ FIXUP_DELL_ MIC_NO_ PRESENCE) ,
SND_PCI_