sc_codec
sc->sc_codec->vtbl->unlock(sc->sc_codec);
sc->sc_codec = codec;
sc->sc_codec->vtbl->lock(sc->sc_codec);
sc->sc_codec->vtbl->unlock(sc->sc_codec);
return sc->sc_codec->vtbl->mixer_set_port(sc->sc_codec, mc);
return sc->sc_codec->vtbl->mixer_get_port(sc->sc_codec, mc);
return sc->sc_codec->vtbl->query_devinfo(sc->sc_codec, di);
struct ac97_codec_if *sc_codec;
hdaudio_command(sc->sc_codec, sc->sc_nid,
hdaudio_command(sc->sc_codec, nid,
wcap = hdaudio_command(sc->sc_codec, nid, CORB_GET_PARAMETER,
hdaudio_command((sc)->sc_codec, (sc)->sc_nid, \
hdaudio_command((w)->w_afg->sc_codec, (w)->w_nid, \
hdaudio_command(sc->sc_codec, ctl->ctl_widget->w_nid,
hdaudio_command(sc->sc_codec, ctl->ctl_widget->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
struct hdaudio_codec *sc_codec;
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, sc->sc_nid,
hdaudio_command(sc->sc_codec, sc->sc_nid,
hdaudio_command(sc->sc_codec, sc->sc_nid,
res = hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
dfmt = hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
res |= hdaudio_command(sc->sc_codec, as[i].as_pins[j],
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
sc->sc_codec = sc->sc_fg->fg_codec;
KASSERT(sc->sc_codec != NULL);
sc->sc_host = sc->sc_codec->co_host;
hdaudio_command(sc->sc_codec, sc->sc_nid,
hdaudio_command(sc->sc_codec, nid,
dfmt = hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
config = hdaudio_command(sc->sc_codec, w->w_nid,
response = hdaudio_command(sc->sc_codec, nid,
hdaudio_command(sc->sc_codec, nid, HDAFG_SET_ANACTRL,
response = hdaudio_command(sc->sc_codec, nid,
res = hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
hdaudio_command(sc->sc_codec, w->w_nid,
return hdaudio_command(sc->sc_codec, w->w_nid,
w->w_pin.biosconfig = hdaudio_command(sc->sc_codec, w->w_nid,
w->w_pin.ctrl = hdaudio_command(sc->sc_codec, w->w_nid,
w->w_p.eapdbtl = hdaudio_command(sc->sc_codec, w->w_nid,
(*cmd)(sc->sc_codec, as->as_pins[pin],
res = (*cmd)(sc->sc_codec, as->as_pins[pin],
res = (*cmd)(sc->sc_codec, as->as_pins[pin],
res = (*cmd)(sc->sc_codec, as->as_pins[pin],
sc->sc_codec[i].co_addr = i;
sc->sc_codec[i].co_host = sc;
co = &sc->sc_codec[codecid];
co = &sc->sc_codec[codecid];
sc->sc_codec[codecid].co_valid = true;
co = &sc->sc_codec[codecid];
if (sc->sc_codec[codecid].co_valid == false) {
hdaudio_codec_attach(&sc->sc_codec[i]);
co = &sc->sc_codec[codec];
co = &sc->sc_codec[codec];
struct hdaudio_codec sc_codec[HDAUDIO_MAX_CODECS];
HAS_CODEC(sc) ? (void *)&sc->sc_codec : (void *)sc, sc->sc_dev);
ad1848_open(&sc->sc_codec.sc_ad1848, flags);
sc->sc_codec.sc_ad1848.mute[AD1848_AUX1_CHANNEL] = 0;
ad1848_mute_channel(&sc->sc_codec.sc_ad1848,
sc->sc_codec.sc_ad1848.mute[AD1848_MONO_CHANNEL] = 0;
ad1848_mute_channel(&sc->sc_codec.sc_ad1848,
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
mutex_spin_enter(&sc->sc_codec.sc_ad1848.sc_intr_lock);
retval = ad1848_isa_intr(&sc->sc_codec);
mutex_spin_exit(&sc->sc_codec.sc_ad1848.sc_intr_lock);
mutex_spin_enter(&sc->sc_codec.sc_ad1848.sc_intr_lock);
mutex_spin_exit(&sc->sc_codec.sc_ad1848.sc_intr_lock);
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
mutex_spin_enter(&sc->sc_codec.sc_ad1848.sc_intr_lock);
mutex_spin_exit(&sc->sc_codec.sc_ad1848.sc_intr_lock);
mutex_spin_enter(&sc->sc_codec.sc_ad1848.sc_intr_lock);
mutex_spin_exit(&sc->sc_codec.sc_ad1848.sc_intr_lock);
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
sc->sc_codec.sc_ad1848.sc_iot = sc->sc_iot;
sc->sc_codec.sc_iobase = port+GUS_MAX_CODEC_BASE;
if (ad1848_isa_mapprobe(&sc->sc_codec, sc->sc_codec.sc_iobase) == 0) {
sc->sc_codec.sc_ad1848.parent = sc;
sc->sc_codec.sc_playdrq = sc->sc_recdrq;
sc->sc_codec.sc_play_maxsize = sc->sc_req_maxsize;
sc->sc_codec.sc_recdrq = sc->sc_playdrq;
sc->sc_codec.sc_rec_maxsize = sc->sc_play_maxsize;
ad1848_isa_attach(&sc->sc_codec);
ad1848_set_mic_gain(&sc->sc_codec.sc_ad1848, &vol);
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
KASSERT(mutex_owned(&sc->sc_codec.sc_ad1848.sc_intr_lock));
ad1848_init_locks(&sc->sc_codec.sc_ad1848, IPL_AUDIO);
sc->sc_lock = sc->sc_codec.sc_ad1848.sc_lock;
sc->sc_intr_lock = sc->sc_codec.sc_ad1848.sc_intr_lock;
mutex_spin_enter(&sc->sc_codec.sc_ad1848.sc_intr_lock);
mutex_spin_exit(&sc->sc_codec.sc_ad1848.sc_intr_lock);
ad1848_destroy_locks(&sc->sc_codec.sc_ad1848);
ad1848_destroy_locks(&sc->sc_codec.sc_ad1848);
ad1848_destroy_locks(&sc->sc_codec.sc_ad1848);
ad1848_destroy_locks(&sc->sc_codec.sc_ad1848);
sc->sc_codec.sc_ic = sc->sc_ic;
codec = &sc->sc_codec[0];
codec = &sc->sc_codec[codec_nr];
codec = &sc->sc_codec[codec_nr];
if (ac97_attach(&sc->sc_codec[0].host_if, sc->sc_dev,
if (ac97_attach(&sc->sc_codec[1].host_if, sc->sc_dev,
if (ac97_attach(&sc->sc_codec[2].host_if, sc->sc_dev,
(sc->sc_codec[0].codec_if->vtbl->restore_ports)(sc->sc_codec[0].codec_if);
struct auixp_codec sc_codec[ATI_IXP_CODECS];
codec = &sc->sc_codec;
(sc->sc_codec.codec_if->vtbl->restore_ports)(sc->sc_codec.codec_if);
return sc->sc_codec.codec_if->vtbl->mixer_set_port(
sc->sc_codec.codec_if, cp);
return sc->sc_codec.codec_if->vtbl->mixer_get_port(
sc->sc_codec.codec_if, cp);
return sc->sc_codec.codec_if->vtbl->query_devinfo(
sc->sc_codec.codec_if, dip);
struct autri_codec_softc sc_codec;
return sc->sc_codec[0].codec_if->vtbl->mixer_set_port(
sc->sc_codec[0].codec_if, cp);
return sc->sc_codec[0].codec_if->vtbl->mixer_get_port(
sc->sc_codec[0].codec_if, cp);
return sc->sc_codec[0].codec_if->vtbl->query_devinfo(
sc->sc_codec[0].codec_if, dip);
sc->sc_codec[0].codec_if->vtbl->restore_ports(sc->sc_codec[0].codec_if);
codec = &sc->sc_codec[i];
struct yds_codec_softc sc_codec[2]; /* Primary/Secondary AC97 */