[alsa-devel] [RFC]Connection list of hda widget
Takashi Iwai
tiwai at suse.de
Wed Feb 13 07:19:15 CET 2013
At Wed, 13 Feb 2013 11:16:15 +0800,
Raymond Yau wrote:
>
> [1 <text/plain; UTF-8 (7bit)>]
> > > > > > > >
> > > > > > > > ADI codecs have vendor defined widgets ( BIAS Power-Down and
> VREF
> > > > > > > > Power-Down) which have connection list
> > >
> > > >
> > > > > Node 0x2f [Vendor Defined Widget] wcaps 0xf00100: Mono
> > > > > Connection: 6
> > > > > 0x11* 0x12 0x14 0x15 0x16 0x17
> > > > >
> > > > > My proposed patch just remove "*" from the connection list since
> there
> > > is
> > > > > no way to know the vendor defined widget support the verb
> > > GET_CONNECT_SELECT
> > > >
> > > > You should have written _this_ text at the first place!
> > > > The biggest problem is that your description doesn't match with what
> > > > you write in your patch.
> > > >
> > > > But still, it's still an open question. In the specification, the use
> > > > of selector isn't prohibited for vendor-spec widgets. So, some crazy
> > > > h/w designer may think of it.
> > > >
> > >
> > > Yes, it depend on how you interept "Other"
> > >
> > > 7.3.3.2 Connection Select Control
> > > Applies to:
> > > Input Converter
> > > Selector Widget
> > > Pin Complex
> > > Other
> >
> > Heh, and obviously h/w manufacturers thought vendor-spec widget
> > belongs to "Other".
>
> http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=5fdaecdb0d8fd8131d2adb9ca0ae2b77707b36ca
>
> do you have the connection list in node 0x12 of ad1986a ?
>
>
> If you prefer the patch to blacklist specific widgets similar to power
> widget
>
> Refer to Table 13.Connection List of AD1882 dartasheet
>
> 23 A2209811 BC30AE24 NID 11 1 18 20 1 22 24 1 2E 30 1 3C
> 2F 00171514 NID 14 15 17
>
> Refer to Table 13.Connection List of AD1988 dartasheet
>
> 23 25249811 2120BD38 Length 8 NID 11 1 18 24 25 38 1 3D 20 21
> 2F 15141211 00001716 Length 6 NID 11 12 14 15 16 17
>
> Blacklist ADI codec's vendor defined widgets ( BIAS Power-Down and VREF
> Power-Down) which have connection list for not sending
> AC_VERB_GET_CONNECT_SEL
>
> static void print_conn_list(struct snd_info_buffer *buffer,
> struct hda_codec *codec, hda_nid_t nid,
> unsigned int wid_type, hda_nid_t *conn,
> int conn_len)
> {
> int c, curr = -1;
>
> if (conn_len > 1 &&
> wid_type != AC_WID_AUD_MIX &&
> wid_type != AC_WID_VOL_KNB &&
> + (wide_type != AC_WID _VENDOR && ((codec->vendor_id >> 16) != 0x11d4))
> &&
> wid_type != AC_WID_POWER)
> curr = snd_hda_codec_read(codec, nid, 0,
> AC_VERB_GET_CONNECT_SEL, 0);
> snd_iprintf(buffer, " Connection: %d\n", conn_len);
Care to send a proper patch please?
thanks,
Takashi
More information about the Alsa-devel
mailing list