2019-05-30 02:57:50 +03:00
/* SPDX-License-Identifier: GPL-2.0-only */
2011-01-08 08:36:13 +03:00
/*
* tegra_pcm . h - Definitions for Tegra PCM driver
*
* Author : Stephen Warren < swarren @ nvidia . com >
2012-03-21 00:55:49 +04:00
* Copyright ( C ) 2010 , 2012 - NVIDIA , Inc .
2011-01-08 08:36:13 +03:00
*
* Based on code copyright / by :
*
* Copyright ( c ) 2009 - 2010 , NVIDIA Corporation .
* Scott Peterson < speterson @ nvidia . com >
*
* Copyright ( C ) 2010 Google , Inc .
* Iliyan Malchev < malchev @ google . com >
*/
# ifndef __TEGRA_PCM_H__
# define __TEGRA_PCM_H__
2020-07-19 08:01:26 +03:00
# include <sound/dmaengine_pcm.h>
# include <sound/asound.h>
2013-11-12 02:21:01 +04:00
2020-07-19 08:01:26 +03:00
int tegra_pcm_construct ( struct snd_soc_component * component ,
struct snd_soc_pcm_runtime * rtd ) ;
int tegra_pcm_open ( struct snd_soc_component * component ,
struct snd_pcm_substream * substream ) ;
int tegra_pcm_close ( struct snd_soc_component * component ,
struct snd_pcm_substream * substream ) ;
int tegra_pcm_hw_params ( struct snd_soc_component * component ,
struct snd_pcm_substream * substream ,
struct snd_pcm_hw_params * params ) ;
snd_pcm_uframes_t tegra_pcm_pointer ( struct snd_soc_component * component ,
struct snd_pcm_substream * substream ) ;
2012-03-21 00:55:49 +04:00
int tegra_pcm_platform_register ( struct device * dev ) ;
2021-12-04 17:37:12 +03:00
int devm_tegra_pcm_platform_register ( struct device * dev ) ;
2013-11-12 02:21:01 +04:00
int tegra_pcm_platform_register_with_chan_names ( struct device * dev ,
struct snd_dmaengine_pcm_config * config ,
char * txdmachan , char * rxdmachan ) ;
2012-03-21 00:55:49 +04:00
void tegra_pcm_platform_unregister ( struct device * dev ) ;
2011-01-08 08:36:13 +03:00
# endif