search for: nirqs

Displaying 11 results from an estimated 11 matches for "nirqs".

Did you mean: irqs
2014 Nov 06
2
[RFC PATCH] virtio-mmio: support for multiple irqs
...evice supports multiple IRQs? Guest uses vm_try_to_find_vqs to check whether it can get multiple IRQs like virtio-pci uses vp_try_to_find_vqs. And within function vm_request_multiple_irqs, guest check whether the number of IRQs host device gives is equal to the number we want. for (i = 0; i < nirqs; i++) { irq = platform_get_irq(vm_dev->pdev, i); if (irq == -ENXIO) goto error; } If we can't get the expected number of IRQs, return error and this try fails. Then guest will try two IRQS and single IRQ like virtio-pci. > Could you please document the new interface? > E.g. s...
2014 Nov 06
2
[RFC PATCH] virtio-mmio: support for multiple irqs
...evice supports multiple IRQs? Guest uses vm_try_to_find_vqs to check whether it can get multiple IRQs like virtio-pci uses vp_try_to_find_vqs. And within function vm_request_multiple_irqs, guest check whether the number of IRQs host device gives is equal to the number we want. for (i = 0; i < nirqs; i++) { irq = platform_get_irq(vm_dev->pdev, i); if (irq == -ENXIO) goto error; } If we can't get the expected number of IRQs, return error and this try fails. Then guest will try two IRQS and single IRQ like virtio-pci. > Could you please document the new interface? > E.g. s...
2014 Nov 06
0
[RFC PATCH] virtio-mmio: support for multiple irqs
..._vqs. And within function > vm_request_multiple_irqs, guest check whether the number of IRQs host > device gives is equal to the number we want. OK but how does host specify the number of IRQs for a device? for pci this is done through the MSI-X capability register. > for (i = 0; i < nirqs; i++) { > irq = platform_get_irq(vm_dev->pdev, i); > if (irq == -ENXIO) > goto error; > } > > If we can't get the expected number of IRQs, return error and this try > fails. Then guest will try two IRQS and single IRQ like virtio-pci. > > > Could you p...
2023 Oct 10
1
[PATCH 2/2] virtio-mmio: Support multiple interrupts per device
...gt;dev), vm_dev); > - if (err) > - return err; > - > - if (of_property_read_bool(vm_dev->pdev->dev.of_node, "wakeup-source")) > - enable_irq_wake(irq); > + struct virtio_mmio_vq_info *info; > + int i, err, irq, nirqs, queue_idx = 0; > + unsigned int irq_base = UINT_MAX; > > for (i = 0; i < nvqs; ++i) { > if (!names[i]) { > @@ -519,12 +544,51 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned int nvqs, > vqs[i] = vm_setup_vq(vdev, que...
2023 Oct 10
1
[PATCH 2/2] virtio-mmio: Support multiple interrupts per device
...gt;dev), vm_dev); > - if (err) > - return err; > - > - if (of_property_read_bool(vm_dev->pdev->dev.of_node, "wakeup-source")) > - enable_irq_wake(irq); > + struct virtio_mmio_vq_info *info; > + int i, err, irq, nirqs, queue_idx = 0; > + unsigned int irq_base = UINT_MAX; > > for (i = 0; i < nvqs; ++i) { > if (!names[i]) { > @@ -519,12 +544,51 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned int nvqs, > vqs[i] = vm_setup_vq(vdev, que...
2014 Nov 06
0
[RFC PATCH] virtio-mmio: support for multiple irqs
...virtqueue *vq, *n; > > list_for_each_entry_safe(vq, n, &vdev->vqs, list) > vm_del_vq(vq); > > - free_irq(platform_get_irq(vm_dev->pdev, 0), vm_dev); > + vm_free_irqs(vdev); > +} > + > +static int vm_request_multiple_irqs(struct virtio_device *vdev, int nirqs, > + bool per_vq_irq) > +{ > + int err = -ENOMEM; > + struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); > + unsigned i, v; > + int irq = 0; > + > + vm_dev->num_irqs = nirqs; > + vm_dev->used_irqs = 0; > + > + vm_dev->vm_vq_names = kmalloc_ar...
2014 Nov 04
6
[RFC PATCH] virtio-mmio: support for multiple irqs
...l_vqs(struct virtio_device *vdev) +{ struct virtqueue *vq, *n; list_for_each_entry_safe(vq, n, &vdev->vqs, list) vm_del_vq(vq); - free_irq(platform_get_irq(vm_dev->pdev, 0), vm_dev); + vm_free_irqs(vdev); +} + +static int vm_request_multiple_irqs(struct virtio_device *vdev, int nirqs, + bool per_vq_irq) +{ + int err = -ENOMEM; + struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); + unsigned i, v; + int irq = 0; + + vm_dev->num_irqs = nirqs; + vm_dev->used_irqs = 0; + + vm_dev->vm_vq_names = kmalloc_array(nirqs, sizeof(*vm_dev->vm_vq_names), + G...
2014 Nov 04
6
[RFC PATCH] virtio-mmio: support for multiple irqs
...l_vqs(struct virtio_device *vdev) +{ struct virtqueue *vq, *n; list_for_each_entry_safe(vq, n, &vdev->vqs, list) vm_del_vq(vq); - free_irq(platform_get_irq(vm_dev->pdev, 0), vm_dev); + vm_free_irqs(vdev); +} + +static int vm_request_multiple_irqs(struct virtio_device *vdev, int nirqs, + bool per_vq_irq) +{ + int err = -ENOMEM; + struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); + unsigned i, v; + int irq = 0; + + vm_dev->num_irqs = nirqs; + vm_dev->used_irqs = 0; + + vm_dev->vm_vq_names = kmalloc_array(nirqs, sizeof(*vm_dev->vm_vq_names), + G...
2013 Apr 30
4
Data Abort while in booting when using Julien's new patches on Arndale Board
Hello, I am trying to boot Arndale board with Julien''s new XenARM patch series. But I have got "Data Abort" while in booting. My environment is: - Arndale Board - Xen-4.3-unstable from branch "arm" in git://xenbits.xen.org/people/julieng/xen-unstable.git - Dom0 Kernel from branch "dev-arndale-dom0-3.9" in
2009 May 20
9
[PATCH] qemu: msi irq allocation api
define api for allocating/setting up msi-x irqs, and for updating them with msi-x vector information, supply implementation in ioapic. Please comment on this API: I intend to port my msi-x patch to work on top of it. Signed-off-by: Michael S. Tsirkin <mst at redhat.com> --- hw/apic.c | 1 - hw/ioapic.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ hw/irq.c
2009 May 20
9
[PATCH] qemu: msi irq allocation api
define api for allocating/setting up msi-x irqs, and for updating them with msi-x vector information, supply implementation in ioapic. Please comment on this API: I intend to port my msi-x patch to work on top of it. Signed-off-by: Michael S. Tsirkin <mst at redhat.com> --- hw/apic.c | 1 - hw/ioapic.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ hw/irq.c