aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_codec.h
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/hda/hda_codec.h')
-rw-r--r--sound/pci/hda/hda_codec.h21
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) */
464enum { 482enum {
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);
973int snd_hda_get_conn_index(struct hda_codec *codec, hda_nid_t mux, 992int 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);
994int snd_hda_get_devices(struct hda_codec *codec, hda_nid_t nid,
995 u8 *dev_list, int max_devices);
975int snd_hda_query_supported_pcm(struct hda_codec *codec, hda_nid_t nid, 996int 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