Lines Matching defs:vsc
44 #define virtio_notify(vsc, vq) virtio_enqueue_commit(vsc, vq, -1, true)
198 struct virtio_softc *vsc = device_private(parent);
203 if (virtio_child(vsc) != NULL) {
208 sc->sc_virtio = vsc;
217 virtio_child_attach_start(vsc, self, IPL_TTY,
226 if (virtio_child_attach_finish(vsc, sc->sc_vqs, nvqs,
236 virtio_child_attach_failed(vsc);
242 struct virtio_softc *vsc = sc->sc_virtio;
260 virtio_init_vq_vqdone(vsc, &sc->sc_vqs[rxidx], rxidx,
262 if (virtio_alloc_vq(vsc, &sc->sc_vqs[rxidx], BUFSIZE, 1,
272 virtio_init_vq_vqdone(vsc, &sc->sc_vqs[txidx], txidx,
274 if (virtio_alloc_vq(vsc, &sc->sc_vqs[txidx], BUFSIZE, 1,
284 if (bus_dmamap_create(virtio_dmat(vsc), allocsize, 1, allocsize, 0,
287 if (bus_dmamem_alloc(virtio_dmat(vsc), allocsize, 8, 0, &vp->vp_dmaseg,
290 if (bus_dmamem_map(virtio_dmat(vsc), &vp->vp_dmaseg, nsegs,
294 if (bus_dmamap_load(virtio_dmat(vsc), vp->vp_dmamap, kva,
303 if (virtio_features(vsc) & VIRTIO_CONSOLE_F_SIZE) {
304 vp->vp_cols = virtio_read_device_config_2(vsc,
306 vp->vp_rows = virtio_read_device_config_2(vsc,
318 virtio_start_vq_intr(vsc, vp->vp_rx);
319 virtio_start_vq_intr(vsc, vp->vp_tx);
330 struct virtio_softc *vsc = vq->vq_owner;
334 while (virtio_dequeue(vsc, vq, &slot, &len) == 0) {
335 bus_dmamap_sync(virtio_dmat(vsc), vp->vp_dmamap,
338 virtio_dequeue_commit(vsc, vq, slot);
347 struct virtio_softc *vsc = vq->vq_owner;
348 struct viocon_softc *sc = device_private(virtio_child(vsc));
368 struct virtio_softc *vsc = vp->vp_sc->sc_virtio;
371 while ((r = virtio_enqueue_prep(vsc, vq, &slot)) == 0) {
372 if (virtio_enqueue_reserve(vsc, vq, slot, 1) != 0)
374 bus_dmamap_sync(virtio_dmat(vsc), vp->vp_dmamap, slot * BUFSIZE,
376 virtio_enqueue_p(vsc, vq, slot, vp->vp_dmamap, slot * BUFSIZE,
378 virtio_enqueue_commit(vsc, vq, slot, 0);
383 virtio_notify(vsc, vq);
389 struct virtio_softc *vsc = vq->vq_owner;
390 struct viocon_softc *sc = device_private(virtio_child(vsc));
403 struct virtio_softc *vsc = vq->vq_owner;
408 while (!vp->vp_iflow && virtio_dequeue(vsc, vq, &slot, &len) == 0) {
409 bus_dmamap_sync(virtio_dmat(vsc), vp->vp_dmamap,
414 virtio_dequeue_commit(vsc, vq, slot);
426 struct virtio_softc *vsc;
432 vsc = sc->sc_virtio;
452 ret = virtio_enqueue_prep(vsc, vq, &slot);
458 ret = virtio_enqueue_reserve(vsc, vq, slot, 1);
462 bus_dmamap_sync(virtio_dmat(vsc), vp->vp_dmamap,
465 virtio_enqueue_p(vsc, vq, slot, vp->vp_dmamap,
467 virtio_enqueue_commit(vsc, vq, slot, 0);
471 virtio_notify(vsc, vq);