Path: blob/master/sound/soc/mediatek/common/mtk-afe-fe-dai.h
26450 views
/* SPDX-License-Identifier: GPL-2.0 */1/*2* mtk-afe-fe-dais.h -- Mediatek afe fe dai operator definition3*4* Copyright (c) 2016 MediaTek Inc.5* Author: Garlic Tseng <[email protected]>6*/78#ifndef _MTK_AFE_FE_DAI_H_9#define _MTK_AFE_FE_DAI_H_1011struct snd_soc_dai_ops;12struct mtk_base_afe;13struct mtk_base_afe_memif;1415int mtk_afe_fe_startup(struct snd_pcm_substream *substream,16struct snd_soc_dai *dai);17void mtk_afe_fe_shutdown(struct snd_pcm_substream *substream,18struct snd_soc_dai *dai);19int mtk_afe_fe_hw_params(struct snd_pcm_substream *substream,20struct snd_pcm_hw_params *params,21struct snd_soc_dai *dai);22int mtk_afe_fe_hw_free(struct snd_pcm_substream *substream,23struct snd_soc_dai *dai);24int mtk_afe_fe_prepare(struct snd_pcm_substream *substream,25struct snd_soc_dai *dai);26int mtk_afe_fe_trigger(struct snd_pcm_substream *substream, int cmd,27struct snd_soc_dai *dai);2829extern const struct snd_soc_dai_ops mtk_afe_fe_ops;3031int mtk_dynamic_irq_acquire(struct mtk_base_afe *afe);32int mtk_dynamic_irq_release(struct mtk_base_afe *afe, int irq_id);33int mtk_afe_suspend(struct snd_soc_component *component);34int mtk_afe_resume(struct snd_soc_component *component);3536int mtk_memif_set_enable(struct mtk_base_afe *afe, int id);37int mtk_memif_set_disable(struct mtk_base_afe *afe, int id);38int mtk_memif_set_addr(struct mtk_base_afe *afe, int id,39unsigned char *dma_area,40dma_addr_t dma_addr,41size_t dma_bytes);42int mtk_memif_set_channel(struct mtk_base_afe *afe,43int id, unsigned int channel);44int mtk_memif_set_rate_substream(struct snd_pcm_substream *substream,45int id, unsigned int rate);46int mtk_memif_set_format(struct mtk_base_afe *afe,47int id, snd_pcm_format_t format);48int mtk_memif_set_pbuf_size(struct mtk_base_afe *afe,49int id, int pbuf_size);50#endif515253