usb_ac_state_t
usb_ac_get_featureID(usb_ac_state_t *uacp, uchar_t dir,
usb_ac_feature_unit_check(usb_ac_state_t *uacp, uint_t featureID,
usb_ac_handle_descriptors(usb_ac_state_t *uacp)
usb_ac_setup_connections(usb_ac_state_t *uacp)
usb_ac_add_unit_descriptor(usb_ac_state_t *uacp, uchar_t *buffer,
static uint_t usb_ac_get_featureID(usb_ac_state_t *, uchar_t, uint_t,
usb_ac_alloc_unit(usb_ac_state_t *uacp, uint_t unit)
usb_ac_free_all_units(usb_ac_state_t *uacp)
static int usb_ac_handle_descriptors(usb_ac_state_t *);
static void usb_ac_add_unit_descriptor(usb_ac_state_t *, uchar_t *, size_t);
static void usb_ac_alloc_unit(usb_ac_state_t *, uint_t);
usb_ac_update_port(usb_ac_state_t *uacp, uint_t id,
static void usb_ac_free_all_units(usb_ac_state_t *);
static void usb_ac_setup_connections(usb_ac_state_t *);
static void usb_ac_map_termtype_to_port(usb_ac_state_t *, uint_t);
usb_ac_map_termtype_to_port(usb_ac_state_t *uacp, uint_t dir)
static int usb_ac_pwrlvl0(usb_ac_state_t *);
usb_ac_set_port(usb_ac_state_t *uacp, uint_t dir, uint_t port)
static int usb_ac_pwrlvl1(usb_ac_state_t *);
static int usb_ac_pwrlvl2(usb_ac_state_t *);
static int usb_ac_pwrlvl3(usb_ac_state_t *);
usb_ac_match_port(usb_ac_state_t *uacp, uint_t id,
static void usb_ac_create_pm_components(dev_info_t *, usb_ac_state_t *);
static void usb_ac_pm_busy_component(usb_ac_state_t *);
static void usb_ac_pm_idle_component(usb_ac_state_t *);
usb_ac_set_selector(usb_ac_state_t *uacp, uint_t id,
usb_ac_set_control(usb_ac_state_t *uacp, uint_t dir, uint_t search_target,
int (*func)(usb_ac_state_t *uacp, uint_t unit, uint_t dir,
static void usb_ac_restore_device_state(dev_info_t *, usb_ac_state_t *);
static int usb_ac_cleanup(dev_info_t *, usb_ac_state_t *);
static void usb_ac_serialize_access(usb_ac_state_t *);
usb_ac_traverse_all_units(usb_ac_state_t *uacp, uint_t dir,
int (*func)(usb_ac_state_t *uacp, uint_t unit, uint_t dir,
static void usb_ac_release_access(usb_ac_state_t *);
static void usb_ac_push_unit_id(usb_ac_state_t *, uint_t);
static void usb_ac_pop_unit_id(usb_ac_state_t *, uint_t);
static void usb_ac_show_traverse_path(usb_ac_state_t *);
static int usb_ac_check_path(usb_ac_state_t *, uint_t);
usb_ac_set_monitor_gain_control(usb_ac_state_t *uacp, uint_t dir,
int (*func)(usb_ac_state_t *uacp, uint_t unit, uint_t dir,
static uint_t usb_ac_traverse_connections(usb_ac_state_t *, uint_t, uint_t,
int (*func)(usb_ac_state_t *, uint_t, uint_t,
usb_ac_push_unit_id(usb_ac_state_t *uacp, uint_t unit)
usb_ac_pop_unit_id(usb_ac_state_t *uacp, uint_t unit)
static uint_t usb_ac_set_port(usb_ac_state_t *, uint_t, uint_t);
usb_ac_show_traverse_path(usb_ac_state_t *uacp)
static uint_t usb_ac_set_control(usb_ac_state_t *, uint_t, uint_t,
usb_ac_check_path(usb_ac_state_t *uacp, uint_t type)
int (*func)(usb_ac_state_t *, uint_t, uint_t,
usb_ac_traverse_connections(usb_ac_state_t *uacp, uint_t start_unit, uint_t dir,
int (*func)(usb_ac_state_t *uacp, uint_t unit, uint_t dir,
static uint_t usb_ac_set_monitor_gain_control(usb_ac_state_t *, uint_t,
int (*func)(usb_ac_state_t *, uint_t, uint_t,
static uint_t usb_ac_traverse_all_units(usb_ac_state_t *, uint_t, uint_t,
int (*func)(usb_ac_state_t *, uint_t, uint_t,
usb_ac_state_t *uacp = (usb_ac_state_t *)ddi_get_soft_state(
static int usb_ac_update_port(usb_ac_state_t *, uint_t,
static int usb_ac_set_selector(usb_ac_state_t *, uint_t,
usb_ac_state_t *uacp = (usb_ac_state_t *)ddi_get_soft_state(
static int usb_ac_feature_unit_check(usb_ac_state_t *, uint_t,
usb_ac_state_t *uacp = (usb_ac_state_t *)ddi_get_soft_state(
static int usb_ac_set_gain(usb_ac_state_t *, uint_t,
static int usb_ac_set_monitor_gain(usb_ac_state_t *, uint_t,
usb_ac_state_t *uacp = (usb_ac_state_t *)ddi_get_soft_state(
static int usb_ac_set_volume(usb_ac_state_t *, uint_t, short, int dir,
usb_ac_restore_device_state(dev_info_t *dip, usb_ac_state_t *uacp)
static int usb_ac_get_maxmin_volume(usb_ac_state_t *, uint_t, int, int,
static int usb_ac_send_as_cmd(usb_ac_state_t *, usb_audio_eng_t *,
static int usb_ac_set_format(usb_ac_state_t *, usb_audio_eng_t *);
static int usb_ac_do_setup(usb_ac_state_t *, usb_audio_eng_t *);
usb_ac_state_t *uacp = (usb_ac_state_t *)arg;
static int usb_ac_setup(usb_ac_state_t *, usb_audio_eng_t *);
static void usb_ac_teardown(usb_ac_state_t *, usb_audio_eng_t *);
usb_ac_restore_audio_state(usb_ac_state_t *uacp, int flag)
static int usb_ac_start_play(usb_ac_state_t *, usb_audio_eng_t *);
static int usb_ac_start_record(usb_ac_state_t *, usb_audio_eng_t *);
static void usb_ac_stop_record(usb_ac_state_t *, usb_audio_eng_t *);
static int usb_ac_restore_audio_state(usb_ac_state_t *, int);
static int usb_ac_ctrl_restore(usb_ac_state_t *);
usb_ac_setup(usb_ac_state_t *uacp, usb_audio_eng_t *engine)
usb_ac_do_setup(usb_ac_state_t *uacp, usb_audio_eng_t *engine)
static int usb_ac_mux_walk_siblings(usb_ac_state_t *);
static void usb_ac_print_reg_data(usb_ac_state_t *,
static int usb_ac_get_reg_data(usb_ac_state_t *, ldi_handle_t, int);
static int usb_ac_setup_plumbed(usb_ac_state_t *, int, int);
usb_ac_teardown(usb_ac_state_t *uacp, usb_audio_eng_t *engine)
static int usb_ac_mixer_registration(usb_ac_state_t *);
static void usb_ac_hold_siblings(usb_ac_state_t *);
static int usb_ac_online_siblings(usb_ac_state_t *);
static void usb_ac_rele_siblings(usb_ac_state_t *);
static int usb_ac_mux_plumbing(usb_ac_state_t *);
usb_ac_set_monitor_gain(usb_ac_state_t *uacp, uint_t unit,
static int usb_ac_mux_unplumbing(usb_ac_state_t *);
static int usb_ac_do_plumbing(usb_ac_state_t *);
static int usb_ac_do_unplumbing(usb_ac_state_t *);
usb_ac_set_gain(usb_ac_state_t *uacp, uint_t featureID,
static int usb_change_phy_vol(usb_ac_state_t *, int);
static void usb_restore_engine(usb_ac_state_t *);
usb_ac_set_format(usb_ac_state_t *uacp, usb_audio_eng_t *engine)
usb_ac_start_play(usb_ac_state_t *uacp, usb_audio_eng_t *engine)
usb_ac_stop_play(usb_ac_state_t *uacp, usb_audio_eng_t *engine)
usb_ac_start_record(usb_ac_state_t *uacp, usb_audio_eng_t *engine)
usb_ac_stop_record(usb_ac_state_t *uacp, usb_audio_eng_t *engine)
usb_ac_get_maxmin_volume(usb_ac_state_t *uacp, uint_t channel, int cmd,
static int usb_audio_register(usb_ac_state_t *);
usb_ac_set_volume(usb_ac_state_t *uacp, uint_t channel, short gain, int dir,
static int usb_audio_unregister(usb_ac_state_t *);
usb_ac_set_mute(usb_ac_state_t *uacp, uint_t featureID, uint_t dir,
usb_ac_send_as_cmd(usb_ac_state_t *uacp, usb_audio_eng_t *engine,
usb_ac_serialize_access(usb_ac_state_t *uacp)
usb_ac_release_access(usb_ac_state_t *uacp)
usb_ac_pm_busy_component(usb_ac_state_t *usb_ac_statep)
usb_ac_pm_idle_component(usb_ac_state_t *usb_ac_statep)
usb_ac_state_t *uacp = acp->acp_uacp;
usb_ac_state_t *uacp = acp->acp_uacp;
usb_ac_state_t *uacp = (usb_ac_state_t *)arg;
usb_ac_do_plumbing(usb_ac_state_t *uacp)
usb_ac_state_t *uacp = (usb_ac_state_t *)arg;
usb_ac_do_unplumbing(usb_ac_state_t *uacp)
sizeof (usb_ac_state_t), 1)) != DDI_SUCCESS) {
usb_ac_state_t *uacp = acp->acp_uacp;
usb_ac_mux_plumbing(usb_ac_state_t *uacp)
usb_ac_mux_unplumbing(usb_ac_state_t *uacp)
usb_ac_mux_walk_siblings(usb_ac_state_t *uacp)
usb_ac_state_t *uacp = NULL;
usb_ac_mixer_registration(usb_ac_state_t *uacp)
usb_ac_get_reg_data(usb_ac_state_t *uacp, ldi_handle_t drv_lh, int index)
usb_ac_setup_plumbed(usb_ac_state_t *uacp, int plb_idx, int str_idx)
usb_ac_print_reg_data(usb_ac_state_t *uacp,
usb_ac_online_siblings(usb_ac_state_t *uacp)
usb_ac_hold_siblings(usb_ac_state_t *uacp)
usb_ac_rele_siblings(usb_ac_state_t *uacp)
usb_restore_engine(usb_ac_state_t *statep)
uacp = (usb_ac_state_t *)ddi_get_soft_state(usb_ac_statep, instance);
usb_ac_rem_eng(usb_ac_state_t *statep, usb_audio_eng_t *engp)
usb_ac_add_eng(usb_ac_state_t *uacp, usb_ac_streams_info_t *asinfo)
usb_ac_ctrl_set_defaults(usb_ac_state_t *statep)
usb_ac_ctrl_restore(usb_ac_state_t *statep)
usb_ac_state_t *statep = ctrlp->statep;
usb_ac_state_t *statep = ctrlp->statep;
usb_ac_state_t *statep = ctrlp->statep;
usb_ac_state_t *statep = ctrlp->statep;
usb_ac_state_t *statep = ctrlp->statep;
usb_ac_state_t *statep = ctrlp->statep;
usb_audio_set_mute(usb_ac_state_t *statep, uint64_t cval)
usb_audio_ctrl_alloc(usb_ac_state_t *statep, uint32_t num, uint64_t val)
usb_ac_rem_controls(usb_ac_state_t *statep)
usb_ac_add_controls(usb_ac_state_t *statep)
usb_audio_unregister(usb_ac_state_t *statep)
usb_audio_register(usb_ac_state_t *statep)
usb_ac_state_t *statep = (usb_ac_state_t *)(handle);
usb_ac_state_t *statep = (usb_ac_state_t *)(handle);
usb_ac_state_t *statep = engp->statep;
usb_ac_state_t *statep = engp->statep;
int (*start)(usb_ac_state_t *, usb_audio_eng_t *);
usb_ac_state_t *statep = engp->statep;
usb_ac_state_t *statep = engp->statep;
void (*stop)(usb_ac_state_t *, usb_audio_eng_t *);
usb_change_phy_vol(usb_ac_state_t *statep, int value)
usb_ac_state_t *uacp;
usb_ac_cleanup(dev_info_t *dip, usb_ac_state_t *uacp)
usb_ac_state_t *uacp = ddi_get_soft_state(usb_ac_statep, inst);
usb_ac_state_t *uacp = ddi_get_soft_state(usb_ac_statep, inst);
usb_ac_state_t *uacp = plumb_infop->acp_uacp;
usb_ac_state_t *uacp;
usb_ac_pwrlvl0(usb_ac_state_t *uacp)
usb_ac_pwrlvl1(usb_ac_state_t *uacp)
usb_ac_pwrlvl2(usb_ac_state_t *uacp)
usb_ac_pwrlvl3(usb_ac_state_t *uacp)
usb_ac_create_pm_components(dev_info_t *dip, usb_ac_state_t *uacp)
usb_ac_state_t *statep;
_NOTE(MUTEX_PROTECTS_DATA(usb_ac_state_t::usb_ac_mutex, usb_ac_state_t))
_NOTE(MUTEX_PROTECTS_DATA(usb_ac_state_t::usb_ac_mutex, usb_ac_power_t))
_NOTE(MUTEX_PROTECTS_DATA(usb_ac_state_t::usb_ac_mutex, usb_ac_plumbed_t))
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_ac_state_t::usb_ac_dip))
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_ac_state_t::usb_ac_ser_acc))
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_ac_state_t::usb_ac_pm))
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_ac_state_t::usb_ac_instance))
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_ac_state_t::usb_ac_default_ph))
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_ac_state_t::usb_ac_log_handle))
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_ac_state_t::usb_ac_if_descr))
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_ac_state_t::usb_ac_dev_data))
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_ac_state_t::usb_ac_ifno))
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_ac_state_t::flags))
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_ac_state_t::usb_ac_input_ports))
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_ac_state_t::engines))
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_ac_state_t::usb_ac_audio_dev))
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_ac_state_t::controls))
int usb_audio_attach(usb_ac_state_t *);
void usb_ac_stop_play(usb_ac_state_t *, usb_audio_eng_t *);