Linux-libre 5.7.5-gnu
[librecmc/linux-libre.git] / sound / soc / codecs / hdac_hda.h
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__ */