[alsa-devel] [RFC] hda - is_jack_detectable()
Raymond Yau
superquad.vortex2 at gmail.com
Wed Nov 9 05:06:04 CET 2011
2011/11/6 Takashi Iwai <tiwai at suse.de>:
> At Sat, 5 Nov 2011 13:30:21 +0800,
> Raymond Yau wrote:
>>
>> 2011/11/2 Takashi Iwai <tiwai at suse.de>:
>> > At Tue, 01 Nov 2011 17:03:29 -0400,
>> > David Henningsson wrote:
>> >>
>> >> 2011-10-24 23:31, Raymond Yau skrev:
>> >> > sorry, it should be
>> >> >
>> >> > static inline bool is_jack_detectable(struct hda_codec *codec, hda_nid_t nid)
>> >> > {
>> >> > return (snd_hda_query_pin_caps(codec, nid)& AC_PINCAP_PRES_DETECT)&&
>> >> > + !(get_defcfg_misc(snd_hda_codec_get_pincfg(codec, nid)
>> >> > & AC_DEFCFG_MISC_NO_PRESENCE))&&
>> >> > (get_wcaps(codec, nid)& AC_WCAP_UNSOL_CAP);
>> >> > }
>> >> >
>> >> I also think it is a good idea, in fact I thought it was this way
>> >> already. Can we merge this patch?
>> >
>> > OK, I checked through alsa-info series and confirmed that this causes
>> > no harm, so I merged it now.
>> >
>> >
>> > thanks,
>> >
>> > Takashi
>> >
>> >
>>
>> Sorry the previous patch is wrong
>
> Ugh, so actually changing it would may bring too many changes, and
> most likely regressions, too. I disabled the code for now for 3.2-rc1.
> Once when we cover all test cases and fix broken BIOS devices enough,
> we can re-enable it in near future.
>
>> attach the patch and test cases (pins 0x11 and 0x14) front panel
>> green and pink jacks when set Front Audio Panel to AC97 or HD in BIOS
>> setup
>
> OK, thanks, we can refer to this for more tests.
>
>
> Takashi
>
If bit 0 is set, it indicates that the jack has no presence detect capability
The Configuration Default register is defined as shown in Figure 66.
31:30 29:24 23:20 19:16 15:12 11:8
7:4 3:0
Port Location Default Connection Color Misc
Default Sequence
Connectivity Device Type Association
Figure 66. Configuration Data Structure
This mean that bit 0 of Misc is bit 8 of the Configuration Default register
!(get_defcfg_misc(snd_hda_codec_get_pincfg(codec, nid))
& AC_DEFCFG_MISC_NO_PRESENCE)&&
Node 0x18 [Pin Complex] wcaps 0x400001: Stereo
Pincap 0x00000020: IN
Pin Default 0x9933112e: [Fixed] CD at Int ATAPI
Conn = ATAPI, Color = Black
DefAssociation = 0x2, Sequence = 0xe
Misc = NO_PRESENCE
Pin-ctls: 0x20: IN
Node 0x1a [Pin Complex] wcaps 0x400000: Mono
Pincap 0x00000020: IN
Pin Default 0x99f301f0: [Fixed] Other at Int ATAPI
Conn = ATAPI, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x20: IN
Node 0x1b [Pin Complex] wcaps 0x40030d: Stereo Digital Amp-Out
Control: name="IEC958 Playback Volume", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Control: name="IEC958 Playback Source", index=0, device=0
Amp-Out caps: ofs=0x27, nsteps=0x27, stepsize=0x05, mute=1
Amp-Out vals: [0x00 0x00]
Pincap 0x00000010: OUT
Pin Default 0x0145f1f0: [Jack] SPDIF Out at Ext Rear
Conn = Optical, Color = Other
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Connection: 1
0x02
More information about the Alsa-devel
mailing list