summaryrefslogtreecommitdiff
path: root/sound/x86/intel_hdmi_audio.h
diff options
context:
space:
mode:
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>2017-01-31 14:16:52 -0600
committerTakashi Iwai <tiwai@suse.de>2017-02-01 16:22:24 +0100
commit964ca8083c0239b5a729ed08c9f50b6c31ab3a93 (patch)
tree03cec32622f5e64e8f3edb52d04bcd3245cbb1a8 /sound/x86/intel_hdmi_audio.h
parentf95e29b92190607c66dc5c96b7e0de9c332062c2 (diff)
downloadlwn-964ca8083c0239b5a729ed08c9f50b6c31ab3a93.tar.gz
lwn-964ca8083c0239b5a729ed08c9f50b6c31ab3a93.zip
ALSA: x86: intel_hdmi: add definitions and logic for DP audio
Imported from legacy patches Note: the new code doesn't assume a modified ELD but an explicit notification that DP is present. It appears that the i915 code does change the ELD so we could use the ELD-based tests to check for DP audio Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/x86/intel_hdmi_audio.h')
-rw-r--r--sound/x86/intel_hdmi_audio.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/sound/x86/intel_hdmi_audio.h b/sound/x86/intel_hdmi_audio.h
index d2015ec84843..034b3873ffa1 100644
--- a/sound/x86/intel_hdmi_audio.h
+++ b/sound/x86/intel_hdmi_audio.h
@@ -44,7 +44,8 @@
#define MAX_CAP_STREAMS 0
#define HDMI_AUDIO_DRIVER "hdmi-audio"
-#define INFO_FRAME_WORD1 0x000a0184
+#define HDMI_INFO_FRAME_WORD1 0x000a0184
+#define DP_INFO_FRAME_WORD1 0x00441b84
#define FIFO_THRESHOLD 0xFE
#define DMA_FIFO_THRESHOLD 0x7
#define BYTES_PER_WORD 0x4
@@ -134,6 +135,7 @@ struct snd_intelhad {
struct ring_buf_info buf_info[HAD_NUM_OF_RING_BUFS];
struct pcm_stream_info stream_info;
union otm_hdmi_eld_t eeld;
+ bool dp_output;
enum intel_had_aud_buf_type curr_buf;
int valid_buf_cnt;
unsigned int aes_bits;
@@ -156,8 +158,8 @@ struct had_ops {
void (*reset_audio)(u8 reset);
int (*prog_n)(u32 aud_samp_freq, u32 *n_param,
struct snd_intelhad *intelhaddata);
- void (*prog_cts)(u32 aud_samp_freq, u32 tmds, u32 n_param,
- struct snd_intelhad *intelhaddata);
+ void (*prog_cts)(u32 aud_samp_freq, u32 tmds, u32 link_rate,
+ u32 n_param, struct snd_intelhad *intelhaddata);
int (*audio_ctrl)(struct snd_pcm_substream *substream,
struct snd_intelhad *intelhaddata);
void (*prog_dip)(struct snd_pcm_substream *substream,