aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Henningsson <david.henningsson@canonical.com>2013-11-05 05:12:16 +0100
committerTakashi Iwai <tiwai@suse.de>2013-11-05 07:47:09 +0100
commit2f9a3416a071e35f6a971c12cb23b76db26ebb91 (patch)
tree2fc09c86515c78311a41f01aaf810e1b15a2f27b
parent05c5a5c32299791083b16d5560b608c91224ffa2 (diff)
downloadhda-emu-2f9a3416a071e35f6a971c12cb23b76db26ebb91.tar.gz
Add AMD HDMI verbs
Source of information: http://www.x.org/docs/AMD/AMD_HDA_verbs_v2.pdf Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--hda-spec.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/hda-spec.c b/hda-spec.c
index e4bb547..d70e54b 100644
--- a/hda-spec.c
+++ b/hda-spec.c
@@ -213,6 +213,49 @@ static struct xhda_verb_table vt2002p_verbs[] = {
{ } /* terminator */
};
+static struct xhda_verb_table amdhdmi_verbs[] = {
+ /* Refer to AMD HDA Verbs specification */
+ { 0x776, set_cached_verb, "amdhdmi_set_descriptor" },
+ { 0xf76, get_cached_verb, "amdhdmi_get_descriptor" },
+ { 0x770, set_cached_verb, "amdhdmi_set_ddm_cvt_sync" },
+ { 0xf70, get_cached_verb, "amdhdmi_get_speaker_alloc/cvt_sync" },
+ { 0xf93, get_cached_verb, "amdhdmi_get_ddm_audio_assoc" },
+
+ { 0x777, set_cached_verb, "amdhdmi_set_multich_en_01" },
+ { 0xf77, get_cached_verb, "amdhdmi_get_multich_en_01" },
+ { 0x778, set_cached_verb, "amdhdmi_set_multich_en_23" },
+ { 0xf78, get_cached_verb, "amdhdmi_get_multich_en_23" },
+ { 0x779, set_cached_verb, "amdhdmi_set_multich_en_45" },
+ { 0xf79, get_cached_verb, "amdhdmi_get_multich_en_45" },
+ { 0x77a, set_cached_verb, "amdhdmi_set_multich_en_67" },
+ { 0xf7a, get_cached_verb, "amdhdmi_get_multich_en_67" },
+
+ { 0x771, set_cached_verb, "amdhdmi_set_channel_alloc" },
+ { 0xf71, get_cached_verb, "amdhdmi_get_channel_alloc" },
+ { 0x772, set_cached_verb, "amdhdmi_set_downmix_info" },
+ { 0xf72, get_cached_verb, "amdhdmi_get_downmix_info" },
+ { 0x789, set_cached_verb, "amdhdmi_set_multich_mode" },
+ { 0xf89, get_cached_verb, "amdhdmi_get_multich_mode" },
+
+ { 0x785, set_cached_verb, "amdhdmi_set_multich_en_1" },
+ { 0xf85, get_cached_verb, "amdhdmi_get_multich_en_1" },
+ { 0x786, set_cached_verb, "amdhdmi_set_multich_en_3" },
+ { 0xf86, get_cached_verb, "amdhdmi_get_multich_en_3" },
+ { 0x787, set_cached_verb, "amdhdmi_set_multich_en_5" },
+ { 0xf87, get_cached_verb, "amdhdmi_get_multich_en_5" },
+ { 0x788, set_cached_verb, "amdhdmi_set_multich_en_7" },
+ { 0xf88, get_cached_verb, "amdhdmi_get_multich_en_7" },
+
+ { 0x77c, set_cached_verb, "amdhdmi_set_hbr_control" },
+ { 0xf7c, get_cached_verb, "amdhdmi_get_hbr_control" },
+ { 0xf7b, get_cached_verb, "amdhdmi_get_lipsync" },
+ { 0x780, set_cached_verb, "amdhdmi_set_sinkinfo_index" },
+ { 0xf80, get_cached_verb, "amdhdmi_get_sinkinfo_index" },
+ { 0xf81, get_cached_verb, "amdhdmi_get_sinkinfo_data" },
+
+ { } /* terminator */
+};
+
/*
*/
@@ -351,6 +394,8 @@ static struct verb_ext_list extensions[] = {
{ .id = 0x11060446, .verbs = vt2002p_verbs },
{ .id = 0x11068446, .verbs = vt2002p_verbs },
+ { .id = 0x1002aa01, .verbs = amdhdmi_verbs },
+
{ }
};