Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/sound/soc/tegra/tegra_pcm.h
10817 views
1
/*
2
* tegra_pcm.h - Definitions for Tegra PCM driver
3
*
4
* Author: Stephen Warren <[email protected]>
5
* Copyright (C) 2010 - NVIDIA, Inc.
6
*
7
* Based on code copyright/by:
8
*
9
* Copyright (c) 2009-2010, NVIDIA Corporation.
10
* Scott Peterson <[email protected]>
11
*
12
* Copyright (C) 2010 Google, Inc.
13
* Iliyan Malchev <[email protected]>
14
*
15
* This program is free software; you can redistribute it and/or
16
* modify it under the terms of the GNU General Public License
17
* version 2 as published by the Free Software Foundation.
18
*
19
* This program is distributed in the hope that it will be useful, but
20
* WITHOUT ANY WARRANTY; without even the implied warranty of
21
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22
* General Public License for more details.
23
*
24
* You should have received a copy of the GNU General Public License
25
* along with this program; if not, write to the Free Software
26
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
27
* 02110-1301 USA
28
*
29
*/
30
31
#ifndef __TEGRA_PCM_H__
32
#define __TEGRA_PCM_H__
33
34
#include <mach/dma.h>
35
36
struct tegra_pcm_dma_params {
37
unsigned long addr;
38
unsigned long wrap;
39
unsigned long width;
40
unsigned long req_sel;
41
};
42
43
struct tegra_runtime_data {
44
struct snd_pcm_substream *substream;
45
spinlock_t lock;
46
int running;
47
int dma_pos;
48
int dma_pos_end;
49
int period_index;
50
int dma_req_idx;
51
struct tegra_dma_req dma_req[2];
52
struct tegra_dma_channel *dma_chan;
53
};
54
55
#endif
56
57