At Tue, 18 Dec 2012 13:21:54 -0500, mengdong.lin@intel.com wrote:
From: Mengdong Lin mengdong.lin@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@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