1 /* 2 * mtk-afe-fe-dais.h -- Mediatek afe fe dai operator definition 3 * 4 * Copyright (c) 2016 MediaTek Inc. 5 * Author: Garlic Tseng <garlic.tseng@mediatek.com> 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 and 9 * only version 2 as published by the Free Software Foundation. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 */ 16 17 #ifndef _MTK_AFE_FE_DAI_H_ 18 #define _MTK_AFE_FE_DAI_H_ 19 20 struct snd_soc_dai_ops; 21 struct mtk_base_afe; 22 struct mtk_base_afe_memif; 23 24 int mtk_afe_fe_startup(struct snd_pcm_substream *substream, 25 struct snd_soc_dai *dai); 26 void mtk_afe_fe_shutdown(struct snd_pcm_substream *substream, 27 struct snd_soc_dai *dai); 28 int mtk_afe_fe_hw_params(struct snd_pcm_substream *substream, 29 struct snd_pcm_hw_params *params, 30 struct snd_soc_dai *dai); 31 int mtk_afe_fe_hw_free(struct snd_pcm_substream *substream, 32 struct snd_soc_dai *dai); 33 int mtk_afe_fe_prepare(struct snd_pcm_substream *substream, 34 struct snd_soc_dai *dai); 35 int mtk_afe_fe_trigger(struct snd_pcm_substream *substream, int cmd, 36 struct snd_soc_dai *dai); 37 38 extern const struct snd_soc_dai_ops mtk_afe_fe_ops; 39 40 int mtk_dynamic_irq_acquire(struct mtk_base_afe *afe); 41 int mtk_dynamic_irq_release(struct mtk_base_afe *afe, int irq_id); 42 int mtk_afe_dai_suspend(struct snd_soc_dai *dai); 43 int mtk_afe_dai_resume(struct snd_soc_dai *dai); 44 45 #endif 46