Lines Matching refs:vr

201 		struct virtio_blk_req *vr = &sc->sc_reqs[i];  in ld_virtio_alloc_reqs()  local
208 &vr->vr_cmdsts); in ld_virtio_alloc_reqs()
215 r = bus_dmamap_load(virtio_dmat(sc->sc_virtio), vr->vr_cmdsts, in ld_virtio_alloc_reqs()
216 &vr->vr_hdr, in ld_virtio_alloc_reqs()
231 &vr->vr_payload); in ld_virtio_alloc_reqs()
243 struct virtio_blk_req *vr = &sc->sc_reqs[i]; in ld_virtio_alloc_reqs() local
244 if (vr->vr_cmdsts) { in ld_virtio_alloc_reqs()
246 vr->vr_cmdsts); in ld_virtio_alloc_reqs()
247 vr->vr_cmdsts = 0; in ld_virtio_alloc_reqs()
249 if (vr->vr_payload) { in ld_virtio_alloc_reqs()
251 vr->vr_payload); in ld_virtio_alloc_reqs()
252 vr->vr_payload = 0; in ld_virtio_alloc_reqs()
404 struct virtio_blk_req *vr; in ld_virtio_start() local
416 vr = &sc->sc_reqs[slot]; in ld_virtio_start()
417 KASSERT(vr->vr_bp == NULL); in ld_virtio_start()
419 r = bus_dmamap_load(virtio_dmat(vsc), vr->vr_payload, in ld_virtio_start()
430 KASSERT(vr->vr_payload->dm_nsegs <= sc->sc_seg_max); in ld_virtio_start()
431 r = virtio_enqueue_reserve(vsc, vq, slot, vr->vr_payload->dm_nsegs + in ld_virtio_start()
434 bus_dmamap_unload(virtio_dmat(vsc), vr->vr_payload); in ld_virtio_start()
438 vr->vr_bp = bp; in ld_virtio_start()
439 vr->vr_hdr.type = virtio_rw32(vsc, in ld_virtio_start()
441 vr->vr_hdr.ioprio = virtio_rw32(vsc, 0); in ld_virtio_start()
442 vr->vr_hdr.sector = virtio_rw64(vsc, in ld_virtio_start()
446 bus_dmamap_sync(virtio_dmat(vsc), vr->vr_cmdsts, in ld_virtio_start()
449 bus_dmamap_sync(virtio_dmat(vsc), vr->vr_payload, in ld_virtio_start()
452 bus_dmamap_sync(virtio_dmat(vsc), vr->vr_cmdsts, in ld_virtio_start()
457 virtio_enqueue_p(vsc, vq, slot, vr->vr_cmdsts, in ld_virtio_start()
460 virtio_enqueue(vsc, vq, slot, vr->vr_payload, !isread); in ld_virtio_start()
461 virtio_enqueue_p(vsc, vq, slot, vr->vr_cmdsts, in ld_virtio_start()
474 struct virtio_blk_req *vr = &sc->sc_reqs[slot]; in ld_virtio_vq_done1() local
475 struct buf *bp = vr->vr_bp; in ld_virtio_vq_done1()
477 vr->vr_bp = NULL; in ld_virtio_vq_done1()
479 bus_dmamap_sync(virtio_dmat(vsc), vr->vr_cmdsts, in ld_virtio_vq_done1()
482 bus_dmamap_sync(virtio_dmat(vsc), vr->vr_cmdsts, in ld_virtio_vq_done1()
487 sc->sc_sync_status = vr->vr_status; in ld_virtio_vq_done1()
494 bus_dmamap_sync(virtio_dmat(vsc), vr->vr_payload, in ld_virtio_vq_done1()
498 bus_dmamap_unload(virtio_dmat(vsc), vr->vr_payload); in ld_virtio_vq_done1()
500 if (vr->vr_status != VIRTIO_BLK_S_OK) { in ld_virtio_vq_done1()
536 struct virtio_blk_req *vr; in ld_virtio_dump() local
553 vr = &sc->sc_reqs[slot]; in ld_virtio_dump()
554 r = bus_dmamap_load(virtio_dmat(vsc), vr->vr_payload, in ld_virtio_dump()
560 r = virtio_enqueue_reserve(vsc, vq, slot, vr->vr_payload->dm_nsegs + in ld_virtio_dump()
563 bus_dmamap_unload(virtio_dmat(vsc), vr->vr_payload); in ld_virtio_dump()
567 vr->vr_bp = (void*)0xdeadbeef; in ld_virtio_dump()
568 vr->vr_hdr.type = virtio_rw32(vsc, VIRTIO_BLK_T_OUT); in ld_virtio_dump()
569 vr->vr_hdr.ioprio = virtio_rw32(vsc, 0); in ld_virtio_dump()
570 vr->vr_hdr.sector = virtio_rw64(vsc, in ld_virtio_dump()
574 bus_dmamap_sync(virtio_dmat(vsc), vr->vr_cmdsts, in ld_virtio_dump()
577 bus_dmamap_sync(virtio_dmat(vsc), vr->vr_payload, in ld_virtio_dump()
580 bus_dmamap_sync(virtio_dmat(vsc), vr->vr_cmdsts, in ld_virtio_dump()
585 virtio_enqueue_p(vsc, vq, slot, vr->vr_cmdsts, in ld_virtio_dump()
588 virtio_enqueue(vsc, vq, slot, vr->vr_payload, true); in ld_virtio_dump()
589 virtio_enqueue_p(vsc, vq, slot, vr->vr_cmdsts, in ld_virtio_dump()
608 bus_dmamap_sync(virtio_dmat(vsc), vr->vr_cmdsts, in ld_virtio_dump()
611 bus_dmamap_sync(virtio_dmat(vsc), vr->vr_payload, in ld_virtio_dump()
614 bus_dmamap_sync(virtio_dmat(vsc), vr->vr_cmdsts, in ld_virtio_dump()
618 if (vr->vr_status == VIRTIO_BLK_S_OK) in ld_virtio_dump()
669 struct virtio_blk_req *vr; in ld_virtio_flush() local
694 vr = &sc->sc_reqs[slot]; in ld_virtio_flush()
695 KASSERT(vr->vr_bp == NULL); in ld_virtio_flush()
702 vr->vr_bp = DUMMY_VR_BP; in ld_virtio_flush()
703 vr->vr_hdr.type = virtio_rw32(vsc, VIRTIO_BLK_T_FLUSH); in ld_virtio_flush()
704 vr->vr_hdr.ioprio = virtio_rw32(vsc, 0); in ld_virtio_flush()
705 vr->vr_hdr.sector = virtio_rw64(vsc, 0); in ld_virtio_flush()
707 bus_dmamap_sync(virtio_dmat(vsc), vr->vr_cmdsts, in ld_virtio_flush()
710 bus_dmamap_sync(virtio_dmat(vsc), vr->vr_cmdsts, in ld_virtio_flush()
715 virtio_enqueue_p(vsc, vq, slot, vr->vr_cmdsts, in ld_virtio_flush()
718 virtio_enqueue_p(vsc, vq, slot, vr->vr_cmdsts, in ld_virtio_flush()