[alsa-devel] [PATCH 1/1] ALSA: hda - bug fix for invalid connection list of Haswell HDMI codec pin

Takashi Iwai tiwai at suse.de
Fri Dec 14 08:49:41 CET 2012


At Fri, 14 Dec 2012 07:26:28 +0000,
Lin, Mengdong wrote:
> 
> > -----Original Message-----
> > From: alsa-devel-bounces at alsa-project.org
> > [mailto:alsa-devel-bounces at alsa-project.org] On Behalf Of Takashi Iwai
> > Sent: Friday, December 14, 2012 3:10 PM
> 
> > > +static void intel_haswell_fixup_connect_list(struct hda_codec *codec,
> > > +			       const struct hda_fixup *fix, int action) {
> > > +	hda_nid_t list[3] = {0x2, 0x3, 0x4};
> > > +	unsigned int vendor_param;
> > > +
> > > +	if (action != HDA_FIXUP_ACT_PROBE)
> > > +		return;
> > 
> > Is this ACT_PROBE, that is, applied only after parsing the codec?
> > Usually a fixup for overriding the connection list is applied before parsing the
> > tree.
> 
> 
> Yes, this fixup is applied after parsing the codec.
> Because during parsing, the pin nid#6 may still report invalid connection list entries 0x00000000
> in snd_hda_get_raw_connections(), which should be 0x00040302 to stand for 3 output convertors.
> So we need to overwrite its connection list with the proper value.
> 
> But, do you mean we can change this to the pre-probe stage, so that snd_hda_get_raw_connections()
> need not be called during the parsing the codec? I'll do a test.

Yes.  It may work currently but it might be broken if the parser code
is changed, for example.  I see no reason why the fixup must be
applied after parsing the tree.


Takashi


More information about the Alsa-devel mailing list