Chapter 5. Sound Devices

Table of Contents

snd_printk — printk wrapper
snd_printd — debug printk
snd_BUG — give a BUG warning message and stack trace
snd_printd_ratelimit
snd_BUG_ON — debugging check macro
snd_printdd — debug printk
register_sound_special_device — register a special sound node
register_sound_mixer — register a mixer device
register_sound_midi — register a midi device
register_sound_dsp — register a DSP device
unregister_sound_special — unregister a special sound device
unregister_sound_mixer — unregister a mixer
unregister_sound_midi — unregister a midi device
unregister_sound_dsp — unregister a DSP device
snd_pcm_stream_linked — Check whether the substream is linked with others
snd_pcm_stream_lock_irqsave — Lock the PCM stream
snd_pcm_group_for_each_entry — iterate over the linked substreams
snd_pcm_running — Check whether the substream is in a running state
bytes_to_samples — Unit conversion of the size from bytes to samples
bytes_to_frames — Unit conversion of the size from bytes to frames
samples_to_bytes — Unit conversion of the size from samples to bytes
frames_to_bytes — Unit conversion of the size from frames to bytes
frame_aligned — Check whether the byte size is aligned to frames
snd_pcm_lib_buffer_bytes — Get the buffer size of the current PCM in bytes
snd_pcm_lib_period_bytes — Get the period size of the current PCM in bytes
snd_pcm_playback_avail — Get the available (writable) space for playback
snd_pcm_capture_avail — Get the available (readable) space for capture
snd_pcm_playback_hw_avail — Get the queued space for playback
snd_pcm_capture_hw_avail — Get the free space for capture
snd_pcm_playback_ready — check whether the playback buffer is available
snd_pcm_capture_ready — check whether the capture buffer is available
snd_pcm_playback_data — check whether any data exists on the playback buffer
snd_pcm_playback_empty — check whether the playback buffer is empty
snd_pcm_capture_empty — check whether the capture buffer is empty
snd_pcm_trigger_done — Mark the master substream
params_channels — Get the number of channels from the hw params
params_rate — Get the sample rate from the hw params
params_period_size — Get the period size (in frames) from the hw params
params_periods — Get the number of periods from the hw params
params_buffer_size — Get the buffer size (in frames) from the hw params
params_buffer_bytes — Get the buffer size (in bytes) from the hw params
snd_pcm_hw_constraint_single — Constrain parameter to a single value
snd_pcm_format_cpu_endian — Check the PCM format is CPU-endian
snd_pcm_set_runtime_buffer — Set the PCM runtime buffer
snd_pcm_gettime — Fill the timespec depending on the timestamp mode
snd_pcm_lib_alloc_vmalloc_buffer — allocate virtual DMA buffer
snd_pcm_lib_alloc_vmalloc_32_buffer — allocate 32-bit-addressable buffer
snd_pcm_sgbuf_get_addr — Get the DMA address at the corresponding offset
snd_pcm_sgbuf_get_ptr — Get the virtual address at the corresponding offset
snd_pcm_sgbuf_get_chunk_size — Compute the max size that fits within the contig. page from the given size
snd_pcm_mmap_data_open — increase the mmap counter
snd_pcm_mmap_data_close — decrease the mmap counter
snd_pcm_limit_isa_dma_size — Get the max size fitting with ISA DMA transfer
snd_pcm_stream_str — Get a string naming the direction of a stream
snd_pcm_chmap_substream — get the PCM substream assigned to the given chmap info
pcm_format_to_bits — Strong-typed conversion of pcm_format to bitwise
snd_pcm_format_name — Return a name string for the given PCM format
snd_pcm_new_stream — create a new PCM stream
snd_pcm_new — create a new PCM instance
snd_pcm_new_internal — create a new internal PCM instance
snd_pcm_notify — Add/remove the notify list
snd_device_new — create an ALSA device component
snd_device_disconnect — disconnect the device
snd_device_free — release the device from the card
snd_device_register — register the device
snd_info_get_line — read one line from the procfs buffer
snd_info_get_str — parse a string token
snd_info_create_module_entry — create an info entry for the given module
snd_info_create_card_entry — create an info entry for the given card
snd_info_free_entry — release the info entry
snd_info_register — register the info entry
snd_rawmidi_receive — receive the input data from the device
snd_rawmidi_transmit_empty — check whether the output buffer is empty
__snd_rawmidi_transmit_peek — copy data from the internal buffer
snd_rawmidi_transmit_peek — copy data from the internal buffer
__snd_rawmidi_transmit_ack — acknowledge the transmission
snd_rawmidi_transmit_ack — acknowledge the transmission
snd_rawmidi_transmit — copy from the buffer to the device
snd_rawmidi_new — create a rawmidi instance
snd_rawmidi_set_ops — set the rawmidi operators
snd_request_card — try to load the card module
snd_lookup_minor_data — get user data of a registered device
snd_register_device — Register the ALSA device file for the card
snd_unregister_device — unregister the device on the given card
copy_to_user_fromio — copy data from mmio-space to user-space
copy_from_user_toio — copy data from user-space to mmio-space
snd_pcm_lib_preallocate_free_for_all — release all pre-allocated buffers on the pcm
snd_pcm_lib_preallocate_pages — pre-allocation for the given DMA type
snd_pcm_lib_preallocate_pages_for_all — pre-allocation for continuous memory type (all substreams)
snd_pcm_sgbuf_ops_page — get the page struct at the given offset
snd_pcm_lib_malloc_pages — allocate the DMA buffer
snd_pcm_lib_free_pages — release the allocated DMA buffer.
snd_pcm_lib_free_vmalloc_buffer — free vmalloc buffer
snd_pcm_lib_get_vmalloc_page — map vmalloc buffer offset to page struct
snd_device_initialize — Initialize struct device for sound devices
snd_card_new — create and initialize a soundcard structure
snd_card_disconnect — disconnect all APIs from the file-operations (user space)
snd_card_free_when_closed — Disconnect the card, free it later eventually
snd_card_free — frees given soundcard structure
snd_card_set_id — set card identification name
snd_card_add_dev_attr — Append a new sysfs attribute group to card
snd_card_register — register the soundcard
snd_component_add — add a component string
snd_card_file_add — add the file to the file list of the card
snd_card_file_remove — remove the file from the file list
snd_power_wait — wait until the power-state is changed.
snd_dma_program — program an ISA DMA transfer
snd_dma_disable — stop the ISA DMA transfer
snd_dma_pointer — return the current pointer to DMA transfer buffer in bytes
snd_ctl_notify — Send notification to user-space for a control change
snd_ctl_new1 — create a control instance from the template
snd_ctl_free_one — release the control instance
snd_ctl_add — add the control instance to the card
snd_ctl_replace — replace the control instance of the card
snd_ctl_remove — remove the control from the card and release it
snd_ctl_remove_id — remove the control of the given id and release it
snd_ctl_activate_id — activate/inactivate the control of the given id
snd_ctl_rename_id — replace the id of a control on the card
snd_ctl_find_numid — find the control instance with the given number-id
snd_ctl_find_id — find the control instance with the given id
snd_ctl_register_ioctl — register the device-specific control-ioctls
snd_ctl_register_ioctl_compat — register the device-specific 32bit compat control-ioctls
snd_ctl_unregister_ioctl — de-register the device-specific control-ioctls
snd_ctl_unregister_ioctl_compat — de-register the device-specific compat 32bit control-ioctls
snd_ctl_boolean_mono_info — Helper function for a standard boolean info callback with a mono channel
snd_ctl_boolean_stereo_info — Helper function for a standard boolean info callback with stereo two channels
snd_ctl_enum_info — fills the info structure for an enumerated control
snd_pcm_set_ops — set the PCM operators
snd_pcm_set_sync — set the PCM sync id
snd_interval_refine — refine the interval value of configurator
snd_interval_ratnum — refine the interval value
snd_interval_list — refine the interval value from the list
snd_interval_ranges — refine the interval value from the list of ranges
snd_pcm_hw_rule_add — add the hw-constraint rule
snd_pcm_hw_constraint_mask64 — apply the given bitmap mask constraint
snd_pcm_hw_constraint_integer — apply an integer constraint to an interval
snd_pcm_hw_constraint_minmax — apply a min/max range constraint to an interval
snd_pcm_hw_constraint_list — apply a list of constraints to a parameter
snd_pcm_hw_constraint_ranges — apply list of range constraints to a parameter
snd_pcm_hw_constraint_ratnums — apply ratnums constraint to a parameter
snd_pcm_hw_constraint_ratdens — apply ratdens constraint to a parameter
snd_pcm_hw_constraint_msbits — add a hw constraint msbits rule
snd_pcm_hw_constraint_step — add a hw constraint step rule
snd_pcm_hw_constraint_pow2 — add a hw constraint power-of-2 rule
snd_pcm_hw_rule_noresample — add a rule to allow disabling hw resampling
snd_pcm_hw_param_value — return params field var value
snd_pcm_hw_param_first — refine config space and return minimum value
snd_pcm_hw_param_last — refine config space and return maximum value
snd_pcm_lib_ioctl — a generic PCM ioctl callback
snd_pcm_period_elapsed — update the pcm status for the next period
snd_pcm_add_chmap_ctls — create channel-mapping control elements
snd_hwdep_new — create a new hwdep instance
snd_pcm_stream_lock — Lock the PCM stream
snd_pcm_stream_unlock — Unlock the PCM stream
snd_pcm_stream_lock_irq — Lock the PCM stream
snd_pcm_stream_unlock_irq — Unlock the PCM stream
snd_pcm_stream_unlock_irqrestore — Unlock the PCM stream
snd_pcm_stop — try to stop all running streams in the substream group
snd_pcm_stop_xrun — stop the running streams as XRUN
snd_pcm_suspend — trigger SUSPEND to all linked streams
snd_pcm_suspend_all — trigger SUSPEND to all substreams in the given pcm
snd_pcm_lib_default_mmap — Default PCM data mmap function
snd_pcm_lib_mmap_iomem — Default PCM data mmap function for I/O mem
snd_malloc_pages — allocate pages with the given size
snd_free_pages — release the pages
snd_dma_alloc_pages — allocate the buffer area according to the given type
snd_dma_alloc_pages_fallback — allocate the buffer area according to the given type with fallback
snd_dma_free_pages — release the allocated buffer