Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * tegra_pcm.h - Definitions for Tegra PCM driver
0004  *
0005  * Author: Stephen Warren <swarren@nvidia.com>
0006  * Copyright (C) 2010,2012 - NVIDIA, Inc.
0007  *
0008  * Based on code copyright/by:
0009  *
0010  * Copyright (c) 2009-2010, NVIDIA Corporation.
0011  * Scott Peterson <speterson@nvidia.com>
0012  *
0013  * Copyright (C) 2010 Google, Inc.
0014  * Iliyan Malchev <malchev@google.com>
0015  */
0016 
0017 #ifndef __TEGRA_PCM_H__
0018 #define __TEGRA_PCM_H__
0019 
0020 #include <sound/dmaengine_pcm.h>
0021 #include <sound/asound.h>
0022 
0023 int tegra_pcm_construct(struct snd_soc_component *component,
0024             struct snd_soc_pcm_runtime *rtd);
0025 int tegra_pcm_open(struct snd_soc_component *component,
0026            struct snd_pcm_substream *substream);
0027 int tegra_pcm_close(struct snd_soc_component *component,
0028             struct snd_pcm_substream *substream);
0029 int tegra_pcm_hw_params(struct snd_soc_component *component,
0030             struct snd_pcm_substream *substream,
0031             struct snd_pcm_hw_params *params);
0032 snd_pcm_uframes_t tegra_pcm_pointer(struct snd_soc_component *component,
0033                     struct snd_pcm_substream *substream);
0034 int tegra_pcm_platform_register(struct device *dev);
0035 int devm_tegra_pcm_platform_register(struct device *dev);
0036 int tegra_pcm_platform_register_with_chan_names(struct device *dev,
0037                 struct snd_dmaengine_pcm_config *config,
0038                 char *txdmachan, char *rxdmachan);
0039 void tegra_pcm_platform_unregister(struct device *dev);
0040 
0041 #endif