summaryrefslogtreecommitdiffstats
path: root/sys/dev/virtio/virtqueue.c
diff options
context:
space:
mode:
authorgrehan <grehan@FreeBSD.org>2013-07-05 05:47:10 +0000
committergrehan <grehan@FreeBSD.org>2013-07-05 05:47:10 +0000
commit6a7baaf83640e0eaa135d2f7a3c1d4401f1683bf (patch)
tree83ae82cf8f72af4b819f49aa52acdd97f74c6328 /sys/dev/virtio/virtqueue.c
parent2cb5a953f0a60811764ccaca7c37b51ff007c711 (diff)
parent8e6b84b998690dcfc1a4957dc7a483ac5b600db8 (diff)
downloadFreeBSD-src-6a7baaf83640e0eaa135d2f7a3c1d4401f1683bf.zip
FreeBSD-src-6a7baaf83640e0eaa135d2f7a3c1d4401f1683bf.tar.gz
IFC @ r252763
Diffstat (limited to 'sys/dev/virtio/virtqueue.c')
-rw-r--r--sys/dev/virtio/virtqueue.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/sys/dev/virtio/virtqueue.c b/sys/dev/virtio/virtqueue.c
index 1553afa..a82426e 100644
--- a/sys/dev/virtio/virtqueue.c
+++ b/sys/dev/virtio/virtqueue.c
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2011, Bryan Venteicher <bryanv@daemoninthecloset.org>
+ * Copyright (c) 2011, Bryan Venteicher <bryanv@FreeBSD.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -414,18 +414,24 @@ virtqueue_nused(struct virtqueue *vq)
}
int
-virtqueue_intr(struct virtqueue *vq)
+virtqueue_intr_filter(struct virtqueue *vq)
{
- if (vq->vq_intrhand == NULL ||
- vq->vq_used_cons_idx == vq->vq_ring.used->idx)
+ if (vq->vq_used_cons_idx == vq->vq_ring.used->idx)
return (0);
- vq->vq_intrhand(vq->vq_intrhand_arg);
+ virtqueue_disable_intr(vq);
return (1);
}
+void
+virtqueue_intr(struct virtqueue *vq)
+{
+
+ vq->vq_intrhand(vq->vq_intrhand_arg);
+}
+
int
virtqueue_enable_intr(struct virtqueue *vq)
{
OpenPOWER on IntegriCloud