From 3876c0b40aac54645a8ffa87c32dd4aa4f4e4b46 Mon Sep 17 00:00:00 2001
From: LeoLiu-oc <LeoLiu-oc@zhaoxin.com>
Date: Wed, 7 Apr 2021 14:26:13 +0800
Subject: [PATCH] ALSA: hda: Add support of Zhaoxin NB HDAC codec

zhaoxin inclusion
category: feature
bugzilla: https://bugzilla.openeuler.org/show_bug.cgi?id=19
CVE: NA

----------------------------------------------------------------

Add Zhaoxin NB HDAC codec support.

The patch is scheduled to be submitted to the kernel mainline in 2021.

Signed-off-by: LeoLiu-oc <LeoLiu-oc@zhaoxin.com>
Reviewed-by: Hanjun Guo <guohanjun@huawei.com>
Reviewed-by: LeoLiu-oc <LeoLiu-oc@zhaoxin.com>
Signed-off-by: Cheng Jian <cj.chengjian@huawei.com>
---
 sound/pci/hda/patch_hdmi.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index c827a2a89cc3..f011b0d3bddc 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -3813,6 +3813,20 @@ static int patch_via_hdmi(struct hda_codec *codec)
 	return patch_simple_hdmi(codec, VIAHDMI_CVT_NID, VIAHDMI_PIN_NID);
 }
 
+/* ZHAOXIN HDMI Implementation */
+static int patch_zx_hdmi(struct hda_codec *codec)
+{
+	int err;
+
+	err = patch_generic_hdmi(codec);
+	codec->no_sticky_stream = 1;
+
+	if (err)
+		return err;
+
+	return 0;
+}
+
 /*
  * patch entries
  */
@@ -3897,6 +3911,12 @@ HDA_CODEC_ENTRY(0x11069f80, "VX900 HDMI/DP",	patch_via_hdmi),
 HDA_CODEC_ENTRY(0x11069f81, "VX900 HDMI/DP",	patch_via_hdmi),
 HDA_CODEC_ENTRY(0x11069f84, "VX11 HDMI/DP",	patch_generic_hdmi),
 HDA_CODEC_ENTRY(0x11069f85, "VX11 HDMI/DP",	patch_generic_hdmi),
+HDA_CODEC_ENTRY(0x11069f86, "CND001 HDMI/DP",	patch_generic_hdmi),
+HDA_CODEC_ENTRY(0x11069f87, "CND001 HDMI/DP",	patch_generic_hdmi),
+HDA_CODEC_ENTRY(0x11069f88, "CHX001 HDMI/DP",	patch_zx_hdmi),
+HDA_CODEC_ENTRY(0x11069f89, "CHX001 HDMI/DP",	patch_zx_hdmi),
+HDA_CODEC_ENTRY(0x11069f8a, "CHX002 HDMI/DP",	patch_zx_hdmi),
+HDA_CODEC_ENTRY(0x11069f8b, "CHX002 HDMI/DP",	patch_zx_hdmi),
 HDA_CODEC_ENTRY(0x80860054, "IbexPeak HDMI",	patch_i915_cpt_hdmi),
 HDA_CODEC_ENTRY(0x80862801, "Bearlake HDMI",	patch_generic_hdmi),
 HDA_CODEC_ENTRY(0x80862802, "Cantiga HDMI",	patch_generic_hdmi),
@@ -3916,6 +3936,12 @@ HDA_CODEC_ENTRY(0x80862880, "CedarTrail HDMI",	patch_generic_hdmi),
 HDA_CODEC_ENTRY(0x80862882, "Valleyview2 HDMI",	patch_i915_byt_hdmi),
 HDA_CODEC_ENTRY(0x80862883, "Braswell HDMI",	patch_i915_byt_hdmi),
 HDA_CODEC_ENTRY(0x808629fb, "Crestline HDMI",	patch_generic_hdmi),
+HDA_CODEC_ENTRY(0x1d179f86, "CND001 HDMI/DP",	patch_generic_hdmi),
+HDA_CODEC_ENTRY(0x1d179f87, "CND001 HDMI/DP",	patch_generic_hdmi),
+HDA_CODEC_ENTRY(0x1d179f88, "CHX001 HDMI/DP",	patch_zx_hdmi),
+HDA_CODEC_ENTRY(0x1d179f89, "CHX001 HDMI/DP",	patch_zx_hdmi),
+HDA_CODEC_ENTRY(0x1d179f8a, "CHX002 HDMI/DP",	patch_zx_hdmi),
+HDA_CODEC_ENTRY(0x1d179f8b, "CHX002 HDMI/DP",	patch_zx_hdmi),
 /* special ID for generic HDMI */
 HDA_CODEC_ENTRY(HDA_CODEC_ID_GENERIC_HDMI, "Generic HDMI", patch_generic_hdmi),
 {} /* terminator */
-- 
GitLab