diff options
Diffstat (limited to 'sound/pci/hda/hda_codec.h')
-rw-r--r-- | sound/pci/hda/hda_codec.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h index 701c2e069b10..7aa9870040c1 100644 --- a/sound/pci/hda/hda_codec.h +++ b/sound/pci/hda/hda_codec.h | |||
@@ -94,6 +94,8 @@ enum { | |||
94 | #define AC_VERB_GET_HDMI_DIP_XMIT 0x0f32 | 94 | #define AC_VERB_GET_HDMI_DIP_XMIT 0x0f32 |
95 | #define AC_VERB_GET_HDMI_CP_CTRL 0x0f33 | 95 | #define AC_VERB_GET_HDMI_CP_CTRL 0x0f33 |
96 | #define AC_VERB_GET_HDMI_CHAN_SLOT 0x0f34 | 96 | #define AC_VERB_GET_HDMI_CHAN_SLOT 0x0f34 |
97 | #define AC_VERB_GET_DEVICE_SEL 0xf35 | ||
98 | #define AC_VERB_GET_DEVICE_LIST 0xf36 | ||
97 | 99 | ||
98 | /* | 100 | /* |
99 | * SET verbs | 101 | * SET verbs |
@@ -133,6 +135,7 @@ enum { | |||
133 | #define AC_VERB_SET_HDMI_DIP_XMIT 0x732 | 135 | #define AC_VERB_SET_HDMI_DIP_XMIT 0x732 |
134 | #define AC_VERB_SET_HDMI_CP_CTRL 0x733 | 136 | #define AC_VERB_SET_HDMI_CP_CTRL 0x733 |
135 | #define AC_VERB_SET_HDMI_CHAN_SLOT 0x734 | 137 | #define AC_VERB_SET_HDMI_CHAN_SLOT 0x734 |
138 | #define AC_VERB_SET_DEVICE_SEL 0x735 | ||
136 | 139 | ||
137 | /* | 140 | /* |
138 | * Parameter IDs | 141 | * Parameter IDs |
@@ -154,6 +157,7 @@ enum { | |||
154 | #define AC_PAR_GPIO_CAP 0x11 | 157 | #define AC_PAR_GPIO_CAP 0x11 |
155 | #define AC_PAR_AMP_OUT_CAP 0x12 | 158 | #define AC_PAR_AMP_OUT_CAP 0x12 |
156 | #define AC_PAR_VOL_KNB_CAP 0x13 | 159 | #define AC_PAR_VOL_KNB_CAP 0x13 |
160 | #define AC_PAR_DEVLIST_LEN 0x15 | ||
157 | #define AC_PAR_HDMI_LPCM_CAP 0x20 | 161 | #define AC_PAR_HDMI_LPCM_CAP 0x20 |
158 | 162 | ||
159 | /* | 163 | /* |
@@ -251,6 +255,11 @@ enum { | |||
251 | #define AC_UNSOL_RES_TAG_SHIFT 26 | 255 | #define AC_UNSOL_RES_TAG_SHIFT 26 |
252 | #define AC_UNSOL_RES_SUBTAG (0x1f<<21) | 256 | #define AC_UNSOL_RES_SUBTAG (0x1f<<21) |
253 | #define AC_UNSOL_RES_SUBTAG_SHIFT 21 | 257 | #define AC_UNSOL_RES_SUBTAG_SHIFT 21 |
258 | #define AC_UNSOL_RES_DE (0x3f<<15) /* Device Entry | ||
259 | * (for DP1.2 MST) | ||
260 | */ | ||
261 | #define AC_UNSOL_RES_DE_SHIFT 15 | ||
262 | #define AC_UNSOL_RES_IA (1<<2) /* Inactive (for DP1.2 MST) */ | ||
254 | #define AC_UNSOL_RES_ELDV (1<<1) /* ELD Data valid (for HDMI) */ | 263 | #define AC_UNSOL_RES_ELDV (1<<1) /* ELD Data valid (for HDMI) */ |
255 | #define AC_UNSOL_RES_PD (1<<0) /* pinsense detect */ | 264 | #define AC_UNSOL_RES_PD (1<<0) /* pinsense detect */ |
256 | #define AC_UNSOL_RES_CP_STATE (1<<1) /* content protection */ | 265 | #define AC_UNSOL_RES_CP_STATE (1<<1) /* content protection */ |
@@ -352,6 +361,10 @@ enum { | |||
352 | #define AC_LPCMCAP_44K (1<<30) /* 44.1kHz support */ | 361 | #define AC_LPCMCAP_44K (1<<30) /* 44.1kHz support */ |
353 | #define AC_LPCMCAP_44K_MS (1<<31) /* 44.1kHz-multiplies support */ | 362 | #define AC_LPCMCAP_44K_MS (1<<31) /* 44.1kHz-multiplies support */ |
354 | 363 | ||
364 | /* Display pin's device list length */ | ||
365 | #define AC_DEV_LIST_LEN_MASK 0x3f | ||
366 | #define AC_MAX_DEV_LIST_LEN 64 | ||
367 | |||
355 | /* | 368 | /* |
356 | * Control Parameters | 369 | * Control Parameters |
357 | */ | 370 | */ |
@@ -460,6 +473,11 @@ enum { | |||
460 | #define AC_DEFCFG_PORT_CONN (0x3<<30) | 473 | #define AC_DEFCFG_PORT_CONN (0x3<<30) |
461 | #define AC_DEFCFG_PORT_CONN_SHIFT 30 | 474 | #define AC_DEFCFG_PORT_CONN_SHIFT 30 |
462 | 475 | ||
476 | /* Display pin's device list entry */ | ||
477 | #define AC_DE_PD (1<<0) | ||
478 | #define AC_DE_ELDV (1<<1) | ||
479 | #define AC_DE_IA (1<<2) | ||
480 | |||
463 | /* device device types (0x0-0xf) */ | 481 | /* device device types (0x0-0xf) */ |
464 | enum { | 482 | enum { |
465 | AC_JACK_LINE_OUT, | 483 | AC_JACK_LINE_OUT, |
@@ -885,6 +903,7 @@ struct hda_codec { | |||
885 | unsigned int pcm_format_first:1; /* PCM format must be set first */ | 903 | unsigned int pcm_format_first:1; /* PCM format must be set first */ |
886 | unsigned int epss:1; /* supporting EPSS? */ | 904 | unsigned int epss:1; /* supporting EPSS? */ |
887 | unsigned int cached_write:1; /* write only to caches */ | 905 | unsigned int cached_write:1; /* write only to caches */ |
906 | unsigned int dp_mst:1; /* support DP1.2 Multi-stream transport */ | ||
888 | #ifdef CONFIG_PM | 907 | #ifdef CONFIG_PM |
889 | unsigned int power_on :1; /* current (global) power-state */ | 908 | unsigned int power_on :1; /* current (global) power-state */ |
890 | unsigned int d3_stop_clk:1; /* support D3 operation without BCLK */ | 909 | unsigned int d3_stop_clk:1; /* support D3 operation without BCLK */ |
@@ -972,6 +991,8 @@ int snd_hda_override_conn_list(struct hda_codec *codec, hda_nid_t nid, int nums, | |||
972 | const hda_nid_t *list); | 991 | const hda_nid_t *list); |
973 | int snd_hda_get_conn_index(struct hda_codec *codec, hda_nid_t mux, | 992 | int snd_hda_get_conn_index(struct hda_codec *codec, hda_nid_t mux, |
974 | hda_nid_t nid, int recursive); | 993 | hda_nid_t nid, int recursive); |
994 | int snd_hda_get_devices(struct hda_codec *codec, hda_nid_t nid, | ||
995 | u8 *dev_list, int max_devices); | ||
975 | int snd_hda_query_supported_pcm(struct hda_codec *codec, hda_nid_t nid, | 996 | int snd_hda_query_supported_pcm(struct hda_codec *codec, hda_nid_t nid, |
976 | u32 *ratesp, u64 *formatsp, unsigned int *bpsp); | 997 | u32 *ratesp, u64 *formatsp, unsigned int *bpsp); |
977 | 998 | ||