aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Henningsson <david.henningsson@canonical.com>2014-09-22 13:09:03 +0200
committerTakashi Iwai <tiwai@suse.de>2014-09-22 14:50:20 +0200
commit9e48878245adb2f2f993c701dbdc06074cbd4cc3 (patch)
treeea1e0ebe5aa7b3dc91c466f01956d8c74d3fa9cc
parentbbac713b6331a833a084179ea2c5abd0ce7eb4c0 (diff)
downloadhda-emu-9e48878245adb2f2f993c701dbdc06074cbd4cc3.tar.gz
hda-spec: Add access to secret node 0x8 for Haswell/Broadwell HDMI
Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--hda-spec.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/hda-spec.c b/hda-spec.c
index 0ff0388..fa21cf5 100644
--- a/hda-spec.c
+++ b/hda-spec.c
@@ -575,6 +575,18 @@ static void fixup_alc268_beep(struct xhda_codec *codec)
node->amp_in_caps.override = 1;
}
+static int haswell_ext_cmd(struct xhda_codec *codec, unsigned int cmd)
+{
+ unsigned int nid = (cmd >> 20) & 0x7f;
+
+ codec->rc = 0;
+
+ /* Secret Haswell node on 0x8, used to turn on DP1.2 features */
+ if (nid == 0x8)
+ return 0;
+ return -ENXIO;
+}
+
static void fixup_haswellhdmi(struct xhda_codec *codec)
{
struct xhda_node *node;
@@ -602,6 +614,8 @@ static void fixup_haswellhdmi(struct xhda_codec *codec)
node->node[0] = 0x2;
}
}
+
+ codec->extended_cmd = haswell_ext_cmd;
}
struct fixup_list {