Lines Matching defs:vsc
152 struct virtio_softc *vsc = (struct virtio_softc *)parent;
159 if (vsc->sc_child != NULL) {
163 vsc->sc_child = self;
165 if (virtio_negotiate_features(vsc, viogpu_feature_names) != 0)
167 if (!vsc->sc_version_1) {
172 vsc->sc_ipl = IPL_TTY;
173 softintr_establish(IPL_TTY, viogpu_rx_soft, vsc);
174 sc->sc_virtio = vsc;
177 vsc->sc_vqs = sc->sc_vqs;
178 if (virtio_alloc_vq(vsc, &sc->sc_vqs[VQCTRL], VQCTRL, 1, "control")) {
184 if (virtio_alloc_vq(vsc, &sc->sc_vqs[VQCURS], VQCURS, 1, "cursor")) {
188 vsc->sc_nvqs = nitems(sc->sc_vqs);
192 if (bus_dmamap_create(vsc->sc_dmat, sc->sc_dma_size, 1,
198 if (bus_dmamem_alloc(vsc->sc_dmat, sc->sc_dma_size, 16, 0,
203 if (bus_dmamem_map(vsc->sc_dmat, &sc->sc_dma_seg, nsegs,
208 if (bus_dmamap_load(vsc->sc_dmat, sc->sc_dma_map, sc->sc_cmd,
214 if (virtio_attach_finish(vsc, va) != 0)
222 if (bus_dmamap_create(vsc->sc_dmat, sc->sc_fb_dma_size, 1,
226 if (bus_dmamem_alloc(vsc->sc_dmat, sc->sc_fb_dma_size, 1024, 0,
229 if (bus_dmamem_map(vsc->sc_dmat, &sc->sc_fb_dma_seg, nsegs,
232 if (bus_dmamap_load(vsc->sc_dmat, sc->sc_fb_dma_map,
296 bus_dmamem_unmap(vsc->sc_dmat, (caddr_t)&sc->sc_fb_dma_kva,
299 bus_dmamem_free(vsc->sc_dmat, &sc->sc_fb_dma_seg, 1);
301 bus_dmamap_destroy(vsc->sc_dmat, sc->sc_fb_dma_map);
303 bus_dmamem_unmap(vsc->sc_dmat, (caddr_t)&sc->sc_cmd, sc->sc_dma_size);
305 bus_dmamem_free(vsc->sc_dmat, &sc->sc_dma_seg, 1);
307 bus_dmamap_destroy(vsc->sc_dmat, sc->sc_dma_map);
311 vsc->sc_child = VIRTIO_CHILD_ERROR;
333 struct virtio_softc *vsc = vq->vq_owner;
334 struct viogpu_softc *sc = (struct viogpu_softc *)vsc->sc_child;
337 if (virtio_dequeue(vsc, vq, &slot, &len) != 0)
340 bus_dmamap_sync(vsc->sc_dmat, sc->sc_dma_map, 0, sc->sc_dma_size,
351 struct virtio_softc *vsc = (struct virtio_softc *)arg;
352 struct viogpu_softc *sc = (struct viogpu_softc *)vsc->sc_child;
356 while (virtio_dequeue(vsc, vq, &slot, &len) == 0) {
357 bus_dmamap_sync(vsc->sc_dmat, sc->sc_dma_map,
367 struct virtio_softc *vsc = sc->sc_virtio;
368 struct virtqueue *vq = &vsc->sc_vqs[VQCTRL];
392 r = bus_dmamap_load(vsc->sc_dmat, sc->sc_dma_map, sc->sc_cmd,
401 bus_dmamap_sync(vsc->sc_dmat, sc->sc_dma_map, 0, cmd_size,
406 virtio_enqueue_commit(vsc, vq, slot, 1);
408 while (virtio_check_vq(vsc, vq) == 0)
411 bus_dmamap_sync(vsc->sc_dmat, sc->sc_dma_map, 0, cmd_size,
413 bus_dmamap_sync(vsc->sc_dmat, sc->sc_dma_map, cmd_size, ret_size,