diff options
author | David Henningsson <david.henningsson@canonical.com> | 2014-09-22 13:09:03 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-09-22 14:50:20 +0200 |
commit | 9e48878245adb2f2f993c701dbdc06074cbd4cc3 (patch) | |
tree | ea1e0ebe5aa7b3dc91c466f01956d8c74d3fa9cc | |
parent | bbac713b6331a833a084179ea2c5abd0ce7eb4c0 (diff) | |
download | hda-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.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -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 { |