ALSA: hda - Set internal mic as default input source on Dell XPS 13 9333
authorGabriele Mazzotta <gabriele.mzt@gmail.com>
Fri, 8 Aug 2014 17:34:40 +0000 (19:34 +0200)
committerTakashi Iwai <tiwai@suse.de>
Sun, 10 Aug 2014 11:28:39 +0000 (13:28 +0200)
If the laptop is powered on with a jack plugged in, independently on what
is plugged, the jack is treated as a microphone jack.

Initialize the capture source so that by default jacks are treated as
headphones jacks. This will also prevent pop noises on boot in case
headphones are plugged in since setting/unsetting mic-in as input source
causes a pop noise.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=76611
Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_realtek.c

index 69f2744e4b4cb148fc8a7d18d0234fd0474037bc..3ebb7616bf98ab8c86fe8c8edc7461798b160894 100644 (file)
@@ -4103,8 +4103,19 @@ static void alc_fixup_dell_xps13(struct hda_codec *codec,
 {
        if (action == HDA_FIXUP_ACT_PROBE) {
                struct alc_spec *spec = codec->spec;
+               struct hda_input_mux *imux = &spec->gen.input_mux;
+               int i;
+
                spec->shutup = alc_no_shutup;
                codec->power_filter = alc_power_filter_xps13;
+
+               /* Make the internal mic the default input source. */
+               for (i = 0; i < imux->num_items; i++) {
+                       if (spec->gen.imux_pins[i] == 0x12) {
+                               spec->gen.cur_mux[0] = i;
+                               break;
+                       }
+               }
        }
 }