16bae5ea9SRakesh Ughreja /* SPDX-License-Identifier: GPL-2.0 */ 26bae5ea9SRakesh Ughreja /* 36bae5ea9SRakesh Ughreja * Copyright(c) 2015-18 Intel Corporation. 46bae5ea9SRakesh Ughreja */ 56bae5ea9SRakesh Ughreja 66bae5ea9SRakesh Ughreja #ifndef __HDAC_HDA_H__ 76bae5ea9SRakesh Ughreja #define __HDAC_HDA_H__ 86bae5ea9SRakesh Ughreja 9608b8c36SKai Vehmanen enum { 10608b8c36SKai Vehmanen HDAC_ANALOG_DAI_ID = 0, 11608b8c36SKai Vehmanen HDAC_DIGITAL_DAI_ID, 12608b8c36SKai Vehmanen HDAC_ALT_ANALOG_DAI_ID, 13608b8c36SKai Vehmanen HDAC_HDMI_0_DAI_ID, 14608b8c36SKai Vehmanen HDAC_HDMI_1_DAI_ID, 15608b8c36SKai Vehmanen HDAC_HDMI_2_DAI_ID, 16608b8c36SKai Vehmanen HDAC_LAST_DAI_ID = HDAC_HDMI_2_DAI_ID, 17608b8c36SKai Vehmanen }; 18608b8c36SKai Vehmanen 196bae5ea9SRakesh Ughreja struct hdac_hda_pcm { 206bae5ea9SRakesh Ughreja int stream_tag[2]; 2103d0aa4dSRander Wang unsigned int format_val[2]; 226bae5ea9SRakesh Ughreja }; 236bae5ea9SRakesh Ughreja 246bae5ea9SRakesh Ughreja struct hdac_hda_priv { 256bae5ea9SRakesh Ughreja struct hda_codec codec; 26608b8c36SKai Vehmanen struct hdac_hda_pcm pcm[HDAC_LAST_DAI_ID]; 27608b8c36SKai Vehmanen bool need_display_power; 286bae5ea9SRakesh Ughreja }; 296bae5ea9SRakesh Ughreja 306bae5ea9SRakesh Ughreja #define hdac_to_hda_priv(_hdac) \ 316bae5ea9SRakesh Ughreja container_of(_hdac, struct hdac_hda_priv, codec.core) 326bae5ea9SRakesh Ughreja #define hdac_to_hda_codec(_hdac) container_of(_hdac, struct hda_codec, core) 336bae5ea9SRakesh Ughreja 346bae5ea9SRakesh Ughreja struct hdac_ext_bus_ops *snd_soc_hdac_hda_get_ops(void); 356bae5ea9SRakesh Ughreja 366bae5ea9SRakesh Ughreja #endif /* __HDAC_HDA_H__ */ 37