static const struct snd_kcontrol_new snd_ac97_ad1981x_jack_sense[] = { AC97_SINGLE("Headphone Jack Sense", AC97_AD_JACK_SPDIF, 11, 1, 0), AC97_SINGLE("Line Jack Sense", AC97_AD_JACK_SPDIF, 12, 1, 0), };
these two controls only change JSMT2 and JSMT1
you need bit 2 and bit3 of AC97_AD_JACK_SPDIF for JS0 ST and JS1 ST
create hp jack kctl similar to
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/oxygen?id=435feac648cab190990aa0bf9355f77d1f082db3
the point is when do the driver call snd_jack_report by interrupt or timer
static const struct snd_kcontrol_new snd_ac97_ ad1981x_ jack_sense[ ] = { "Headphone Jack Sense", AC97_AD_JACK_SPDIF, 11, 1, 0),
AC97_SINGLE(
AC97_SINGLE("Line Jack Sense", AC97_AD_JACK_SPDIF, 12, 1, 0),
};
these two controls only change JSMT2 and JSMT1
you need bit 2 and bit3 of AC97_AD_JACK_SPDIF for JS0 ST and JS1 ST
create hp jack kctl similar to
https:/ /git.kernel. org/cgit/ linux/kernel/ git/tiwai/ sound.git/ commit/ sound/pci/ oxygen? id=435feac648ca b190990aa0bf935 5f77d1f082db3
the point is when do the driver call snd_jack_report by interrupt or timer