xref: /openbmc/linux/sound/soc/codecs/hdac_hda.h (revision 6f69e2a3)
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_LAST_DAI_ID = HDAC_HDMI_2_DAI_ID,
17 };
18 
19 struct hdac_hda_pcm {
20 	int stream_tag[2];
21 	unsigned int format_val[2];
22 };
23 
24 struct hdac_hda_priv {
25 	struct hda_codec codec;
26 	struct hdac_hda_pcm pcm[HDAC_LAST_DAI_ID];
27 	bool need_display_power;
28 };
29 
30 #define hdac_to_hda_priv(_hdac) \
31 			container_of(_hdac, struct hdac_hda_priv, codec.core)
32 #define hdac_to_hda_codec(_hdac) container_of(_hdac, struct hda_codec, core)
33 
34 struct hdac_ext_bus_ops *snd_soc_hdac_hda_get_ops(void);
35 
36 #endif /* __HDAC_HDA_H__ */
37