can you try the patch
https://bugs.freedesktop.org/attachment.cgi?id=117571
only those part which is needed by alienware
+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; + spec->gen.hs_mic_use_hp_sense = 1; + spec->parse_flags |= HDA_PINCFG_HEADSET_MIC; + break; + case HDA_FIXUP_ACT_PROBE: + alc_probe_headset_mode(codec); + break; + case HDA_FIXUP_ACT_INIT: + spec->current_headset_mode = 0; + alc_update_headset_mode(codec); + break; + case HDA_FIXUP_ACT_BUILD: +/* + better to use default hda 2.1 chmap + when we don't know internal subwoofer use which channel +*/ + break; + } +}
{.id = ALC662_FIXUP_ASUS_MODE8, .name = "asus-mode8"}, {.id = ALC662_FIXUP_INV_DMIC, .name = "inv-dmic"}, {.id = ALC668_FIXUP_DELL_MIC_NO_PRESENCE, .name = "dell-headset-multi"}, + {.id = ALC668_FIXUP_DELL_ALIENWARE, .name = "dell-alienware"}, +
can you try the patch
https:/ /bugs.freedeskt op.org/ attachment. cgi?id= 117571
only those part which is needed by alienware
+static void alc668_ fixup_dell_ alienware( struct hda_codec *codec, ACT_PRE_ PROBE: apply_pincfgs( codec, pincfgs); preferred_ dacs = preferred_pair; hs_mic_ use_hp_ sense = 1; HEADSET_ MIC; ACT_PROBE: headset_ mode(codec) ; headset_ mode = 0; headset_ mode(codec) ; ACT_BUILD:
+ 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.
+ spec->gen.
+ spec->parse_flags |= HDA_PINCFG_
+ break;
+ case HDA_FIXUP_
+ alc_probe_
+ break;
+ case HDA_FIXUP_ACT_INIT:
+ spec->current_
+ alc_update_
+ break;
+ case HDA_FIXUP_
+/*
+ better to use default hda 2.1 chmap
+ when we don't know internal subwoofer use which channel
+*/
+ break;
+ }
+}
{.id = ALC662_ FIXUP_ASUS_ MODE8, .name = "asus-mode8"}, FIXUP_INV_ DMIC, .name = "inv-dmic"}, FIXUP_DELL_ MIC_NO_ PRESENCE, .name = "dell-headset- multi"} , FIXUP_DELL_ ALIENWARE, .name = "dell-alienware"},
{.id = ALC662_
{.id = ALC668_
+ {.id = ALC668_
+