Lines Matching defs:chan

862 	panic("uaudio_get_child_index_by_chan: Invalid chan: %p\n", ch);
1326 struct uaudio_chan *chan, int dir)
1337 if (chan->num_alt <= 0)
1343 operation = chan->operation;
1347 chan->operation = CHAN_OP_NONE;
1357 usbd_transfer_unsetup(chan->xfer, UAUDIO_NCHANBUFS + 1);
1359 mtx_lock(chan->pcm_mtx);
1360 chan->cur_alt = CHAN_MAX_ALT;
1361 mtx_unlock(chan->pcm_mtx);
1368 err = usbd_set_alt_interface_index(sc->sc_udev, chan->iface_index, 0);
1377 usbd_transfer_unsetup(chan->xfer, UAUDIO_NCHANBUFS + 1);
1384 mtx_lock(chan->pcm_mtx);
1385 next_alt = chan->set_alt;
1386 mtx_unlock(chan->pcm_mtx);
1388 chan_alt = chan->usb_alt + next_alt;
1442 if (usbd_transfer_setup(sc->sc_udev, &chan_alt->iface_index, chan->xfer,
1443 chan_alt->usb_cfg, UAUDIO_NCHANBUFS + 1, chan, chan->pcm_mtx)) {
1458 fps_shift = usbd_xfer_get_fps_shift(chan->xfer[0]);
1465 chan->bytes_per_frame[0] =
1467 chan->bytes_per_frame[1] = howmany(chan_alt->sample_rate, fps) *
1471 chan->frames_per_second = fps;
1472 chan->sample_rem = chan_alt->sample_rate % fps;
1473 chan->sample_curr = 0;
1476 buf_size = (chan->bytes_per_frame[1] * frames);
1478 if (buf_size > (chan->end - chan->start)) {
1483 chan->intr_frames = frames;
1485 DPRINTF("fps=%d sample_rem=%d\n", (int)fps, (int)chan->sample_rem);
1487 if (chan->intr_frames == 0) {
1496 mtx_lock(chan->pcm_mtx);
1497 chan->cur_alt = next_alt;
1498 usbd_transfer_start(chan->xfer[0]);
1499 usbd_transfer_start(chan->xfer[1]);
1500 mtx_unlock(chan->pcm_mtx);
1503 usbd_transfer_unsetup(chan->xfer, UAUDIO_NCHANBUFS + 1);
1505 mtx_lock(chan->pcm_mtx);
1506 chan->cur_alt = CHAN_MAX_ALT;
1507 mtx_unlock(chan->pcm_mtx);
1687 uaudio_get_chan(struct uaudio_softc *sc, struct uaudio_chan *chan,
1692 for (i = 0; i != UAUDIO_MAX_CHILD; i++, chan++) {
1693 if (chan->num_alt == 0) {
1694 chan->iface_index = iface_index;
1695 return (chan);
1696 } else if (chan->iface_index == iface_index)
1697 return (chan);
1716 struct uaudio_chan *chan;
2009 chan = uaudio_get_chan(sc, (ep_dir == UE_DIR_OUT) ? &sc->sc_play_chan[0] :
2011 if (chan == NULL) {
2020 if (chan->num_alt == CHAN_MAX_ALT) {
2024 chan->set_alt = 0;
2025 chan->cur_alt = CHAN_MAX_ALT;
2027 chan_alt = &chan->usb_alt[chan->num_alt++];
2033 "bits = %d, format = %s, ep 0x%02x, chan %p\n", rate, channels,
2034 bit_resolution, p_fmt->description, ed1->bEndpointAddress, chan);
2085 chan->num_alt--;
2088 if (chan->num_alt > 1) {
2090 if (chan->pcm_format[0] != format) {
2092 chan->num_alt--;
2096 if (rate == chan->usb_alt[chan->num_alt - 2].sample_rate) {
2098 chan->num_alt--;
2102 chan->pcm_cap.fmtlist = chan->pcm_format;
2103 chan->pcm_cap.fmtlist[0] = format;
2109 if (rate < chan->pcm_cap.minspeed || chan->pcm_cap.minspeed == 0)
2110 chan->pcm_cap.minspeed = rate;
2111 if (rate > chan->pcm_cap.maxspeed || chan->pcm_cap.maxspeed == 0)
2112 chan->pcm_cap.maxspeed = rate;
2925 int chan = 0;
2937 for (chan = 0; chan != (int)pmc->nchan; chan++) {
2938 if (pmc->wValue[chan] != -1 &&
2939 pmc->wValue[chan] == hint) {
2940 temp = pmc->wData[chan];
2959 pmc->wData[chan] = temp;
2960 pmc->update[(chan / 8)] |= (1 << (chan % 8));
2989 int chan;
3005 for (chan = 0; chan < pmc->nchan; chan++) {
3009 pmc->name, n, chan);
3025 pmc->wValue[chan],
3196 int chan;
3206 for (chan = 0; chan < pmc->nchan; chan++)
3207 pmc->update[chan / 8] |= (1 << (chan % 8));
3642 uint8_t chan;
3660 for (chan = 1; chan < nchan; chan++) {
3661 DPRINTFN(10, "chan=%d mask=%x\n",
3662 chan, uaudio_mixer_feature_get_bmaControls(d, chan));
3664 cmask |= uaudio_mixer_feature_get_bmaControls(d, chan);
3781 uint8_t chan;
3799 for (chan = 1; chan < nchan; chan++)
3800 cmask |= UGETDW(d->bmaControls[chan]);
5225 uint8_t chan;
5245 chan = sc->sc_mixer_chan;
5249 update = ((mc->update[chan / 8] & (1 << (chan % 8))) &&
5250 (mc->wValue[chan] != -1));
5252 mc->update[chan / 8] &= ~(1 << (chan % 8));
5257 USETW(req.wValue, mc->wValue[chan]);
5272 buf[0] = (mc->wData[chan] & 0xFF);
5273 buf[1] = (mc->wData[chan] >> 8) & 0xFF;
5390 uint8_t chan, int val)
5394 mc->update[chan / 8] |= (1 << (chan % 8));
5395 mc->wData[chan] = val;
5480 int chan;
5486 for (chan = 0; chan < mc->nchan; chan++) {
5487 uaudio_mixer_ctl_set(sc, mc, chan,
5488 chan == 0 ? left : right);
5545 struct umidi_chan *chan = usbd_xfer_softc(xfer);
5576 sub = &chan->sub[cn];
5578 if ((cmd_len != 0) && (cn < chan->max_emb_jack) &&
5747 struct umidi_chan *chan = usbd_xfer_softc(xfer);
5772 start_cable = chan->curr_cable;
5780 sub = &chan->sub[chan->curr_cable];
5794 (unsigned int)chan->curr_cable);
5796 if (umidi_convert_to_usb(sub, chan->curr_cable, buf)) {
5806 if ((nframes >= UMIDI_TX_FRAMES) || (chan->single_command != 0))
5813 chan->curr_cable++;
5814 if (chan->curr_cable >= chan->max_emb_jack)
5815 chan->curr_cable = 0;
5817 if (chan->curr_cable == start_cable) {
5847 struct umidi_chan *chan = usb_fifo_softc(fifo);
5852 sub = &chan->sub[n];
5868 struct umidi_chan *chan = usb_fifo_softc(fifo);
5870 usbd_transfer_start(chan->xfer[UMIDI_RX_TRANSFER]);
5876 struct umidi_chan *chan = usb_fifo_softc(fifo);
5883 if (--(chan->read_open_refcount) == 0) {
5895 struct umidi_chan *chan = usb_fifo_softc(fifo);
5897 if (chan->xfer[UMIDI_TX_TRANSFER] == NULL) {
5905 usbd_transfer_start(chan->xfer[UMIDI_TX_TRANSFER]);
5912 struct umidi_chan *chan = usb_fifo_softc(fifo);
5919 if (--(chan->write_open_refcount) == 0) {
5921 usbd_transfer_stop(chan->xfer[UMIDI_TX_TRANSFER]);
5928 struct umidi_chan *chan = usb_fifo_softc(fifo);
5935 mtx_lock(&chan->mtx);
5936 chan->read_open_refcount++;
5938 mtx_unlock(&chan->mtx);
5945 mtx_lock(&chan->mtx);
5946 chan->write_open_refcount++;
5951 mtx_unlock(&chan->mtx);
5979 struct umidi_chan *chan = &sc->sc_midi_chan;
5981 mtx_init(&chan->mtx, "umidi lock", NULL, MTX_DEF | MTX_RECURSE);
6000 struct umidi_chan *chan = &sc->sc_midi_chan;
6007 chan->single_command = 1;
6010 chan->iface_index, chan->iface_alt_index);
6016 usbd_set_parent_iface(sc->sc_udev, chan->iface_index,
6019 error = usbd_transfer_setup(uaa->device, &chan->iface_index,
6020 chan->xfer, umidi_config, UMIDI_N_TRANSFER,
6021 chan, &chan->mtx);
6026 if (chan->xfer[UMIDI_TX_TRANSFER] == NULL &&
6027 chan->xfer[UMIDI_RX_TRANSFER] == NULL) {
6044 if (chan->xfer[UMIDI_TX_TRANSFER] != NULL &&
6045 usbd_xfer_maxp_was_clamped(chan->xfer[UMIDI_TX_TRANSFER]))
6046 chan->single_command = 1;
6048 if (chan->single_command != 0)
6051 if ((chan->max_emb_jack == 0) ||
6052 (chan->max_emb_jack > UMIDI_EMB_JACK_MAX)) {
6053 chan->max_emb_jack = UMIDI_EMB_JACK_MAX;
6056 for (n = 0; n < chan->max_emb_jack; n++) {
6058 sub = &chan->sub[n];
6060 error = usb_fifo_attach(sc->sc_udev, chan, &chan->mtx,
6062 chan->iface_index,
6069 mtx_lock(&chan->mtx);
6077 usbd_transfer_start(chan->xfer[UMIDI_RX_TRANSFER]);
6079 mtx_unlock(&chan->mtx);
6091 struct umidi_chan *chan = &sc->sc_midi_chan;
6095 usb_fifo_detach(&chan->sub[n].fifo);
6097 mtx_lock(&chan->mtx);
6099 usbd_transfer_stop(chan->xfer[UMIDI_RX_TRANSFER]);
6101 mtx_unlock(&chan->mtx);
6103 usbd_transfer_unsetup(chan->xfer, UMIDI_N_TRANSFER);
6105 mtx_destroy(&chan->mtx);