mirror of
https://github.com/torvalds/linux.git
synced 2026-09-12 20:53:03 +02:00
ALSA: hda/conexant: Always enable the headset-mic pin on plugin
Rename the function to cx_process_headset_detect_plug_type() to reflect that it only reports the detected plug type, and move the pin control write into cx_update_headset_mic_vref() so that node 0x19 is always set to enable the headset mic with the 80% VREF whenever the mic is present, regardless of the type detection result. Signed-off-by: Bob Song <songxiebing@kylinos.cn> Link: https://patch.msgid.link/20260826115344.2128835-1-songxiebing@kylinos.cn Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
58c1c30074
commit
9642a5e843
|
|
@ -207,7 +207,7 @@ static void cx_remove(struct hda_codec *codec)
|
|||
snd_hda_gen_remove(codec);
|
||||
}
|
||||
|
||||
static void cx_process_headset_plugin(struct hda_codec *codec)
|
||||
static void cx_process_headset_detect_plug_type(struct hda_codec *codec)
|
||||
{
|
||||
unsigned int val;
|
||||
unsigned int count = 0;
|
||||
|
|
@ -241,10 +241,12 @@ static void cx_update_headset_mic_vref(struct hda_codec *codec, struct hda_jack_
|
|||
* Check hp&mic tag to process headset plugin & plugout.
|
||||
*/
|
||||
mic_present = snd_hda_codec_read(codec, 0x19, 0, AC_VERB_GET_PIN_SENSE, 0x0);
|
||||
if (!(mic_present & AC_PINSENSE_PRESENCE)) /* mic plugout */
|
||||
if (!(mic_present & AC_PINSENSE_PRESENCE)) { /* mic plugout */
|
||||
snd_hda_codec_write(codec, 0x19, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x20);
|
||||
else
|
||||
cx_process_headset_plugin(codec);
|
||||
} else {
|
||||
cx_process_headset_detect_plug_type(codec);
|
||||
snd_hda_codec_write(codec, 0x19, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24);
|
||||
}
|
||||
}
|
||||
|
||||
static int cx_suspend(struct hda_codec *codec)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user