search for: vm_del_vqs

Displaying 20 results from an estimated 53 matches for "vm_del_vqs".

Did you mean: vm_del_vq
2014 Nov 06
2
[RFC PATCH] virtio-mmio: support for multiple irqs
...gt;> + if (likely(status & VIRTIO_MMIO_INT_VRING)) >> + return vm_vring_interrupt(irq, opaque); >> >> return ret; >> } >> @@ -284,18 +313,98 @@ static void vm_del_vq(struct virtqueue *vq) >> kfree(info); >> } >> >> -static void vm_del_vqs(struct virtio_device *vdev) >> +static void vm_free_irqs(struct virtio_device *vdev) >> { >> + int i; >> struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); >> + >> + if (vm_dev->single_irq_enabled) { >> + free_irq(platform_get_irq(vm_de...
2014 Nov 06
2
[RFC PATCH] virtio-mmio: support for multiple irqs
...gt;> + if (likely(status & VIRTIO_MMIO_INT_VRING)) >> + return vm_vring_interrupt(irq, opaque); >> >> return ret; >> } >> @@ -284,18 +313,98 @@ static void vm_del_vq(struct virtqueue *vq) >> kfree(info); >> } >> >> -static void vm_del_vqs(struct virtio_device *vdev) >> +static void vm_free_irqs(struct virtio_device *vdev) >> { >> + int i; >> struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); >> + >> + if (vm_dev->single_irq_enabled) { >> + free_irq(platform_get_irq(vm_de...
2014 Nov 06
0
[RFC PATCH] virtio-mmio: support for multiple irqs
...&vm_dev->lock, flags); > - } > + if (likely(status & VIRTIO_MMIO_INT_VRING)) > + return vm_vring_interrupt(irq, opaque); > > return ret; > } > @@ -284,18 +313,98 @@ static void vm_del_vq(struct virtqueue *vq) > kfree(info); > } > > -static void vm_del_vqs(struct virtio_device *vdev) > +static void vm_free_irqs(struct virtio_device *vdev) > { > + int i; > struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); > + > + if (vm_dev->single_irq_enabled) { > + free_irq(platform_get_irq(vm_dev->pdev, 0), vm_dev); &gt...
2014 Nov 06
0
[RFC PATCH] virtio-mmio: support for multiple irqs
..._INT_VRING)) > >> + return vm_vring_interrupt(irq, opaque); > >> > >> return ret; > >> } > >> @@ -284,18 +313,98 @@ static void vm_del_vq(struct virtqueue *vq) > >> kfree(info); > >> } > >> > >> -static void vm_del_vqs(struct virtio_device *vdev) > >> +static void vm_free_irqs(struct virtio_device *vdev) > >> { > >> + int i; > >> struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); > >> + > >> + if (vm_dev->single_irq_enabled) { > >>...
2014 Nov 04
6
[RFC PATCH] virtio-mmio: support for multiple irqs
...interrupt(irq, info->vq); - spin_unlock_irqrestore(&vm_dev->lock, flags); - } + if (likely(status & VIRTIO_MMIO_INT_VRING)) + return vm_vring_interrupt(irq, opaque); return ret; } @@ -284,18 +313,98 @@ static void vm_del_vq(struct virtqueue *vq) kfree(info); } -static void vm_del_vqs(struct virtio_device *vdev) +static void vm_free_irqs(struct virtio_device *vdev) { + int i; struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); + + if (vm_dev->single_irq_enabled) { + free_irq(platform_get_irq(vm_dev->pdev, 0), vm_dev); + vm_dev->single_irq_enabled = 0;...
2014 Nov 04
6
[RFC PATCH] virtio-mmio: support for multiple irqs
...interrupt(irq, info->vq); - spin_unlock_irqrestore(&vm_dev->lock, flags); - } + if (likely(status & VIRTIO_MMIO_INT_VRING)) + return vm_vring_interrupt(irq, opaque); return ret; } @@ -284,18 +313,98 @@ static void vm_del_vq(struct virtqueue *vq) kfree(info); } -static void vm_del_vqs(struct virtio_device *vdev) +static void vm_free_irqs(struct virtio_device *vdev) { + int i; struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); + + if (vm_dev->single_irq_enabled) { + free_irq(platform_get_irq(vm_dev->pdev, 0), vm_dev); + vm_dev->single_irq_enabled = 0;...
2017 Feb 04
0
[PATCH] virtio_mmio: remove virtio_mmio_vq_info
...tore(&vm_dev->lock, flags); - /* Select and deactivate the queue */ writel(index, vm_dev->base + VIRTIO_MMIO_QUEUE_SEL); if (vm_dev->version == 1) { @@ -333,8 +311,6 @@ static void vm_del_vq(struct virtqueue *vq) } vring_del_virtqueue(vq); - - kfree(info); } static void vm_del_vqs(struct virtio_device *vdev) @@ -353,9 +329,7 @@ static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned index, const char *name) { struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); - struct virtio_mmio_vq_info *info; struct virtqueue *vq; - unsigned long...
2017 Feb 04
0
[PATCH] virtio_mmio: remove virtio_mmio_vq_info
...tore(&vm_dev->lock, flags); - /* Select and deactivate the queue */ writel(index, vm_dev->base + VIRTIO_MMIO_QUEUE_SEL); if (vm_dev->version == 1) { @@ -333,8 +311,6 @@ static void vm_del_vq(struct virtqueue *vq) } vring_del_virtqueue(vq); - - kfree(info); } static void vm_del_vqs(struct virtio_device *vdev) @@ -353,9 +329,7 @@ static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned index, const char *name) { struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); - struct virtio_mmio_vq_info *info; struct virtqueue *vq; - unsigned long...
2023 Oct 10
1
[PATCH 2/2] virtio-mmio: Support multiple interrupts per device
...if (info->irq == irq) > + ret |= vring_interrupt(irq, info->vq); > + } > + spin_unlock_irqrestore(&vm_dev->lock, flags); > + } > + > return ret; > } > > @@ -356,11 +375,15 @@ static void vm_del_vqs(struct virtio_device *vdev) > { > struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); > struct virtqueue *vq, *n; > + int i, irq; > + > + for (i = 0; i < vm_dev->num_irqs; i++) { > + irq = vm_dev->irq_base + i; &g...
2023 Oct 10
1
[PATCH 2/2] virtio-mmio: Support multiple interrupts per device
...if (info->irq == irq) > + ret |= vring_interrupt(irq, info->vq); > + } > + spin_unlock_irqrestore(&vm_dev->lock, flags); > + } > + > return ret; > } > > @@ -356,11 +375,15 @@ static void vm_del_vqs(struct virtio_device *vdev) > { > struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); > struct virtqueue *vq, *n; > + int i, irq; > + > + for (i = 0; i < vm_dev->num_irqs; i++) { > + irq = vm_dev->irq_base + i; &g...
2011 Oct 27
1
[PATCH v3] virtio: Add platform bus driver for memory mapped virtio device
On Mon, 2011-10-24 at 03:33 +0100, Rusty Russell wrote: > No, that's it I think. Please send a diff for the documentation, since > I'm updating the LyX master and I've already applied your previous > version. Here it goes (below). Also do you think you would be able to merge the driver (corresponding v4 patch follows) in the 3.2 merge window that seems to have just opened?
2011 Oct 27
1
[PATCH v3] virtio: Add platform bus driver for memory mapped virtio device
On Mon, 2011-10-24 at 03:33 +0100, Rusty Russell wrote: > No, that's it I think. Please send a diff for the documentation, since > I'm updating the LyX master and I've already applied your previous > version. Here it goes (below). Also do you think you would be able to merge the driver (corresponding v4 patch follows) in the 3.2 merge window that seems to have just opened?
2014 Oct 25
1
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
From: Li Liu <john.liuli at huawei.com> This irq handler will get the interrupt reason from a shared memory. And will be assigned only while irqfd enabled. Signed-off-by: Li Liu <john.liuli at huawei.com> --- drivers/virtio/virtio_mmio.c | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/drivers/virtio/virtio_mmio.c
2014 Oct 25
1
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
From: Li Liu <john.liuli at huawei.com> This irq handler will get the interrupt reason from a shared memory. And will be assigned only while irqfd enabled. Signed-off-by: Li Liu <john.liuli at huawei.com> --- drivers/virtio/virtio_mmio.c | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/drivers/virtio/virtio_mmio.c
2014 Oct 27
1
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
On 2014/10/26 19:56, Michael S. Tsirkin wrote: > On Sat, Oct 25, 2014 at 04:24:54PM +0800, john.liuli wrote: >> From: Li Liu <john.liuli at huawei.com> >> >> This irq handler will get the interrupt reason from a >> shared memory. And will be assigned only while irqfd >> enabled. >> >> Signed-off-by: Li Liu <john.liuli at huawei.com> >>
2014 Oct 27
1
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
On 2014/10/26 19:56, Michael S. Tsirkin wrote: > On Sat, Oct 25, 2014 at 04:24:54PM +0800, john.liuli wrote: >> From: Li Liu <john.liuli at huawei.com> >> >> This irq handler will get the interrupt reason from a >> shared memory. And will be assigned only while irqfd >> enabled. >> >> Signed-off-by: Li Liu <john.liuli at huawei.com> >>
2014 Oct 26
0
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
On Sat, Oct 25, 2014 at 04:24:54PM +0800, john.liuli wrote: > From: Li Liu <john.liuli at huawei.com> > > This irq handler will get the interrupt reason from a > shared memory. And will be assigned only while irqfd > enabled. > > Signed-off-by: Li Liu <john.liuli at huawei.com> > --- > drivers/virtio/virtio_mmio.c | 34 ++++++++++++++++++++++++++++++++--
2014 Oct 27
0
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
On Mon, Oct 27, 2014 at 07:04:11PM +0800, Li Liu wrote: > > > On 2014/10/26 19:56, Michael S. Tsirkin wrote: > > On Sat, Oct 25, 2014 at 04:24:54PM +0800, john.liuli wrote: > >> From: Li Liu <john.liuli at huawei.com> > >> > >> This irq handler will get the interrupt reason from a > >> shared memory. And will be assigned only while irqfd
2018 Dec 28
0
[PATCH v1 2/2] virtio: don't allocate vqs when names[i] = NULL
...s, return err; for (i = 0; i < nvqs; ++i) { - vqs[i] = vm_setup_vq(vdev, i, callbacks[i], names[i], + if (!names[i]) { + vqs[i] = NULL; + continue; + } + + vqs[i] = vm_setup_vq(vdev, queue_idx++, callbacks[i], names[i], ctx ? ctx[i] : false); if (IS_ERR(vqs[i])) { vm_del_vqs(vdev); -- 2.7.4
2012 Oct 16
6
[PATCH 1/5] virtio: move queue_index and num_free fields into core struct virtqueue.
They're generic concepts, so hoist them. This also avoids accessor functions. This goes even further than Jason Wang's 17bb6d4088 patch ("virtio-ring: move queue_index to vring_virtqueue") which moved the queue_index from the specific transport. Signed-off-by: Rusty Russell <rusty at rustcorp.com.au> --- drivers/virtio/virtio_mmio.c | 4 ++--