Re: [PATCH 2/4] ALSA: hda - add DP mst verb support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Takashi,

> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai@xxxxxxx]
> Sent: Tuesday, March 08, 2016 12:46 AM
> To: libin.yang@xxxxxxxxxxxxxxx
> Cc: alsa-devel@xxxxxxxxxxxxxxxx; Lin, Mengdong; Yang, Libin
> Subject: Re:  [PATCH 2/4] ALSA: hda - add DP mst verb
> support
> 
> On Mon, 07 Mar 2016 15:57:44 +0100,
> libin.yang@xxxxxxxxxxxxxxx wrote:
> >
> > +int snd_hda_set_dev_select(struct hda_codec *codec, hda_nid_t nid,
> int dev_id)
> > +{
> > +	int ret, dev;
> > +	unsigned long timeout;
> > +
> > +	/* not support dp_mst will always return 0, using first dev_entry
> */
> > +	if (!codec->dp_mst)
> > +		return 0;
> > +
> > +	/* If Device List Length is 0, the pin is not multi stream capable.
> > +	 */
> > +	if ((snd_hda_get_num_devices(codec, nid) + 1) == 0)
> > +		return 0;
> 
> I don't understand what this code is for.  Why +1?

Sorry, it should be if ((snd_hda_get_num_devices(codec, nid)) == 0).
0 means not MST capable. Thanks for point it out. 

> 
> > +
> > +	/* Behavior of setting index being equal to or greater than
> > +	 * Device List Length is not predictable
> > +	 */
> > +	if ((snd_hda_get_num_devices(codec, nid) + 1) <= dev_id)
> > +		return 0;
> 
> Ditto.  And, calling the same function twice?

(snd_hda_get_num_devices(codec, nid) + 1) means the device entry number.
If the (snd_hda_get_num_devices(codec, nid) + 1) == 3, it means there are
only 3 device entries. And dev_id being 0, 1, 2 is legal. It dev_id is 3 or greater,
it is illegal. 

Regards,
Libin

> 
> 
> thanks,
> 
> Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux