Commit f672f65a authored by David Henningsson's avatar David Henningsson Committed by Takashi Iwai

ALSA: hda - Fix phantom jacks on VT1708

The VT1708 has no unsol event capability, and polling is set using
the "Jack Detect" alsamixer control. In order not to create
phantom Jack controls, temporary enable jackpoll during build_controls.
Signed-off-by: default avatarDavid Henningsson <david.henningsson@canonical.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 2ad779b7
...@@ -661,6 +661,18 @@ static int via_init(struct hda_codec *codec) ...@@ -661,6 +661,18 @@ static int via_init(struct hda_codec *codec)
return 0; return 0;
} }
static int vt1708_build_controls(struct hda_codec *codec)
{
/* In order not to create "Phantom Jack" controls,
temporary enable jackpoll */
int err;
int old_interval = codec->jackpoll_interval;
codec->jackpoll_interval = msecs_to_jiffies(100);
err = via_build_controls(codec);
codec->jackpoll_interval = old_interval;
return err;
}
static int vt1708_build_pcms(struct hda_codec *codec) static int vt1708_build_pcms(struct hda_codec *codec)
{ {
struct via_spec *spec = codec->spec; struct via_spec *spec = codec->spec;
...@@ -723,6 +735,7 @@ static int patch_vt1708(struct hda_codec *codec) ...@@ -723,6 +735,7 @@ static int patch_vt1708(struct hda_codec *codec)
spec->init_verbs[spec->num_iverbs++] = vt1708_init_verbs; spec->init_verbs[spec->num_iverbs++] = vt1708_init_verbs;
codec->patch_ops = via_patch_ops; codec->patch_ops = via_patch_ops;
codec->patch_ops.build_controls = vt1708_build_controls;
codec->patch_ops.build_pcms = vt1708_build_pcms; codec->patch_ops.build_pcms = vt1708_build_pcms;
/* clear jackpoll_interval again; it's set dynamically */ /* clear jackpoll_interval again; it's set dynamically */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment