Lines Matching refs:ub
318 struct ucom_buffer *ub;
332 for (ub = &sc->sc_ibuff[0]; ub != &sc->sc_ibuff[UCOM_IN_BUFFS];
333 ub++) {
336 &ub->ub_xfer);
339 ub->ub_data = usbd_get_buffer(ub->ub_xfer);
350 for (ub = &sc->sc_obuff[0]; ub != &sc->sc_obuff[UCOM_OUT_BUFFS];
351 ub++) {
353 sc->sc_obufsize, 0, 0, &ub->ub_xfer);
356 ub->ub_data = usbd_get_buffer(ub->ub_xfer);
357 SIMPLEQ_INSERT_TAIL(&sc->sc_obuff_free, ub, ub_link);
378 for (ub = &sc->sc_obuff[0]; ub != &sc->sc_obuff[UCOM_OUT_BUFFS];
379 ub++) {
380 if (ub->ub_xfer)
381 usbd_destroy_xfer(ub->ub_xfer);
387 for (ub = &sc->sc_ibuff[0]; ub != &sc->sc_ibuff[UCOM_IN_BUFFS];
388 ub++) {
389 if (ub->ub_xfer)
390 usbd_destroy_xfer(ub->ub_xfer);
659 struct ucom_buffer *ub = &sc->sc_ibuff[i];
660 error = ucomsubmitread(sc, ub);
1212 struct ucom_buffer *ub;
1233 ub = SIMPLEQ_FIRST(&sc->sc_obuff_free);
1234 if (ub == NULL) {
1249 ub->ub_data, data, &cnt);
1251 memcpy(ub->ub_data, data, cnt);
1253 ub->ub_len = cnt;
1254 ub->ub_index = 0;
1256 SIMPLEQ_INSERT_TAIL(&sc->sc_obuff_full, ub, ub_link);
1287 ucom_write_status(struct ucom_softc *sc, struct ucom_buffer *ub,
1291 uint32_t cc = ub->ub_len;
1297 ub->ub_index = ub->ub_len;
1300 ub->ub_index = 0;
1306 usbd_get_xfer_status(ub->ub_xfer, NULL, NULL, &cc, NULL);
1311 SIMPLEQ_INSERT_TAIL(&sc->sc_obuff_free, ub, ub_link);
1324 if ((ub = SIMPLEQ_FIRST(&sc->sc_obuff_full)) != NULL)
1325 ucom_submit_write(sc, ub);
1336 ucom_submit_write(struct ucom_softc *sc, struct ucom_buffer *ub)
1341 usbd_setup_xfer(ub->ub_xfer, sc, ub->ub_data, ub->ub_len,
1344 ucom_write_status(sc, ub, usbd_transfer(ub->ub_xfer));
1375 struct ucom_buffer *ub = SIMPLEQ_FIRST(&sc->sc_obuff_full);
1377 if (ub != NULL && ub->ub_index == 0)
1378 ucom_submit_write(sc, ub);
1390 struct ucom_buffer *ub;
1397 ub = SIMPLEQ_FIRST(&sc->sc_ibuff_full);
1399 while (ub != NULL && !sc->sc_rx_stopped) {
1402 while (ub->ub_index < ub->ub_len && !sc->sc_rx_stopped) {
1404 if ((*rint)(ub->ub_data[ub->ub_index], tp) == -1) {
1406 ub->ub_index = ub->ub_len;
1408 ub->ub_index++;
1411 if (ub->ub_index == ub->ub_len) {
1413 ucomsubmitread(sc, ub);
1414 ub = SIMPLEQ_FIRST(&sc->sc_ibuff_full);
1418 sc->sc_rx_unblock = (ub != NULL);
1422 ucomsubmitread(struct ucom_softc *sc, struct ucom_buffer *ub)
1428 usbd_setup_xfer(ub->ub_xfer, sc, ub->ub_data, sc->sc_ibufsize,
1431 if ((err = usbd_transfer(ub->ub_xfer)) != USBD_IN_PROGRESS) {
1438 SIMPLEQ_INSERT_TAIL(&sc->sc_ibuff_empty, ub, ub_link);
1447 struct ucom_buffer *ub;
1464 ub = SIMPLEQ_FIRST(&sc->sc_ibuff_empty);
1485 /* re-adds ub to sc_ibuff_empty */
1486 ucomsubmitread(sc, ub);
1499 KDASSERT(cp == ub->ub_data);
1505 /* re-adds ub to sc_ibuff_empty */
1506 ucomsubmitread(sc, ub);
1516 ub->ub_index = (u_int)(cp - ub->ub_data);
1518 ub->ub_index = 0;
1520 ub->ub_len = cc;
1523 SIMPLEQ_INSERT_TAIL(&sc->sc_ibuff_full, ub, ub_link);