Lines Matching refs:vs
249 #define VS_LOCK(vs) \ argument
251 if (vs->vs_mtx) \
252 pthread_mutex_lock(vs->vs_mtx); \
255 #define VS_UNLOCK(vs) \ argument
257 if (vs->vs_mtx) \
258 pthread_mutex_unlock(vs->vs_mtx); \
350 vi_interrupt(struct virtio_softc *vs, uint8_t isr, uint16_t msix_idx) in vi_interrupt() argument
353 if (pci_msix_enabled(vs->vs_pi)) in vi_interrupt()
354 pci_generate_msix(vs->vs_pi, msix_idx); in vi_interrupt()
359 if (vs->vs_mtx && !pthread_mutex_isowned_np(vs->vs_mtx)) { in vi_interrupt()
361 pthread_mutex_lock(vs->vs_mtx); in vi_interrupt()
364 VS_LOCK(vs); in vi_interrupt()
366 vs->vs_isr |= isr; in vi_interrupt()
367 pci_generate_msi(vs->vs_pi, 0); in vi_interrupt()
368 pci_lintr_assert(vs->vs_pi); in vi_interrupt()
371 pthread_mutex_unlock(vs->vs_mtx); in vi_interrupt()
373 VS_UNLOCK(vs); in vi_interrupt()
383 vq_interrupt(struct virtio_softc *vs, struct vqueue_info *vq) in vq_interrupt() argument
386 vi_interrupt(vs, VIRTIO_PCI_ISR_INTR, vq->vq_msix_idx); in vq_interrupt()
422 void vi_softc_linkup(struct virtio_softc *vs, struct virtio_consts *vc,
425 int vi_intr_init(struct virtio_softc *vs, int barnum, int use_msix);