|
#define | snd_pcm_substream_chip(substream) ((substream)->private_data) |
|
#define | snd_pcm_chip(pcm) ((pcm)->private_data) |
|
#define | SNDRV_PCM_DEVICES 8 |
|
#define | SNDRV_PCM_IOCTL1_FALSE ((void *)0) |
|
#define | SNDRV_PCM_IOCTL1_TRUE ((void *)1) |
|
#define | SNDRV_PCM_IOCTL1_RESET 0 |
|
#define | SNDRV_PCM_IOCTL1_INFO 1 |
|
#define | SNDRV_PCM_IOCTL1_CHANNEL_INFO 2 |
|
#define | SNDRV_PCM_IOCTL1_GSTATE 3 |
|
#define | SNDRV_PCM_IOCTL1_FIFO_SIZE 4 |
|
#define | SNDRV_PCM_TRIGGER_STOP 0 |
|
#define | SNDRV_PCM_TRIGGER_START 1 |
|
#define | SNDRV_PCM_TRIGGER_PAUSE_PUSH 3 |
|
#define | SNDRV_PCM_TRIGGER_PAUSE_RELEASE 4 |
|
#define | SNDRV_PCM_TRIGGER_SUSPEND 5 |
|
#define | SNDRV_PCM_TRIGGER_RESUME 6 |
|
#define | SNDRV_PCM_POS_XRUN ((snd_pcm_uframes_t)-1) |
|
#define | SNDRV_PCM_RATE_5512 (1<<0) /* 5512Hz */ |
|
#define | SNDRV_PCM_RATE_8000 (1<<1) /* 8000Hz */ |
|
#define | SNDRV_PCM_RATE_11025 (1<<2) /* 11025Hz */ |
|
#define | SNDRV_PCM_RATE_16000 (1<<3) /* 16000Hz */ |
|
#define | SNDRV_PCM_RATE_22050 (1<<4) /* 22050Hz */ |
|
#define | SNDRV_PCM_RATE_32000 (1<<5) /* 32000Hz */ |
|
#define | SNDRV_PCM_RATE_44100 (1<<6) /* 44100Hz */ |
|
#define | SNDRV_PCM_RATE_48000 (1<<7) /* 48000Hz */ |
|
#define | SNDRV_PCM_RATE_64000 (1<<8) /* 64000Hz */ |
|
#define | SNDRV_PCM_RATE_88200 (1<<9) /* 88200Hz */ |
|
#define | SNDRV_PCM_RATE_96000 (1<<10) /* 96000Hz */ |
|
#define | SNDRV_PCM_RATE_176400 (1<<11) /* 176400Hz */ |
|
#define | SNDRV_PCM_RATE_192000 (1<<12) /* 192000Hz */ |
|
#define | SNDRV_PCM_RATE_CONTINUOUS (1<<30) /* continuous range */ |
|
#define | SNDRV_PCM_RATE_KNOT (1<<31) /* supports more non-continuos rates */ |
|
#define | SNDRV_PCM_RATE_8000_44100 |
|
#define | SNDRV_PCM_RATE_8000_48000 (SNDRV_PCM_RATE_8000_44100|SNDRV_PCM_RATE_48000) |
|
#define | SNDRV_PCM_RATE_8000_96000 |
|
#define | SNDRV_PCM_RATE_8000_192000 |
|
#define | _SNDRV_PCM_FMTBIT(fmt) (1ULL << (__force int)SNDRV_PCM_FORMAT_##fmt) |
|
#define | SNDRV_PCM_FMTBIT_S8 _SNDRV_PCM_FMTBIT(S8) |
|
#define | SNDRV_PCM_FMTBIT_U8 _SNDRV_PCM_FMTBIT(U8) |
|
#define | SNDRV_PCM_FMTBIT_S16_LE _SNDRV_PCM_FMTBIT(S16_LE) |
|
#define | SNDRV_PCM_FMTBIT_S16_BE _SNDRV_PCM_FMTBIT(S16_BE) |
|
#define | SNDRV_PCM_FMTBIT_U16_LE _SNDRV_PCM_FMTBIT(U16_LE) |
|
#define | SNDRV_PCM_FMTBIT_U16_BE _SNDRV_PCM_FMTBIT(U16_BE) |
|
#define | SNDRV_PCM_FMTBIT_S24_LE _SNDRV_PCM_FMTBIT(S24_LE) |
|
#define | SNDRV_PCM_FMTBIT_S24_BE _SNDRV_PCM_FMTBIT(S24_BE) |
|
#define | SNDRV_PCM_FMTBIT_U24_LE _SNDRV_PCM_FMTBIT(U24_LE) |
|
#define | SNDRV_PCM_FMTBIT_U24_BE _SNDRV_PCM_FMTBIT(U24_BE) |
|
#define | SNDRV_PCM_FMTBIT_S32_LE _SNDRV_PCM_FMTBIT(S32_LE) |
|
#define | SNDRV_PCM_FMTBIT_S32_BE _SNDRV_PCM_FMTBIT(S32_BE) |
|
#define | SNDRV_PCM_FMTBIT_U32_LE _SNDRV_PCM_FMTBIT(U32_LE) |
|
#define | SNDRV_PCM_FMTBIT_U32_BE _SNDRV_PCM_FMTBIT(U32_BE) |
|
#define | SNDRV_PCM_FMTBIT_FLOAT_LE _SNDRV_PCM_FMTBIT(FLOAT_LE) |
|
#define | SNDRV_PCM_FMTBIT_FLOAT_BE _SNDRV_PCM_FMTBIT(FLOAT_BE) |
|
#define | SNDRV_PCM_FMTBIT_FLOAT64_LE _SNDRV_PCM_FMTBIT(FLOAT64_LE) |
|
#define | SNDRV_PCM_FMTBIT_FLOAT64_BE _SNDRV_PCM_FMTBIT(FLOAT64_BE) |
|
#define | SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE _SNDRV_PCM_FMTBIT(IEC958_SUBFRAME_LE) |
|
#define | SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_BE _SNDRV_PCM_FMTBIT(IEC958_SUBFRAME_BE) |
|
#define | SNDRV_PCM_FMTBIT_MU_LAW _SNDRV_PCM_FMTBIT(MU_LAW) |
|
#define | SNDRV_PCM_FMTBIT_A_LAW _SNDRV_PCM_FMTBIT(A_LAW) |
|
#define | SNDRV_PCM_FMTBIT_IMA_ADPCM _SNDRV_PCM_FMTBIT(IMA_ADPCM) |
|
#define | SNDRV_PCM_FMTBIT_MPEG _SNDRV_PCM_FMTBIT(MPEG) |
|
#define | SNDRV_PCM_FMTBIT_GSM _SNDRV_PCM_FMTBIT(GSM) |
|
#define | SNDRV_PCM_FMTBIT_SPECIAL _SNDRV_PCM_FMTBIT(SPECIAL) |
|
#define | SNDRV_PCM_FMTBIT_S24_3LE _SNDRV_PCM_FMTBIT(S24_3LE) |
|
#define | SNDRV_PCM_FMTBIT_U24_3LE _SNDRV_PCM_FMTBIT(U24_3LE) |
|
#define | SNDRV_PCM_FMTBIT_S24_3BE _SNDRV_PCM_FMTBIT(S24_3BE) |
|
#define | SNDRV_PCM_FMTBIT_U24_3BE _SNDRV_PCM_FMTBIT(U24_3BE) |
|
#define | SNDRV_PCM_FMTBIT_S20_3LE _SNDRV_PCM_FMTBIT(S20_3LE) |
|
#define | SNDRV_PCM_FMTBIT_U20_3LE _SNDRV_PCM_FMTBIT(U20_3LE) |
|
#define | SNDRV_PCM_FMTBIT_S20_3BE _SNDRV_PCM_FMTBIT(S20_3BE) |
|
#define | SNDRV_PCM_FMTBIT_U20_3BE _SNDRV_PCM_FMTBIT(U20_3BE) |
|
#define | SNDRV_PCM_FMTBIT_S18_3LE _SNDRV_PCM_FMTBIT(S18_3LE) |
|
#define | SNDRV_PCM_FMTBIT_U18_3LE _SNDRV_PCM_FMTBIT(U18_3LE) |
|
#define | SNDRV_PCM_FMTBIT_S18_3BE _SNDRV_PCM_FMTBIT(S18_3BE) |
|
#define | SNDRV_PCM_FMTBIT_U18_3BE _SNDRV_PCM_FMTBIT(U18_3BE) |
|
#define | SNDRV_PCM_FMTBIT_G723_24 _SNDRV_PCM_FMTBIT(G723_24) |
|
#define | SNDRV_PCM_FMTBIT_G723_24_1B _SNDRV_PCM_FMTBIT(G723_24_1B) |
|
#define | SNDRV_PCM_FMTBIT_G723_40 _SNDRV_PCM_FMTBIT(G723_40) |
|
#define | SNDRV_PCM_FMTBIT_G723_40_1B _SNDRV_PCM_FMTBIT(G723_40_1B) |
|
#define | SUBSTREAM_BUSY(substream) ((substream)->ref_count > 0) |
|
#define | snd_pcm_stream_lock_irqsave(substream, flags) |
|
#define | snd_pcm_stream_unlock_irqrestore(substream, flags) |
|
#define | snd_pcm_group_for_each_entry(s, substream) list_for_each_entry(s, &substream->group->substreams, link_list) |
|
#define | params_channels(p) (hw_param_interval_c((p), SNDRV_PCM_HW_PARAM_CHANNELS)->min) |
|
#define | params_rate(p) (hw_param_interval_c((p), SNDRV_PCM_HW_PARAM_RATE)->min) |
|
#define | params_period_size(p) (hw_param_interval_c((p), SNDRV_PCM_HW_PARAM_PERIOD_SIZE)->min) |
|
#define | params_periods(p) (hw_param_interval_c((p), SNDRV_PCM_HW_PARAM_PERIODS)->min) |
|
#define | params_buffer_size(p) (hw_param_interval_c((p), SNDRV_PCM_HW_PARAM_BUFFER_SIZE)->min) |
|
#define | params_buffer_bytes(p) (hw_param_interval_c((p), SNDRV_PCM_HW_PARAM_BUFFER_BYTES)->min) |
|
#define | snd_pcm_format_cpu_endian(format) snd_pcm_format_big_endian(format) |
|
#define | snd_pcm_lib_alloc_vmalloc_buffer(subs, size) |
|
#define | snd_pcm_lib_alloc_vmalloc_32_buffer(subs, size) |
|
#define | snd_pcm_get_dma_buf(substream) ((substream)->runtime->dma_buffer_p) |
|
#define | snd_pcm_sgbuf_ops_page NULL |
|
#define | SNDRV_PCM_INFO_MMAP_IOMEM 0 |
|
#define | snd_pcm_lib_mmap_iomem NULL |
|
#define | snd_pcm_lib_mmap_vmalloc NULL |
|
#define | SNDRV_PCM_DEFAULT_CON_SPDIF |
|
#define | PCM_RUNTIME_CHECK(sub) snd_BUG_ON(!(sub) || !(sub)->runtime) |
|
#define | SND_PCM_CHMAP_MASK_24 ((1U << 2) | (1U << 4)) |
|
#define | SND_PCM_CHMAP_MASK_246 (SND_PCM_CHMAP_MASK_24 | (1U << 6)) |
|
#define | SND_PCM_CHMAP_MASK_2468 (SND_PCM_CHMAP_MASK_246 | (1U << 8)) |
|
|
int | snd_pcm_new (struct snd_card *card, const char *id, int device, int playback_count, int capture_count, struct snd_pcm **rpcm) |
|
int | snd_pcm_new_internal (struct snd_card *card, const char *id, int device, int playback_count, int capture_count, struct snd_pcm **rpcm) |
|
int | snd_pcm_new_stream (struct snd_pcm *pcm, int stream, int substream_count) |
|
int | snd_pcm_notify (struct snd_pcm_notify *notify, int nfree) |
|
int | snd_pcm_info (struct snd_pcm_substream *substream, struct snd_pcm_info *info) |
|
int | snd_pcm_info_user (struct snd_pcm_substream *substream, struct snd_pcm_info __user *info) |
|
int | snd_pcm_status (struct snd_pcm_substream *substream, struct snd_pcm_status *status) |
|
int | snd_pcm_start (struct snd_pcm_substream *substream) |
|
int | snd_pcm_stop (struct snd_pcm_substream *substream, snd_pcm_state_t status) |
|
int | snd_pcm_drain_done (struct snd_pcm_substream *substream) |
|
int | snd_pcm_kernel_ioctl (struct snd_pcm_substream *substream, unsigned int cmd, void *arg) |
|
int | snd_pcm_open_substream (struct snd_pcm *pcm, int stream, struct file *file, struct snd_pcm_substream **rsubstream) |
|
void | snd_pcm_release_substream (struct snd_pcm_substream *substream) |
|
int | snd_pcm_attach_substream (struct snd_pcm *pcm, int stream, struct file *file, struct snd_pcm_substream **rsubstream) |
|
void | snd_pcm_detach_substream (struct snd_pcm_substream *substream) |
|
void | snd_pcm_vma_notify_data (void *client, void *data) |
|
int | snd_pcm_mmap_data (struct snd_pcm_substream *substream, struct file *file, struct vm_area_struct *area) |
|
int | snd_interval_refine (struct snd_interval *i, const struct snd_interval *v) |
|
void | snd_interval_mul (const struct snd_interval *a, const struct snd_interval *b, struct snd_interval *c) |
|
void | snd_interval_div (const struct snd_interval *a, const struct snd_interval *b, struct snd_interval *c) |
|
void | snd_interval_muldivk (const struct snd_interval *a, const struct snd_interval *b, unsigned int k, struct snd_interval *c) |
|
void | snd_interval_mulkdiv (const struct snd_interval *a, unsigned int k, const struct snd_interval *b, struct snd_interval *c) |
|
int | snd_interval_list (struct snd_interval *i, unsigned int count, const unsigned int *list, unsigned int mask) |
|
int | snd_interval_ratnum (struct snd_interval *i, unsigned int rats_count, struct snd_ratnum *rats, unsigned int *nump, unsigned int *denp) |
|
void | _snd_pcm_hw_params_any (struct snd_pcm_hw_params *params) |
|
void | _snd_pcm_hw_param_setempty (struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var) |
|
int | snd_pcm_hw_params_choose (struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params) |
|
int | snd_pcm_hw_refine (struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params) |
|
int | snd_pcm_hw_constraints_init (struct snd_pcm_substream *substream) |
|
int | snd_pcm_hw_constraints_complete (struct snd_pcm_substream *substream) |
|
int | snd_pcm_hw_constraint_mask (struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, u_int32_t mask) |
|
int | snd_pcm_hw_constraint_mask64 (struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, u_int64_t mask) |
|
int | snd_pcm_hw_constraint_minmax (struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, unsigned int min, unsigned int max) |
|
int | snd_pcm_hw_constraint_integer (struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var) |
|
int | snd_pcm_hw_constraint_list (struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, const struct snd_pcm_hw_constraint_list *l) |
|
int | snd_pcm_hw_constraint_ratnums (struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, struct snd_pcm_hw_constraint_ratnums *r) |
|
int | snd_pcm_hw_constraint_ratdens (struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, struct snd_pcm_hw_constraint_ratdens *r) |
|
int | snd_pcm_hw_constraint_msbits (struct snd_pcm_runtime *runtime, unsigned int cond, unsigned int width, unsigned int msbits) |
|
int | snd_pcm_hw_constraint_step (struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, unsigned long step) |
|
int | snd_pcm_hw_constraint_pow2 (struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var) |
|
int | snd_pcm_hw_rule_noresample (struct snd_pcm_runtime *runtime, unsigned int base_rate) |
|
int | snd_pcm_hw_rule_add (struct snd_pcm_runtime *runtime, unsigned int cond, int var, snd_pcm_hw_rule_func_t func, void *private, int dep,...) |
|
int | snd_pcm_format_signed (snd_pcm_format_t format) |
|
int | snd_pcm_format_unsigned (snd_pcm_format_t format) |
|
int | snd_pcm_format_linear (snd_pcm_format_t format) |
|
int | snd_pcm_format_little_endian (snd_pcm_format_t format) |
|
int | snd_pcm_format_big_endian (snd_pcm_format_t format) |
|
int | snd_pcm_format_width (snd_pcm_format_t format) |
|
int | snd_pcm_format_physical_width (snd_pcm_format_t format) |
|
ssize_t | snd_pcm_format_size (snd_pcm_format_t format, size_t samples) |
|
const unsigned char * | snd_pcm_format_silence_64 (snd_pcm_format_t format) |
|
int | snd_pcm_format_set_silence (snd_pcm_format_t format, void *buf, unsigned int frames) |
|
snd_pcm_format_t | snd_pcm_build_linear_format (int width, int unsignd, int big_endian) |
|
void | snd_pcm_set_ops (struct snd_pcm *pcm, int direction, struct snd_pcm_ops *ops) |
|
void | snd_pcm_set_sync (struct snd_pcm_substream *substream) |
|
int | snd_pcm_lib_interleave_len (struct snd_pcm_substream *substream) |
|
int | snd_pcm_lib_ioctl (struct snd_pcm_substream *substream, unsigned int cmd, void *arg) |
|
int | snd_pcm_update_state (struct snd_pcm_substream *substream, struct snd_pcm_runtime *runtime) |
|
int | snd_pcm_update_hw_ptr (struct snd_pcm_substream *substream) |
|
int | snd_pcm_playback_xrun_check (struct snd_pcm_substream *substream) |
|
int | snd_pcm_capture_xrun_check (struct snd_pcm_substream *substream) |
|
int | snd_pcm_playback_xrun_asap (struct snd_pcm_substream *substream) |
|
int | snd_pcm_capture_xrun_asap (struct snd_pcm_substream *substream) |
|
void | snd_pcm_playback_silence (struct snd_pcm_substream *substream, snd_pcm_uframes_t new_hw_ptr) |
|
void | snd_pcm_period_elapsed (struct snd_pcm_substream *substream) |
|
snd_pcm_sframes_t | snd_pcm_lib_write (struct snd_pcm_substream *substream, const void __user *buf, snd_pcm_uframes_t frames) |
|
snd_pcm_sframes_t | snd_pcm_lib_read (struct snd_pcm_substream *substream, void __user *buf, snd_pcm_uframes_t frames) |
|
snd_pcm_sframes_t | snd_pcm_lib_writev (struct snd_pcm_substream *substream, void __user **bufs, snd_pcm_uframes_t frames) |
|
snd_pcm_sframes_t | snd_pcm_lib_readv (struct snd_pcm_substream *substream, void __user **bufs, snd_pcm_uframes_t frames) |
|
int | snd_pcm_limit_hw_rates (struct snd_pcm_runtime *runtime) |
|
unsigned int | snd_pcm_rate_to_rate_bit (unsigned int rate) |
|
unsigned int | snd_pcm_rate_bit_to_rate (unsigned int rate_bit) |
|
void | snd_pcm_timer_resolution_change (struct snd_pcm_substream *substream) |
|
void | snd_pcm_timer_init (struct snd_pcm_substream *substream) |
|
void | snd_pcm_timer_done (struct snd_pcm_substream *substream) |
|
int | snd_pcm_lib_preallocate_free (struct snd_pcm_substream *substream) |
|
int | snd_pcm_lib_preallocate_free_for_all (struct snd_pcm *pcm) |
|
int | snd_pcm_lib_preallocate_pages (struct snd_pcm_substream *substream, int type, struct device *data, size_t size, size_t max) |
|
int | snd_pcm_lib_preallocate_pages_for_all (struct snd_pcm *pcm, int type, void *data, size_t size, size_t max) |
|
int | snd_pcm_lib_malloc_pages (struct snd_pcm_substream *substream, size_t size) |
|
int | snd_pcm_lib_free_pages (struct snd_pcm_substream *substream) |
|
int | _snd_pcm_lib_alloc_vmalloc_buffer (struct snd_pcm_substream *substream, size_t size, gfp_t gfp_flags) |
|
int | snd_pcm_lib_free_vmalloc_buffer (struct snd_pcm_substream *substream) |
|
struct page * | snd_pcm_lib_get_vmalloc_page (struct snd_pcm_substream *substream, unsigned long offset) |
|
int | snd_pcm_lib_default_mmap (struct snd_pcm_substream *substream, struct vm_area_struct *area) |
|
const char * | snd_pcm_format_name (snd_pcm_format_t format) |
|
int | snd_pcm_add_chmap_ctls (struct snd_pcm *pcm, int stream, const struct snd_pcm_chmap_elem *chmap, int max_channels, unsigned long private_value, struct snd_pcm_chmap **info_ret) |
|
snd_interval_refine - refine the interval value of configurator : the interval value to refine : the interval value to refer to
Refines the interval value with the reference value. The interval is changed to the range satisfying both intervals. The interval status (min, max, integer, etc.) are evaluated.
Returns non-zero if the value is changed, zero if not changed.
Definition at line 630 of file pcm_lib.c.
snd_pcm_hw_param_choose - choose a configuration defined by : PCM instance : the hw_params instance
Choose one configuration from configuration space defined by . The configuration chosen is that obtained fixing in this order: first access, first format, first subformat, min channels, min rate, min period time, max buffer size, min tick time
Definition at line 1628 of file pcm_lib.c.
snd_pcm_lib_preallocate_pages - pre-allocation for the given DMA type : the pcm substream instance : DMA type (SNDRV_DMA_TYPE_*) : DMA type dependent data : the requested pre-allocation size in bytes : the max. allowed pre-allocation size
Do pre-allocation for the given DMA buffer type.
When substream->dma_buf_id is set, the function tries to look for the reserved buffer, and the buffer is not freed but reserved at destruction time. The dma_buf_id must be unique for all systems (in the same DMA buffer type) e.g. using snd_dma_pci_buf_id().
Returns zero if successful, or a negative error code on failure.
Definition at line 270 of file pcm_memory.c.
snd_pcm_new - create a new PCM instance : the card instance : the id string : the device index (zero based) : the number of substreams for playback : the number of substreams for capture : the pointer to store the new pcm instance
Creates a new PCM instance.
The pcm operators have to be set afterwards to the new instance via snd_pcm_set_ops().
Returns zero if successful, or a negative error code on failure.
Definition at line 764 of file pcm.c.
snd_pcm_new_internal - create a new internal PCM instance : the card instance : the id string : the device index (zero based - shared with normal PCMs) : the number of substreams for playback : the number of substreams for capture : the pointer to store the new pcm instance
Creates a new internal PCM instance with no userspace device or procfs entries. This is used by ASoC Back End PCMs in order to create a PCM that will only be used internally by kernel drivers. i.e. it cannot be opened by userspace. It provides existing ASoC components drivers with a substream and access to any private data.
The pcm operators have to be set afterwards to the new instance via snd_pcm_set_ops().
Returns zero if successful, or a negative error code on failure.
Definition at line 792 of file pcm.c.
snd_pcm_new_stream - create a new PCM stream : the pcm instance : the stream direction, SNDRV_PCM_STREAM_XXX : the number of substreams
Creates a new stream for the pcm. The corresponding stream on the pcm must have been empty before calling this, i.e. zero must be given to the argument of snd_pcm_new().
Returns zero if successful, or a negative error code on failure.
Definition at line 642 of file pcm.c.
snd_pcm_period_elapsed - update the pcm status for the next period : the pcm substream instance
This function is called from the interrupt handler when the PCM has processed the period size. It will update the current pointer, wake up sleepers, etc.
Even if more than one periods have elapsed since the last call, you have to call this only once.
Definition at line 1762 of file pcm_lib.c.