xref: /openbmc/linux/sound/soc/codecs/hdac_hda.h (revision dc6a81c3)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright(c) 2015-18 Intel Corporation.
4  */
5 
6 #ifndef __HDAC_HDA_H__
7 #define __HDAC_HDA_H__
8 
9 enum {
10 	HDAC_ANALOG_DAI_ID = 0,
11 	HDAC_DIGITAL_DAI_ID,
12 	HDAC_ALT_ANALOG_DAI_ID,
13 	HDAC_HDMI_0_DAI_ID,
14 	HDAC_HDMI_1_DAI_ID,
15 	HDAC_HDMI_2_DAI_ID,
16 	HDAC_HDMI_3_DAI_ID,
17 	HDAC_LAST_DAI_ID = HDAC_HDMI_3_DAI_ID,
18 };
19 
20 struct hdac_hda_pcm {
21 	int stream_tag[2];
22 	unsigned int format_val[2];
23 };
24 
25 struct hdac_hda_priv {
26 	struct hda_codec codec;
27 	struct hdac_hda_pcm pcm[HDAC_LAST_DAI_ID];
28 	bool need_display_power;
29 };
30 
31 #define hdac_to_hda_priv(_hdac) \
32 			container_of(_hdac, struct hdac_hda_priv, codec.core)
33 #define hdac_to_hda_codec(_hdac) container_of(_hdac, struct hda_codec, core)
34 
35 struct hdac_ext_bus_ops *snd_soc_hdac_hda_get_ops(void);
36 
37 #endif /* __HDAC_HDA_H__ */
38