Home | History | Annotate | Download | only in pci

Lines Matching defs:ctrlq

463 	struct vioif_ctrlqueue *ctrlq = &sc->sc_ctrlq;
553 cv_init(&ctrlq->ctrlq_wait, "ctrl_vq");
554 mutex_init(&ctrlq->ctrlq_wait_lock, MUTEX_DEFAULT, IPL_NET);
555 ctrlq->ctrlq_inuse = FREE;
600 virtio_init_vq(vsc, ctrlq->ctrlq_vq, ctrlq_idx,
601 vioif_ctrl_intr, ctrlq);
603 r = virtio_alloc_vq(vsc, ctrlq->ctrlq_vq, NBPG, 1, "control");
610 cv_destroy(&ctrlq->ctrlq_wait);
611 mutex_destroy(&ctrlq->ctrlq_wait_lock);
671 cv_destroy(&ctrlq->ctrlq_wait);
672 mutex_destroy(&ctrlq->ctrlq_wait_lock);
673 virtio_free_vq(vsc, ctrlq->ctrlq_vq);
674 ctrlq->ctrlq_vq = NULL;
707 struct vioif_ctrlqueue *ctrlq = &sc->sc_ctrlq;
731 virtio_start_vq_intr(vsc, ctrlq->ctrlq_vq);
755 struct vioif_ctrlqueue *ctrlq = &sc->sc_ctrlq;
772 virtio_stop_vq_intr(vsc, ctrlq->ctrlq_vq);
1157 struct vioif_ctrlqueue *ctrlq = &sc->sc_ctrlq;
1220 ctrlq->ctrlq_cmd = vioif_assign_mem(&p,
1221 sizeof(*ctrlq->ctrlq_cmd));
1222 ctrlq->ctrlq_status = vioif_assign_mem(&p,
1223 sizeof(*ctrlq->ctrlq_status));
1224 ctrlq->ctrlq_rx = vioif_assign_mem(&p,
1225 sizeof(*ctrlq->ctrlq_rx));
1226 ctrlq
1227 sizeof(*ctrlq->ctrlq_mac_tbl_uc)
1229 ctrlq->ctrlq_mac_tbl_mc = vioif_assign_mem(&p,
1230 sizeof(*ctrlq->ctrlq_mac_tbl_mc)
1232 ctrlq->ctrlq_mac_addr = vioif_assign_mem(&p,
1233 sizeof(*ctrlq->ctrlq_mac_addr));
1234 ctrlq->ctrlq_mq = vioif_assign_mem(&p, sizeof(*ctrlq->ctrlq_mq));
1316 r = vioif_dmamap_create_load(sc, &ctrlq->ctrlq_cmd_dmamap,
1317 ctrlq->ctrlq_cmd, sizeof(*ctrlq->ctrlq_cmd), 1,
1322 r = vioif_dmamap_create_load(sc, &ctrlq->ctrlq_status_dmamap,
1323 ctrlq->ctrlq_status, sizeof(*ctrlq->ctrlq_status), 1,
1329 r = vioif_dmamap_create_load(sc, &ctrlq->ctrlq_rx_dmamap,
1330 ctrlq->ctrlq_rx, sizeof(*ctrlq->ctrlq_rx), 1,
1336 r = vioif_dmamap_create_load(sc, &ctrlq->ctrlq_mq_dmamap,
1337 ctrlq->ctrlq_mq, sizeof(*ctrlq->ctrlq_mq), 1,
1344 r = vioif_dmamap_create(sc, &ctrlq->ctrlq_tbl_uc_dmamap,
1345 sizeof(*ctrlq->ctrlq_mac_tbl_uc)
1352 r = vioif_dmamap_create(sc, &ctrlq->ctrlq_tbl_mc_dmamap,
1353 sizeof(*ctrlq->ctrlq_mac_tbl_mc)
1361 &ctrlq->ctrlq_mac_addr_dmamap,
1362 ctrlq->ctrlq_mac_addr,
1363 sizeof(*ctrlq->ctrlq_mac_addr), 1,
1372 vioif_dmamap_destroy(sc, &ctrlq->ctrlq_tbl_mc_dmamap);
1373 vioif_dmamap_destroy(sc, &ctrlq->ctrlq_tbl_uc_dmamap);
1374 vioif_dmamap_destroy(sc, &ctrlq->ctrlq_rx_dmamap);
1375 vioif_dmamap_destroy(sc, &ctrlq->ctrlq_status_dmamap);
1376 vioif_dmamap_destroy(sc, &ctrlq->ctrlq_cmd_dmamap);
1377 vioif_dmamap_destroy(sc, &ctrlq->ctrlq_mac_addr_dmamap);
2292 struct vioif_ctrlqueue *ctrlq = &sc->sc_ctrlq;
2294 mutex_enter(&ctrlq->ctrlq_wait_lock);
2295 while (ctrlq->ctrlq_inuse != FREE)
2296 cv_wait(&ctrlq->ctrlq_wait, &ctrlq->ctrlq_wait_lock);
2297 ctrlq->ctrlq_inuse = INUSE;
2298 ctrlq->ctrlq_owner = curlwp;
2299 mutex_exit(&ctrlq->ctrlq_wait_lock);
2305 struct vioif_ctrlqueue *ctrlq = &sc->sc_ctrlq;
2307 KASSERT(ctrlq->ctrlq_inuse != FREE);
2308 KASSERT(ctrlq->ctrlq_owner == curlwp);
2310 mutex_enter(&ctrlq->ctrlq_wait_lock);
2311 ctrlq->ctrlq_inuse = FREE;
2312 ctrlq->ctrlq_owner = NULL;
2313 cv_signal(&ctrlq->ctrlq_wait);
2314 mutex_exit(&ctrlq->ctrlq_wait_lock);
2363 struct vioif_ctrlqueue *ctrlq = &sc->sc_ctrlq;
2364 struct virtqueue *vq = ctrlq->ctrlq_vq;
2368 ctrlq->ctrlq_cmd->class = class;
2369 ctrlq->ctrlq_cmd->command = cmd;
2371 bus_dmamap_sync(virtio_dmat(vsc), ctrlq->ctrlq_cmd_dmamap,
2377 bus_dmamap_sync(virtio_dmat(vsc), ctrlq->ctrlq_status_dmamap,
2382 virtio_start_vq_intr(vsc, ctrlq->ctrlq_vq);
2390 virtio_enqueue(vsc, vq, slot, ctrlq->ctrlq_cmd_dmamap, true);
2394 virtio_enqueue(vsc, vq, slot, ctrlq->ctrlq_status_dmamap, false);
2398 mutex_enter(&ctrlq->ctrlq_wait_lock);
2399 while (ctrlq->ctrlq_inuse != DONE)
2400 cv_wait(&ctrlq->ctrlq_wait, &ctrlq->ctrlq_wait_lock);
2401 mutex_exit(&ctrlq->ctrlq_wait_lock);
2404 bus_dmamap_sync(virtio_dmat(vsc), ctrlq->ctrlq_cmd_dmamap, 0,
2410 bus_dmamap_sync(virtio_dmat(vsc), ctrlq->ctrlq_status_dmamap, 0,
2413 if (ctrlq->ctrlq_status->ack == VIRTIO_NET_OK)
2428 struct vioif_ctrlqueue *ctrlq = arg;
2429 struct virtqueue *vq = ctrlq->ctrlq_vq;
2441 mutex_enter(&ctrlq->ctrlq_wait_lock);
2442 ctrlq->ctrlq_inuse = DONE;
2443 cv_signal(&ctrlq->ctrlq_wait);
2444 mutex_exit(&ctrlq->ctrlq_wait_lock);
2564 /* filter already set in ctrlq->ctrlq_mac_tbl */
2618 struct vioif_ctrlqueue *ctrlq = &sc->sc_ctrlq;
2627 memcpy(ctrlq->ctrlq_mac_tbl_uc->macs[0],
2645 memcpy(ctrlq->ctrlq_mac_tbl_mc->macs[nentries],
2658 ctrlq->ctrlq_mac_tbl_uc->nentries = virtio_rw32(vsc, 1);
2659 ctrlq->ctrlq_mac_tbl_mc->nentries = virtio_rw32(vsc, nentries);
2667 ctrlq->ctrlq_mac_tbl_uc->nentries = virtio_rw32(vsc, 0);
2668 ctrlq->ctrlq_mac_tbl_mc->nentries = virtio_rw32(vsc, 0);