your coef dump seem indicate headset mic is cita
val = alc_read_coef_idx(codec, 0x6c); is_ctia = (val & 0x001c) == 0x001c;
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda/patch_realtek.c?id=73bdd597823e2231dc882577dbbaf8df92fe1775
+static void alc_determine_headset_type(struct hda_codec *codec) +{ + int val; + bool is_ctia = false; + struct alc_spec *spec = codec->spec; + + switch (codec->vendor_id) {
+ case 0x10ec0292: + alc_write_coef_idx(codec, 0x6b, 0xd429); + msleep(300); + val = alc_read_coef_idx(codec, 0x6c); + is_ctia = (val & 0x001c) == 0x001c; + break;
snd_printdd("Headset jack detected iPhone-style headset: %s\n", + is_ctia ? "yes" : "no"); + spec->current_headset_type = is_ctia ? ALC_HEADSET_TYPE_CTIA : ALC_HEADSET_TYPE_OMTP; +}
your coef dump seem indicate headset mic is cita
val = alc_read_ coef_idx( codec, 0x6c);
is_ctia = (val & 0x001c) == 0x001c;
https:/ /git.kernel. org/cgit/ linux/kernel/ git/tiwai/ sound.git/ commit/ sound/pci/ hda/patch_ realtek. c?id=73bdd59782 3e2231dc882577d bbaf8df92fe1775
+static void alc_determine_ headset_ type(struct hda_codec *codec)
+{
+ int val;
+ bool is_ctia = false;
+ struct alc_spec *spec = codec->spec;
+
+ switch (codec->vendor_id) {
+ case 0x10ec0292: coef_idx( codec, 0x6b, 0xd429); coef_idx( codec, 0x6c);
+ alc_write_
+ msleep(300);
+ val = alc_read_
+ is_ctia = (val & 0x001c) == 0x001c;
+ break;
snd_printdd( "Headset jack detected iPhone-style headset: %s\n", headset_ type = is_ctia ? ALC_HEADSET_ TYPE_CTIA : ALC_HEADSET_ TYPE_OMTP;
+ is_ctia ? "yes" : "no");
+ spec->current_
+}