These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / media / pci / cobalt / cobalt-alsa.h
1 /*
2  *  ALSA interface to cobalt PCM capture streams
3  *
4  *  Copyright 2014-2015 Cisco Systems, Inc. and/or its affiliates.
5  *  All rights reserved.
6  *
7  *  This program is free software; you may redistribute it and/or modify
8  *  it under the terms of the GNU General Public License as published by
9  *  the Free Software Foundation; version 2 of the License.
10  *
11  *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
12  *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
13  *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
14  *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
15  *  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
16  *  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17  *  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18  *  SOFTWARE.
19  */
20
21 struct snd_card;
22
23 struct snd_cobalt_card {
24         struct cobalt_stream *s;
25         struct snd_card *sc;
26         unsigned int capture_transfer_done;
27         unsigned int hwptr_done_capture;
28         unsigned alsa_record_cnt;
29         struct snd_pcm_substream *capture_pcm_substream;
30
31         unsigned int pb_size;
32         unsigned int pb_count;
33         unsigned int pb_pos;
34         unsigned pb_filled;
35         bool alsa_pb_channel;
36         unsigned alsa_playback_cnt;
37         struct snd_pcm_substream *playback_pcm_substream;
38 };
39
40 int cobalt_alsa_init(struct cobalt_stream *s);
41 void cobalt_alsa_exit(struct cobalt_stream *s);