[alsa-devel] [RFC] hda - is_jack_detectable()

Takashi Iwai tiwai at suse.de
Fri Dec 23 10:26:06 CET 2011


At Fri, 23 Dec 2011 10:37:15 +0800,
Raymond Yau wrote:
> 
> 2011/11/17, Takashi Iwai <tiwai at suse.de>:
> > At Wed, 16 Nov 2011 15:14:17 +0800,
> > Raymond Yau wrote:
> >>
> >> 2011/11/14 Takashi Iwai <tiwai at suse.de>:
> >
> >> >
> >> > The lack of the initial pin-state of kclts was fixed in a different
> >> > patch now.  But, the need of 200ms delay worries me whether it's
> >> > needed generically at each pin-sense reading or it's just only for the
> >> > initial reading.
> >> >
> >> > Does the pin-sense reading work in general after loading the driver
> >> > stably?
> >> >
> >> >
> >> >
> >>
> >> Presence detect bit is alway correct, without the delay.
> >>
> >> the only issue is the impedance measurement of the plugged jacks at
> >> computer boot need a delay 200ms
> >>
> >> For the user application to know the impedance ,
> >> it seem the client application have to issue
> >> 1) set_pin_sense
> >> 2) delay
> >> 3) get_pin_sense to get the correct impedance of the attached device
> >>
> >> just like my modified hda-jack-sense-test in previous email
> >>
> >> Can it measure the impedance of the jacks of your computer ?
> >
> > It seems that this doesn't work machines here with Realtek codecs.
> > So, this must be pretty depending on the codec chip.
> >
> > Anyway, currently there is no use of impedance, and the jack presence
> > can be detected immediately without delay, we can keep the code as
> > is now.
> >
> 
> How can I add the new hda-jack detect to patch_analog.c ?
> 
> Only ad1988 use  snd_hda_parse_pin_def_config() to parse the pin,
> other ad198x codecs are used model since snd_hda_jack_add_ctls()
> require those pin info from autocfg

Not necessarily.  You can call snd_hda_jack_add_kctl() and enable the
pin-detection via snd_hda_jack_detect_enable() directly.

> The auto model of ad1988 use init_verbs ad1988_6stack_init which
> cannot handle those 3 stack motherboard asus m2n
> 
> What is the reason to call snd_hda_jack_report_sync() at the end of
> unsol event handler ?

To notify the jack-detection.


Takashi


More information about the Alsa-devel mailing list