FreeBSD kernel sound device code
|
Go to the source code of this file.
int uaudio_attach_sub | ( | device_t | dev, |
kobj_class_t | mixer_class, | ||
kobj_class_t | chan_class | ||
) |
Definition at line 1175 of file uaudio.c.
References dev, DPRINTF, uaudio_chan::feedback_rate, uaudio_softc_child::mix_info, mixer_hwvol_init(), mixer_init(), uaudio_softc_child::mixer_init, uaudio_chan::num_alt, pcm_addchan(), PCM_KLDSTRING, pcm_register(), uaudio_softc_child::pcm_registered, pcm_setstatus(), PCMDIR_PLAY, PCMDIR_REC, uaudio_chan::priv_sc, uaudio_softc::sc_child, uaudio_softc::sc_pcm_bitperfect, uaudio_softc::sc_play_chan, uaudio_softc::sc_rec_chan, uaudio_softc::sc_uq_audio_swap_lr, SD_F_BITPERFECT, SD_F_MPSAFE, SD_F_SOFTPCMVOL, SND_STATUSLEN, status, uaudio_detach_sub(), uaudio_get_child_index_by_dev(), uaudio_mixer_init(), uaudio_mixer_register_sysctl(), and uaudio_pcm_setflags().
Referenced by ua_attach().
int uaudio_chan_free | ( | struct uaudio_chan * | ch | ) |
Definition at line 2663 of file uaudio.c.
References uaudio_chan::buf, free, uaudio_chan::num_alt, UAUDIO_NCHANBUFS, usbd_transfer_unsetup(), and uaudio_chan::xfer.
Referenced by ua_chan_free(), and uaudio_chan_init().
struct pcmchan_caps * uaudio_chan_getcaps | ( | struct uaudio_chan * | ch | ) |
Definition at line 2725 of file uaudio.c.
References uaudio_chan::pcm_cap.
Referenced by ua_chan_getcaps().
struct pcmchan_matrix * uaudio_chan_getmatrix | ( | struct uaudio_chan * | ch, |
uint32_t | format | ||
) |
Definition at line 2762 of file uaudio.c.
References AFMT_CHANNEL, feeder_matrix_format_map(), format, uaudio_chan::priv_sc, uaudio_softc::sc_uq_audio_swap_lr, and uaudio_chan_matrix_swap_2_0.
Referenced by ua_chan_getmatrix().
int uaudio_chan_getptr | ( | struct uaudio_chan * | ch | ) |
Definition at line 2719 of file uaudio.c.
References uaudio_chan::cur, and uaudio_chan::start.
Referenced by ua_chan_getptr().
void * uaudio_chan_init | ( | struct uaudio_chan * | ch, |
struct snd_dbuf * | b, | ||
struct pcm_channel * | c, | ||
int | dir | ||
) |
Definition at line 2614 of file uaudio.c.
References b, uaudio_chan::buf, c, uaudio_chan::cur, DPRINTF, uaudio_chan::end, error, pcm_channel::lock, uaudio_chan::max_buf, uaudio_chan::num_alt, uaudio_chan::pcm_buf, uaudio_chan::pcm_ch, uaudio_chan::pcm_mtx, sndbuf_setup(), uaudio_chan::start, uaudio_chan_free(), and uaudio_get_buffer_size().
Referenced by ua_chan_init().
int uaudio_chan_set_param_blocksize | ( | struct uaudio_chan * | ch, |
uint32_t | blocksize | ||
) |
Definition at line 2677 of file uaudio.c.
References uaudio_chan::buf, uaudio_chan::pcm_buf, uaudio_chan::set_alt, sndbuf_setup(), and uaudio_get_buffer_size().
Referenced by ua_chan_setblocksize().
int uaudio_chan_set_param_format | ( | struct uaudio_chan * | ch, |
uint32_t | format | ||
) |
Definition at line 2776 of file uaudio.c.
References DPRINTF, and format.
Referenced by ua_chan_setformat().
int uaudio_chan_set_param_fragments | ( | struct uaudio_chan * | ch, |
uint32_t | blocksize, | ||
uint32_t | blockcount | ||
) |
Definition at line 2685 of file uaudio.c.
Referenced by ua_chan_setfragments().
int uaudio_chan_set_param_speed | ( | struct uaudio_chan * | ch, |
uint32_t | speed | ||
) |
Definition at line 2692 of file uaudio.c.
References DPRINTF, uaudio_chan::num_alt, uaudio_chan::priv_sc, uaudio_chan_alt::sample_rate, uaudio_softc::sc_udev, uaudio_chan::set_alt, speed, uaudio_chan::usb_alt, usb_proc_explore_lock(), and usb_proc_explore_unlock().
Referenced by ua_chan_setspeed().
void uaudio_chan_start | ( | struct uaudio_chan * | ch | ) |
Definition at line 2823 of file uaudio.c.
References uaudio_chan::buf, CHAN_OP_START, uaudio_chan::cur, uaudio_chan::end, uaudio_chan::priv_sc, uaudio_chan::running, uaudio_softc::sc_play_chan, uaudio_softc::sc_rec_chan, uaudio_softc::sc_udev, uaudio_chan::set_alt, uaudio_chan::start, uaudio_chan_need_both(), uaudio_chan_reconfigure(), uaudio_get_buffer_size(), uaudio_get_child_index_by_chan(), usb_proc_explore_lock(), and usb_proc_explore_unlock().
Referenced by ua_chan_trigger().
void uaudio_chan_stop | ( | struct uaudio_chan * | ch | ) |
Definition at line 2865 of file uaudio.c.
References CHAN_OP_STOP, uaudio_chan::priv_sc, uaudio_chan::running, uaudio_softc::sc_play_chan, uaudio_softc::sc_rec_chan, uaudio_softc::sc_udev, uaudio_chan_need_both(), uaudio_chan_need_none(), uaudio_chan_reconfigure(), uaudio_get_child_index_by_chan(), usb_proc_explore_lock(), and usb_proc_explore_unlock().
Referenced by ua_chan_trigger().
int uaudio_detach_sub | ( | device_t | dev | ) |
Definition at line 1246 of file uaudio.c.
References dev, error, uaudio_softc_child::mixer_init, mixer_uninit(), uaudio_softc_child::pcm_registered, pcm_unregister(), uaudio_softc::sc_child, uaudio_get_child_index_by_dev(), and usb_pause_mtx().
Referenced by ua_detach(), and uaudio_attach_sub().
int uaudio_get_product | ( | device_t | dev | ) |
int uaudio_get_release | ( | device_t | dev | ) |
int uaudio_get_vendor | ( | device_t | dev | ) |
int uaudio_mixer_init_sub | ( | struct uaudio_softc * | sc, |
struct snd_mixer * | m | ||
) |
Definition at line 5402 of file uaudio.c.
References DPRINTF, m, mix_get_dev(), uaudio_softc_child::mix_info, mix_setdevs(), mix_setparentchild(), mix_setrealdev(), mix_setrecdevs(), uaudio_softc_child::mixer_dev, mixer_get_lock(), uaudio_softc_child::mixer_lock, uaudio_chan::num_alt, uaudio_softc_child::recsrc_info, uaudio_softc::sc_child, uaudio_softc::sc_mixer_iface_index, uaudio_softc::sc_mixer_xfer, uaudio_softc::sc_play_chan, uaudio_softc::sc_udev, uaudio_get_child_index_by_dev(), uaudio_mixer_config, and usbd_transfer_setup().
Referenced by ua_mixer_init().
void uaudio_mixer_set | ( | struct uaudio_softc * | sc, |
struct snd_mixer * | m, | ||
unsigned | type, | ||
unsigned | left, | ||
unsigned | right | ||
) |
Definition at line 5445 of file uaudio.c.
References chan, uaudio_mixer_node::ctl, index, left, m, mix_get_dev(), uaudio_mixer_node::nchan, uaudio_mixer_node::next, right, uaudio_softc::sc_mixer_root, type, uaudio_get_child_index_by_dev(), and uaudio_mixer_ctl_set().
Referenced by ua_mixer_set().
uint32_t uaudio_mixer_setrecsrc | ( | struct uaudio_softc * | sc, |
struct snd_mixer * | m, | ||
uint32_t | src | ||
) |
Definition at line 5465 of file uaudio.c.
References uaudio_mixer_node::ctl, index, m, mask, uaudio_mixer_node::maxval, uaudio_mixer_node::minval, mix_get_dev(), MIX_SELECTOR, uaudio_mixer_node::next, uaudio_softc::sc_mixer_root, uaudio_mixer_node::slctrtype, src, uaudio_mixer_node::type, uaudio_get_child_index_by_dev(), and uaudio_mixer_ctl_set().
Referenced by ua_mixer_setrecsrc().
int uaudio_mixer_uninit_sub | ( | struct uaudio_softc * | sc, |
struct snd_mixer * | m | ||
) |
Definition at line 5430 of file uaudio.c.
References DPRINTF, index, m, mix_get_dev(), uaudio_softc_child::mixer_lock, uaudio_softc::sc_child, uaudio_softc::sc_mixer_xfer, uaudio_get_child_index_by_dev(), and usbd_transfer_unsetup().
Referenced by ua_mixer_uninit().