18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * ALSA interface to cobalt PCM capture streams 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright 2014-2015 Cisco Systems, Inc. and/or its affiliates. 68c2ecf20Sopenharmony_ci * All rights reserved. 78c2ecf20Sopenharmony_ci */ 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cistruct snd_card; 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_cistruct snd_cobalt_card { 128c2ecf20Sopenharmony_ci struct cobalt_stream *s; 138c2ecf20Sopenharmony_ci struct snd_card *sc; 148c2ecf20Sopenharmony_ci unsigned int capture_transfer_done; 158c2ecf20Sopenharmony_ci unsigned int hwptr_done_capture; 168c2ecf20Sopenharmony_ci unsigned alsa_record_cnt; 178c2ecf20Sopenharmony_ci struct snd_pcm_substream *capture_pcm_substream; 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci unsigned int pb_size; 208c2ecf20Sopenharmony_ci unsigned int pb_count; 218c2ecf20Sopenharmony_ci unsigned int pb_pos; 228c2ecf20Sopenharmony_ci unsigned pb_filled; 238c2ecf20Sopenharmony_ci bool alsa_pb_channel; 248c2ecf20Sopenharmony_ci unsigned alsa_playback_cnt; 258c2ecf20Sopenharmony_ci struct snd_pcm_substream *playback_pcm_substream; 268c2ecf20Sopenharmony_ci}; 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciint cobalt_alsa_init(struct cobalt_stream *s); 298c2ecf20Sopenharmony_civoid cobalt_alsa_exit(struct cobalt_stream *s); 30