FILE
aw2-saa7146.h
File preview with syntax highlighting.
linux-6.19.14/sound/pci/aw2/aw2-saa7146.h
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/***************************************************************************** 3 * 4 * Copyright (C) 2008 Cedric Bregardis <cedric.bregardis@free.fr> and 5 * Jean-Christian Hassler <jhassler@free.fr> 6 * 7 * This file is part of the Audiowerk2 ALSA driver 8 * 9 *****************************************************************************/ 10 11#ifndef AW2_SAA7146_H 12#define AW2_SAA7146_H 13 14#define NB_STREAM_PLAYBACK 2 15#define NB_STREAM_CAPTURE 1 16 17#define NUM_STREAM_PLAYBACK_ANA 0 18#define NUM_STREAM_PLAYBACK_DIG 1 19 20#define NUM_STREAM_CAPTURE_ANA 0 21 22struct snd_pcm_substream; 23typedef void (*snd_aw2_saa7146_it_cb) (struct snd_pcm_substream *); 24 25struct snd_aw2_saa7146_cb_param { 26 snd_aw2_saa7146_it_cb p_it_callback; 27 struct snd_pcm_substream *p_callback_param; 28}; 29 30/* definition of the chip-specific record */ 31 32struct snd_aw2_saa7146 { 33 void __iomem *base_addr; 34}; 35 36extern void snd_aw2_saa7146_setup(struct snd_aw2_saa7146 *chip, 37 void __iomem *pci_base_addr); 38extern int snd_aw2_saa7146_free(struct snd_aw2_saa7146 *chip); 39 40extern void snd_aw2_saa7146_pcm_init_playback(struct snd_aw2_saa7146 *chip, 41 int stream_number, 42 unsigned long dma_addr, 43 unsigned long period_size, 44 unsigned long buffer_size); 45extern void snd_aw2_saa7146_pcm_init_capture(struct snd_aw2_saa7146 *chip, 46 int stream_number, 47 unsigned long dma_addr, 48 unsigned long period_size, 49 unsigned long buffer_size); 50extern void snd_aw2_saa7146_define_it_playback_callback(unsigned int 51 stream_number, 52 snd_aw2_saa7146_it_cb 53 p_it_callback, 54 void *p_callback_param); 55extern void snd_aw2_saa7146_define_it_capture_callback(unsigned int 56 stream_number, 57 snd_aw2_saa7146_it_cb 58 p_it_callback, 59 void *p_callback_param); 60extern void snd_aw2_saa7146_pcm_trigger_start_capture(struct snd_aw2_saa7146 61 *chip, int stream_number); 62extern void snd_aw2_saa7146_pcm_trigger_stop_capture(struct snd_aw2_saa7146 63 *chip, int stream_number); 64 65extern void snd_aw2_saa7146_pcm_trigger_start_playback(struct snd_aw2_saa7146 66 *chip, 67 int stream_number); 68extern void snd_aw2_saa7146_pcm_trigger_stop_playback(struct snd_aw2_saa7146 69 *chip, int stream_number); 70 71extern irqreturn_t snd_aw2_saa7146_interrupt(int irq, void *dev_id); 72extern unsigned int snd_aw2_saa7146_get_hw_ptr_playback(struct snd_aw2_saa7146 73 *chip, 74 int stream_number, 75 unsigned char 76 *start_addr, 77 unsigned int 78 buffer_size); 79extern unsigned int snd_aw2_saa7146_get_hw_ptr_capture(struct snd_aw2_saa7146 80 *chip, 81 int stream_number, 82 unsigned char 83 *start_addr, 84 unsigned int 85 buffer_size); 86 87extern void snd_aw2_saa7146_use_digital_input(struct snd_aw2_saa7146 *chip, 88 int use_digital); 89 90extern int snd_aw2_saa7146_is_using_digital_input(struct snd_aw2_saa7146 91 *chip); 92 93#endif
~/
Read-only file preview.