Comment 129 for bug 1332900

Revision history for this message
In , superquad.vortex2 (superquad.vortex2-linux-kernel-bugs) wrote :

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),