Lines Matching defs:vq
439 vioif_notify(struct virtio_softc *vsc, struct virtqueue *vq)
442 virtio_enqueue_commit(vsc, vq, -1, true);
916 /* no ctrl vq; always promisc and allmulti */
1136 * ctrlq_cmd: command to be sent via ctrl vq (WRITE)
1137 * ctrlq_status: return value for a command via ctrl vq (READ)
1310 /* control vq class & command */
1323 /* control vq rx mode command parameter */
1337 /* control vq MAC filter table for unicast */
1346 /* control vq MAC filter table for multicast */
1354 /* control vq MAC address set command */
1455 struct virtqueue *vq;
1465 vq = &sc->sc_vqs[qid];
1478 virtio_init_vq(vsc, vq, qid, params[dir].intrhand, netq);
1480 r = virtio_alloc_vq(vsc, vq,
1485 netq->netq_vq = vq;
1516 txc->txc_intrq = pcq_create(vq->vq_num, KM_SLEEP);
1543 virtio_free_vq(vsc, vq);
1628 vioif_net_enqueue(struct virtio_softc *vsc, struct virtqueue *vq,
1636 r = virtio_enqueue_reserve(vsc, vq, slot,
1648 virtio_enqueue(vsc, vq, slot, map->vnm_hdr_map, is_write);
1649 virtio_enqueue(vsc, vq, slot, map->vnm_mbuf_map, is_write);
1650 virtio_enqueue_commit(vsc, vq, slot, false);
1656 vioif_net_enqueue_tx(struct virtio_softc *vsc, struct virtqueue *vq,
1660 return vioif_net_enqueue(vsc, vq, slot, map,
1665 vioif_net_enqueue_rx(struct virtio_softc *vsc, struct virtqueue *vq,
1669 return vioif_net_enqueue(vsc, vq, slot, map,
1674 vioif_net_dequeue_commit(struct virtio_softc *vsc, struct virtqueue *vq,
1689 virtio_dequeue_commit(vsc, vq, slot);
1741 struct virtqueue *vq = netq->netq_vq;
1742 struct virtio_softc *vsc = vq->vq_owner;
1752 for (i = 0; i < vq->vq_num; i++) {
1754 r = virtio_enqueue_prep(vsc, vq, &slot);
1762 virtio_enqueue_abort(vsc, vq, slot);
1769 virtio_enqueue_abort(vsc, vq, slot);
1781 virtio_enqueue_abort(vsc, vq, slot);
1787 r = vioif_net_enqueue_rx(vsc, vq, slot, map);
1800 vioif_notify(vsc, vq);
1808 struct virtqueue *vq = netq->netq_vq;
1821 if (virtio_vq_is_enqueued(vsc, vq) == false)
1830 if (virtio_dequeue(vsc, vq, &slot, &len) != 0)
1835 m = vioif_net_dequeue_commit(vsc, vq, slot,
1886 struct virtqueue *vq = netq->netq_vq;
1887 struct virtio_softc *vsc = vq->vq_owner;
1919 struct virtqueue *vq = netq->netq_vq;
1920 struct virtio_softc *vsc = vq->vq_owner;
1936 virtio_stop_vq_intr(vsc, vq);
1948 struct virtqueue *vq = netq->netq_vq;
1949 struct virtio_softc *vsc = vq->vq_owner;
1979 struct virtqueue *vq = netq->netq_vq;
1999 r = virtio_enqueue_prep(vsc, vq, &slot);
2013 virtio_enqueue_abort(vsc, vq, slot);
2039 virtio_enqueue_abort(vsc, vq, slot);
2046 r = vioif_net_enqueue_tx(vsc, vq, slot, map);
2062 vioif_notify(vsc, vq);
2072 struct virtqueue *vq = netq->netq_vq;
2085 if (virtio_vq_is_enqueued(vsc, vq) == false)
2094 if (virtio_dequeue(vsc, vq, &slot, &len) != 0)
2099 m = vioif_net_dequeue_commit(vsc, vq, slot,
2184 struct virtqueue *vq = netq->netq_vq;
2186 struct virtio_softc *vsc = vq->vq_owner;
2208 virtio_postpone_intr_smart(vsc, vq):
2209 virtio_start_vq_intr(vsc, vq);
2211 virtio_stop_vq_intr(vsc, vq);
2229 struct virtqueue *vq = netq->netq_vq;
2230 struct virtio_softc *vsc = vq->vq_owner;
2245 virtio_stop_vq_intr(vsc, vq);
2259 struct virtqueue *vq = netq->netq_vq;
2260 struct virtio_softc *vsc = vq->vq_owner;
2281 * Control vq
2359 struct virtqueue *vq = ctrlq->ctrlq_vq;
2375 /* we need to explicitly (re)start vq intr when using RING EVENT IDX */
2379 r = virtio_enqueue_prep(vsc, vq, &slot);
2381 panic("%s: control vq busy!?", device_xname(sc->sc_dev));
2382 r = virtio_enqueue_reserve(vsc, vq, slot, nspecs + 2);
2384 panic("%s: control vq busy!?", device_xname(sc->sc_dev));
2385 virtio_enqueue(vsc, vq, slot, ctrlq->ctrlq_cmd_dmamap, true);
2387 virtio_enqueue(vsc, vq, slot, specs[i].dmamap, true);
2389 virtio_enqueue(vsc, vq, slot, ctrlq->ctrlq_status_dmamap, false);
2390 virtio_enqueue_commit(vsc, vq, slot, true);
2419 /* ctrl vq interrupt; wake up the command issuer */
2424 struct virtqueue *vq = ctrlq->ctrlq_vq;
2425 struct virtio_softc *vsc = vq->vq_owner;
2428 if (virtio_vq_is_enqueued(vsc, vq) == false)
2431 r = virtio_dequeue(vsc, vq, &slot, NULL);
2434 virtio_dequeue_commit(vsc, vq, slot);