diff mbox

ALSA: hda - not use regmap for vendor verb 0x781 of Intel HDMI codec

Message ID 2f716e6b90b7416eb34d35ed1954c7761bfd2050.1428918546.git.mengdong.lin@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Lin, Mengdong April 13, 2015, 9:50 a.m. UTC
From: Mengdong Lin <mengdong.lin@intel.com>

For HDMI codec on Haswell/Broadwell/Skylake platforms, the vendor verb 0x781
is used enable DP 1.2 mode as a fixup if BIOS has not done this, in function
intel_haswell_fixup_enable_dp12(). Otherwise, the display audio playback will
be silent.

Although the verb 0x781 is added to vendor verbs array, but snd_hdac_regmap_
encode_verb() will translate it to verb 0xf81 and cause regmap_write IO failure
because 0xf81 is not in the vendor verb array and so will not be taken as a
writable register.

So this patch no longer uses regmap for verb 0x781 but directly send this
command to enable DP1.2 mode.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
diff mbox

Patch

diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index ca0c05e..1849c94 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -2298,8 +2298,7 @@  static void intel_haswell_fixup_enable_dp12(struct hda_codec *codec)
 
 	/* enable DP1.2 mode */
 	vendor_param |= INTEL_EN_DP12;
-	snd_hdac_regmap_add_vendor_verb(&codec->core, INTEL_SET_VENDOR_VERB);
-	snd_hda_codec_write_cache(codec, INTEL_VENDOR_NID, 0,
+	snd_hda_codec_read(codec, INTEL_VENDOR_NID, 0,
 				INTEL_SET_VENDOR_VERB, vendor_param);
 }