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