Re: [PATCH v6 03/15] ASoC: hdac_hdmi: Enable DP1.2 and all converters/pins

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

 



On Mon, 15 Feb 2016 21:10:49 +0100,
Mark Brown wrote:
> 
> On Fri, Feb 12, 2016 at 07:46:03AM +0530, Subhransu S. Prusty wrote:
> 
> > +static void hdac_hdmi_skl_enable_all_pins(struct hdac_device *hdac)
> > +{
> > +	unsigned int vendor_param;
> > +
> > +	vendor_param = snd_hdac_codec_read(hdac, INTEL_VENDOR_NID, 0,
> > +				INTEL_GET_VENDOR_VERB, 0);
> > +	if (vendor_param == -1 || vendor_param & INTEL_EN_ALL_PIN_CVTS)
> > +		return;
> > +
> > +	vendor_param |= INTEL_EN_ALL_PIN_CVTS;
> > +	vendor_param = snd_hdac_codec_read(hdac, INTEL_VENDOR_NID, 0,
> > +				INTEL_SET_VENDOR_VERB, vendor_param);
> > +	if (vendor_param == -1)
> > +		return;
> > +}
> 
> So to enable the pins we do a read?  That seems...  innovative.  :/

It's a weird nature of HD-audio verb handling.  While *_write() just
sends the verb asynchronously, *_read() sends the verb, does sync and
read-back the return value.  But both read and write may handle the
same verb.


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