Home | History | Annotate | Download | only in virtio

Lines Matching defs:vsc

184 virtio_mmio_read_queue_size(struct virtio_softc *vsc, uint16_t idx)
186 struct virtio_mmio_softc *sc = (struct virtio_mmio_softc *)vsc;
192 virtio_mmio_v1_setup_queue(struct virtio_softc *vsc, uint16_t idx,
195 struct virtio_mmio_softc *sc = (struct virtio_mmio_softc *)vsc;
207 virtio_mmio_v2_setup_queue(struct virtio_softc *vsc, uint16_t idx,
210 struct virtio_mmio_softc *sc = (struct virtio_mmio_softc *)vsc;
220 vq = &vsc->sc_vqs[idx];
236 virtio_mmio_get_status(struct virtio_softc *vsc)
238 struct virtio_mmio_softc *sc = (struct virtio_mmio_softc *)vsc;
244 virtio_mmio_set_status(struct virtio_softc *vsc, int status)
246 struct virtio_mmio_softc *sc = (struct virtio_mmio_softc *)vsc;
269 struct virtio_softc *vsc = &sc->sc_sc;
270 device_t self = vsc->sc_dev;
280 aprint_error_dev(vsc->sc_dev,
285 vsc->sc_bus_endian = READ_ENDIAN;
286 vsc->sc_struct_endian = STRUCT_ENDIAN;
294 vsc->sc_ops = &virtio_mmio_v1_ops;
304 vsc->sc_ops = &virtio_mmio_v2_ops;
312 aprint_error_dev(vsc->sc_dev,
327 vsc->sc_devcfg_iosize = sc->sc_iosize - VIRTIO_MMIO_CONFIG;
328 vsc->sc_devcfg_iot = sc->sc_iot;
330 VIRTIO_MMIO_CONFIG, vsc->sc_devcfg_iosize,
331 &vsc->sc_devcfg_ioh)) {
336 virtio_device_reset(vsc);
337 virtio_mmio_set_status(vsc, VIRTIO_CONFIG_DEVICE_STATUS_ACK);
338 virtio_mmio_set_status(vsc, VIRTIO_CONFIG_DEVICE_STATUS_DRIVER);
341 vsc->sc_childdevid = id;
342 vsc->sc_child = NULL;
348 struct virtio_softc *vsc = &sc->sc_sc;
351 r = config_detach_children(vsc->sc_dev, flags);
355 KASSERT(vsc->sc_child == NULL);
356 KASSERT(vsc->sc_vqs == NULL);
374 virtio_mmio_negotiate_features(struct virtio_softc *vsc, uint64_t
377 struct virtio_mmio_softc *sc = (struct virtio_mmio_softc *)vsc;
378 device_t self = vsc->sc_dev;
384 vsc->sc_active_features = 0;
402 virtio_mmio_set_status(vsc,
412 virtio_mmio_set_status(vsc,
431 virtio_mmio_set_status(vsc,
433 device_status = virtio_mmio_get_status(vsc);
437 virtio_mmio_set_status(vsc,
447 vsc->sc_bus_endian = LITTLE_ENDIAN;
448 vsc->sc_struct_endian = LITTLE_ENDIAN;
450 vsc->sc_version_1 = true;
453 vsc->sc_active_features = negotiated;
463 struct virtio_softc *vsc = &sc->sc_sc;
470 (vsc->sc_config_change != NULL))
471 r = (vsc->sc_config_change)(vsc);
473 (vsc->sc_intrhand != NULL)) {
474 if (vsc->sc_soft_ih != NULL)
475 softint_schedule(vsc->sc_soft_ih);
477 r |= (vsc->sc_intrhand)(vsc);
484 virtio_mmio_kick(struct virtio_softc *vsc, uint16_t idx)
486 struct virtio_mmio_softc *sc = (struct virtio_mmio_softc *)vsc;
491 virtio_mmio_alloc_interrupts(struct virtio_softc *vsc)
493 struct virtio_mmio_softc * const sc = (struct virtio_mmio_softc *)vsc;
499 virtio_mmio_free_interrupts(struct virtio_softc *vsc)
501 struct virtio_mmio_softc * const sc = (struct virtio_mmio_softc *)vsc;
507 virtio_mmio_setup_interrupts(struct virtio_softc *vsc __unused,