At Wed, 18 Jan 2012 17:28:32 +0100, David Henningsson wrote:
Hi Takashi,
I'm troubleshooting a problem with the Realtek quirk/model parsers. The problem is basically that add_jack_kctls call snd_hda_jack_detect_enable, which in turn overwrites the current unsol tag.
E g, first the model parser sets a pin to AC_USRSP_EN | ALC_HP_EVENT, then comes snd_hda_jack_detect_enable and does AC_USRSP_EN | jack->tag.
I'm not sure of the best way to resolve this; either keep the current tag (and mark all jacks as dirty on an unsol event), or read back the current tag and set it as jack->action (and then always use the jack table). What do you think?
I think a safer way is to avoid calling snd_hda_jack_add_kctls() for non-auto-parser, and let quirks use its own unsol_event handler instead of alc_sku_unsol_event(). snd_hda_jack_detect() itself works both with or without jack-kctls.
I'll fix up the upstream tree.
thanks,
Takashi