Lines Matching refs:ep
334 alloc_pipe(struct umidi_endpoint *ep) in alloc_pipe() argument
336 struct umidi_softc *sc = ep->sc; in alloc_pipe()
339 DPRINTF(("%s: alloc_pipe %p\n", sc->sc_dev.dv_xname, ep)); in alloc_pipe()
340 SIMPLEQ_INIT(&ep->intrq); in alloc_pipe()
341 ep->pending = 0; in alloc_pipe()
342 ep->busy = 0; in alloc_pipe()
343 ep->used = 0; in alloc_pipe()
344 ep->xfer = usbd_alloc_xfer(sc->sc_udev); in alloc_pipe()
345 if (ep->xfer == NULL) in alloc_pipe()
347 ep->buffer = usbd_alloc_buffer(ep->xfer, ep->packetsize); in alloc_pipe()
348 if (ep->buffer == NULL) { in alloc_pipe()
349 usbd_free_xfer(ep->xfer); in alloc_pipe()
352 err = usbd_open_pipe(sc->sc_iface, ep->addr, 0, &ep->pipe); in alloc_pipe()
354 usbd_free_xfer(ep->xfer); in alloc_pipe()
361 free_pipe(struct umidi_endpoint *ep) in free_pipe() argument
363 DPRINTF(("%s: %s %p\n", ep->sc->sc_dev.dv_xname, __func__, ep)); in free_pipe()
364 usbd_close_pipe(ep->pipe); in free_pipe()
365 usbd_free_xfer(ep->xfer); in free_pipe()
379 struct umidi_endpoint *ep; in alloc_all_endpoints() local
393 ep = sc->sc_endpoints; in alloc_all_endpoints()
395 err = alloc_pipe(ep); in alloc_all_endpoints()
397 while(ep != sc->sc_endpoints) { in alloc_all_endpoints()
398 ep--; in alloc_all_endpoints()
399 free_pipe(ep); in alloc_all_endpoints()
407 ep++; in alloc_all_endpoints()
428 struct umidi_endpoint *ep; in alloc_all_endpoints_fixed_ep() local
450 ep = &sc->sc_out_ep[0]; in alloc_all_endpoints_fixed_ep()
454 fp->out_ep[i].ep); in alloc_all_endpoints_fixed_ep()
457 sc->sc_dev.dv_xname, fp->out_ep[i].ep)); in alloc_all_endpoints_fixed_ep()
463 sc->sc_dev.dv_xname, fp->out_ep[i].ep); in alloc_all_endpoints_fixed_ep()
466 ep->sc = sc; in alloc_all_endpoints_fixed_ep()
467 ep->packetsize = UGETW(epd->wMaxPacketSize); in alloc_all_endpoints_fixed_ep()
468 ep->addr = epd->bEndpointAddress; in alloc_all_endpoints_fixed_ep()
469 ep->num_jacks = fp->out_ep[i].num_jacks; in alloc_all_endpoints_fixed_ep()
471 ep->num_open = 0; in alloc_all_endpoints_fixed_ep()
472 memset(ep->jacks, 0, sizeof(ep->jacks)); in alloc_all_endpoints_fixed_ep()
473 ep++; in alloc_all_endpoints_fixed_ep()
475 ep = &sc->sc_in_ep[0]; in alloc_all_endpoints_fixed_ep()
479 fp->in_ep[i].ep); in alloc_all_endpoints_fixed_ep()
482 sc->sc_dev.dv_xname, fp->in_ep[i].ep)); in alloc_all_endpoints_fixed_ep()
488 sc->sc_dev.dv_xname, fp->in_ep[i].ep); in alloc_all_endpoints_fixed_ep()
491 ep->sc = sc; in alloc_all_endpoints_fixed_ep()
492 ep->addr = epd->bEndpointAddress; in alloc_all_endpoints_fixed_ep()
493 ep->packetsize = UGETW(epd->wMaxPacketSize); in alloc_all_endpoints_fixed_ep()
494 ep->num_jacks = fp->in_ep[i].num_jacks; in alloc_all_endpoints_fixed_ep()
496 ep->num_open = 0; in alloc_all_endpoints_fixed_ep()
497 memset(ep->jacks, 0, sizeof(ep->jacks)); in alloc_all_endpoints_fixed_ep()
498 ep++; in alloc_all_endpoints_fixed_ep()
707 struct umidi_endpoint *ep; in alloc_all_jacks() local
742 ep = &sc->sc_out_ep[0]; in alloc_all_jacks()
744 rjack = &ep->jacks[0]; in alloc_all_jacks()
745 for (j=0; j<ep->num_jacks; j++) { in alloc_all_jacks()
747 jack->endpoint = ep; in alloc_all_jacks()
751 ep++; in alloc_all_jacks()
754 ep = &sc->sc_in_ep[0]; in alloc_all_jacks()
756 rjack = &ep->jacks[0]; in alloc_all_jacks()
757 for (j=0; j<ep->num_jacks; j++) { in alloc_all_jacks()
759 jack->endpoint = ep; in alloc_all_jacks()
763 ep++; in alloc_all_jacks()
1025 dump_ep(struct umidi_endpoint *ep) in dump_ep() argument
1028 for (i=0; i<ep->num_jacks; i++) { in dump_ep()
1029 DPRINTFN(10, ("\t\tjack(%p):\n", ep->jacks[i])); in dump_ep()
1030 dump_jack(ep->jacks[i]); in dump_ep()
1078 start_input_transfer(struct umidi_endpoint *ep) in start_input_transfer() argument
1081 usbd_setup_xfer(ep->xfer, ep->pipe, in start_input_transfer()
1082 (void *)ep, in start_input_transfer()
1083 ep->buffer, ep->packetsize, in start_input_transfer()
1085 err = usbd_transfer(ep->xfer); in start_input_transfer()
1088 ep->sc->sc_dev.dv_xname, __func__, usbd_errstr(err))); in start_input_transfer()
1095 start_output_transfer(struct umidi_endpoint *ep) in start_output_transfer() argument
1098 usbd_setup_xfer(ep->xfer, ep->pipe, in start_output_transfer()
1099 (void *)ep, in start_output_transfer()
1100 ep->buffer, ep->used, in start_output_transfer()
1102 err = usbd_transfer(ep->xfer); in start_output_transfer()
1105 ep->sc->sc_dev.dv_xname, __func__, usbd_errstr(err))); in start_output_transfer()
1108 ep->used = ep->packetsize; in start_output_transfer()
1129 struct umidi_endpoint *ep = j->endpoint; in out_jack_output() local
1130 struct umidi_softc *sc = ep->sc; in out_jack_output()
1138 if (ep->busy) { in out_jack_output()
1140 SIMPLEQ_INSERT_TAIL(&ep->intrq, j, intrq_entry); in out_jack_output()
1141 ep->pending++; in out_jack_output()
1148 ep->buffer + ep->used)) { in out_jack_output()
1152 ep->used += UMIDI_PACKET_SIZE; in out_jack_output()
1153 if (ep->used == ep->packetsize) { in out_jack_output()
1154 ep->busy = 1; in out_jack_output()
1155 start_output_transfer(ep); in out_jack_output()
1164 struct umidi_endpoint *ep = j->endpoint; in out_jack_flush() local
1167 if (usbd_is_dying(ep->sc->sc_udev) || !j->opened) in out_jack_flush()
1171 if (ep->used != 0 && !ep->busy) { in out_jack_flush()
1172 ep->busy = 1; in out_jack_flush()
1173 start_output_transfer(ep); in out_jack_flush()
1184 struct umidi_endpoint *ep = (struct umidi_endpoint *)priv; in in_intr() local
1187 if (usbd_is_dying(ep->sc->sc_udev)) in in_intr()
1195 buf = ep->buffer; in in_intr()
1198 if (cn < ep->num_jacks && (jack = ep->jacks[cn]) && in in_intr()
1209 (void)start_input_transfer(ep); in in_intr()
1215 struct umidi_endpoint *ep = (struct umidi_endpoint *)priv; in out_intr() local
1216 struct umidi_softc *sc = ep->sc; in out_intr()
1223 ep->used = 0; in out_intr()
1224 ep->busy = 0; in out_intr()
1225 for (pending = ep->pending; pending > 0; pending--) { in out_intr()
1226 j = SIMPLEQ_FIRST(&ep->intrq); in out_intr()
1233 SIMPLEQ_REMOVE_HEAD(&ep->intrq, intrq_entry); in out_intr()
1234 ep->pending--; in out_intr()