[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