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

Takashi Iwai tiwai at suse.de
Tue Dec 18 08:08:17 CET 2012


At Tue, 18 Dec 2012 13:21:54 -0500,
mengdong.lin at intel.com wrote:
> 
> From: Mengdong Lin <mengdong.lin at intel.com>
> 
> Haswell HDMI codec may report invalid connection list entries on all three
> pins. But our previous patch only fixes the HDMI pin, not the DP pin, so
> audio playbak via DP can still fail.
> 
> This patch adds fixup for Haswell to set proper connection list entries for
> the other 2 pins including the DP pin.
> 
> Signed-off-by: Mengdong Lin <mengdong.lin at intel.com>

Mengdong, your previous patch was currently dropped because it's not
clear whether it's correct.  As asked in the previous thread, the
usage of fixup is doubtful in this case.

Is the fix really needed only for a certain PCI (or codec) *SSID*?
If you need to apply it generically to a certain codec, you have to
choose another way.

> 
> diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> index 42fdf14..73d298a 100644
> --- a/sound/pci/hda/patch_hdmi.c
> +++ b/sound/pci/hda/patch_hdmi.c
> @@ -1710,8 +1710,14 @@ static void intel_haswell_fixup_connect_list(struct hda_codec *codec,
>  	if (vendor_param == -1 || !(vendor_param & 0x02))
>  		return;
>  
> +	snd_hda_override_conn_list(codec, 0x05, 3, list);
> +	hdmi_read_pin_conn(codec, 1);
> +
>  	snd_hda_override_conn_list(codec, 0x06, 3, list);
>  	hdmi_read_pin_conn(codec, 1);
> +
> +	snd_hda_override_conn_list(codec, 0x07, 3, list);
> +	hdmi_read_pin_conn(codec, 1);

What's the reason to call hdmi_read_pin_conn() multiple times?


Takashi


More information about the Alsa-devel mailing list