diff options
author | David Henningsson <david.henningsson@canonical.com> | 2013-11-05 05:12:16 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-11-05 07:47:09 +0100 |
commit | 2f9a3416a071e35f6a971c12cb23b76db26ebb91 (patch) | |
tree | 2fc09c86515c78311a41f01aaf810e1b15a2f27b | |
parent | 05c5a5c32299791083b16d5560b608c91224ffa2 (diff) | |
download | hda-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.c | 45 |
1 files changed, 45 insertions, 0 deletions
@@ -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 }, + { } }; |