search for: msix_entry

Displaying 20 results from an estimated 158 matches for "msix_entry".

2009 May 14
1
[PATCHv6 4/4] virtio_pci: optional MSI-X support
....65627a4 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -42,6 +42,26 @@ struct virtio_pci_device /* a list of queues so we can dispatch IRQs */ spinlock_t lock; struct list_head virtqueues; + + /* MSI-X support */ + int msix_enabled; + int intx_enabled; + struct msix_entry *msix_entries; + /* Name strings for interrupts. This size should be enough, + * and I'm too lazy to allocate each name separately. */ + char (*msix_names)[256]; + /* Number of available vectors */ + unsigned msix_vectors; + /* Vectors allocated */ + unsigned msix_used_vectors; +}; + +/* Const...
2009 May 14
1
[PATCHv6 4/4] virtio_pci: optional MSI-X support
....65627a4 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -42,6 +42,26 @@ struct virtio_pci_device /* a list of queues so we can dispatch IRQs */ spinlock_t lock; struct list_head virtqueues; + + /* MSI-X support */ + int msix_enabled; + int intx_enabled; + struct msix_entry *msix_entries; + /* Name strings for interrupts. This size should be enough, + * and I'm too lazy to allocate each name separately. */ + char (*msix_names)[256]; + /* Number of available vectors */ + unsigned msix_vectors; + /* Vectors allocated */ + unsigned msix_used_vectors; +}; + +/* Const...
2009 Jul 26
1
[PATCHv4 2/2] virtio: refactor find_vqs
...*/ unsigned msix_used_vectors; + /* Whether we have vector per vq */ + bool per_vq_vectors; }; /* Constants for MSI-X */ @@ -278,27 +280,24 @@ static void vp_free_vectors(struct virtio_device *vdev) vp_dev->msix_entries = NULL; } -static int vp_enable_msix(struct pci_dev *dev, struct msix_entry *entries, - int *options, int noptions) -{ - int i; - for (i = 0; i < noptions; ++i) - if (!pci_enable_msix(dev, entries, options[i])) - return options[i]; - return -EBUSY; -} - -static int vp_request_vectors(struct virtio_device *vdev, unsigned max_vqs) +static int vp_request_vectors(str...
2009 Jul 26
1
[PATCHv4 2/2] virtio: refactor find_vqs
...*/ unsigned msix_used_vectors; + /* Whether we have vector per vq */ + bool per_vq_vectors; }; /* Constants for MSI-X */ @@ -278,27 +280,24 @@ static void vp_free_vectors(struct virtio_device *vdev) vp_dev->msix_entries = NULL; } -static int vp_enable_msix(struct pci_dev *dev, struct msix_entry *entries, - int *options, int noptions) -{ - int i; - for (i = 0; i < noptions; ++i) - if (!pci_enable_msix(dev, entries, options[i])) - return options[i]; - return -EBUSY; -} - -static int vp_request_vectors(struct virtio_device *vdev, unsigned max_vqs) +static int vp_request_vectors(str...
2009 Jul 26
0
[PATCHv3 2/2] virtio: refactor find_vqs
...*/ unsigned msix_used_vectors; + /* Whether we have vector per vq */ + bool per_vq_vectors; }; /* Constants for MSI-X */ @@ -278,27 +280,24 @@ static void vp_free_vectors(struct virtio_device *vdev) vp_dev->msix_entries = NULL; } -static int vp_enable_msix(struct pci_dev *dev, struct msix_entry *entries, - int *options, int noptions) -{ - int i; - for (i = 0; i < noptions; ++i) - if (!pci_enable_msix(dev, entries, options[i])) - return options[i]; - return -EBUSY; -} - -static int vp_request_vectors(struct virtio_device *vdev, unsigned max_vqs) +static int vp_request_vectors(str...
2009 Jul 26
0
[PATCHv3 2/2] virtio: refactor find_vqs
...*/ unsigned msix_used_vectors; + /* Whether we have vector per vq */ + bool per_vq_vectors; }; /* Constants for MSI-X */ @@ -278,27 +280,24 @@ static void vp_free_vectors(struct virtio_device *vdev) vp_dev->msix_entries = NULL; } -static int vp_enable_msix(struct pci_dev *dev, struct msix_entry *entries, - int *options, int noptions) -{ - int i; - for (i = 0; i < noptions; ++i) - if (!pci_enable_msix(dev, entries, options[i])) - return options[i]; - return -EBUSY; -} - -static int vp_request_vectors(struct virtio_device *vdev, unsigned max_vqs) +static int vp_request_vectors(str...
2009 May 07
1
[PATCH 3/3] virtio_pci: optional MSI-X support
...pci.c index f7b79a2..2b6333c 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -42,6 +42,28 @@ struct virtio_pci_device /* a list of queues so we can dispatch IRQs */ spinlock_t lock; struct list_head virtqueues; + + /* MSI-X support */ + int msix_enabled; + struct msix_entry *msix_entries; + /* Name strings for interrupts. This size should be enough, + * and I'm too lazy to allocate each name separately. */ + char (*msix_names)[256]; + /* Number of vectors configured at startup (excludes per-virtqueue + * vectors if any) */ + unsigned msix_preset_vectors; + /* Nu...
2009 May 07
1
[PATCH 3/3] virtio_pci: optional MSI-X support
...pci.c index f7b79a2..2b6333c 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -42,6 +42,28 @@ struct virtio_pci_device /* a list of queues so we can dispatch IRQs */ spinlock_t lock; struct list_head virtqueues; + + /* MSI-X support */ + int msix_enabled; + struct msix_entry *msix_entries; + /* Name strings for interrupts. This size should be enough, + * and I'm too lazy to allocate each name separately. */ + char (*msix_names)[256]; + /* Number of vectors configured at startup (excludes per-virtqueue + * vectors if any) */ + unsigned msix_preset_vectors; + /* Nu...
2009 Apr 27
0
[PATCH 8/8] virtio_pci: optional MSI-X support
...ivers/virtio/virtio_pci.c index 151538c..20bdc8c 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -42,8 +42,33 @@ struct virtio_pci_device /* a list of queues so we can dispatch IRQs */ spinlock_t lock; struct list_head virtqueues; + + /* MSI-X support */ + struct msix_entry *msix_entries; + /* Name strings for interrupts. This size should be enough, + * and I'm too lazy to allocate each name separately. */ + char (*msix_names)[256]; + /* Number of vectors configured at startup (excludes per-virtqueue + * vectors if any) */ + unsigned msix_preset_vectors; + /* Nu...
2009 Apr 27
0
[PATCH 8/8] virtio_pci: optional MSI-X support
...ivers/virtio/virtio_pci.c index 151538c..20bdc8c 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -42,8 +42,33 @@ struct virtio_pci_device /* a list of queues so we can dispatch IRQs */ spinlock_t lock; struct list_head virtqueues; + + /* MSI-X support */ + struct msix_entry *msix_entries; + /* Name strings for interrupts. This size should be enough, + * and I'm too lazy to allocate each name separately. */ + char (*msix_names)[256]; + /* Number of vectors configured at startup (excludes per-virtqueue + * vectors if any) */ + unsigned msix_preset_vectors; + /* Nu...
2009 May 13
1
[PATCHv5 3/3] virtio_pci: optional MSI-X support
....65627a4 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -42,6 +42,26 @@ struct virtio_pci_device /* a list of queues so we can dispatch IRQs */ spinlock_t lock; struct list_head virtqueues; + + /* MSI-X support */ + int msix_enabled; + int intx_enabled; + struct msix_entry *msix_entries; + /* Name strings for interrupts. This size should be enough, + * and I'm too lazy to allocate each name separately. */ + char (*msix_names)[256]; + /* Number of available vectors */ + unsigned msix_vectors; + /* Vectors allocated */ + unsigned msix_used_vectors; +}; + +/* Const...
2009 May 13
1
[PATCHv5 3/3] virtio_pci: optional MSI-X support
....65627a4 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -42,6 +42,26 @@ struct virtio_pci_device /* a list of queues so we can dispatch IRQs */ spinlock_t lock; struct list_head virtqueues; + + /* MSI-X support */ + int msix_enabled; + int intx_enabled; + struct msix_entry *msix_entries; + /* Name strings for interrupts. This size should be enough, + * and I'm too lazy to allocate each name separately. */ + char (*msix_names)[256]; + /* Number of available vectors */ + unsigned msix_vectors; + /* Vectors allocated */ + unsigned msix_used_vectors; +}; + +/* Const...
2009 Jul 23
0
qemu-kvm missing some msix capability check
.../drivers/virtio/virtio_pci.c > index 9dcc368..567c972 100644 > --- a/drivers/virtio/virtio_pci.c > +++ b/drivers/virtio/virtio_pci.c > @@ -273,26 +273,35 @@ static void vp_free_vectors(struct virtio_device *vdev) > } > > static int vp_enable_msix(struct pci_dev *dev, struct msix_entry *entries, > - int *options, int noptions) > + int nvectors) > { > - int i; > - for (i = 0; i < noptions; ++i) > - if (!pci_enable_msix(dev, entries, options[i])) > - return options[i]; > - return -EBUSY; > + int err = pci_enable_msix(dev, entries, nvectors)...
2009 Jul 23
0
qemu-kvm missing some msix capability check
.../drivers/virtio/virtio_pci.c > index 9dcc368..567c972 100644 > --- a/drivers/virtio/virtio_pci.c > +++ b/drivers/virtio/virtio_pci.c > @@ -273,26 +273,35 @@ static void vp_free_vectors(struct virtio_device *vdev) > } > > static int vp_enable_msix(struct pci_dev *dev, struct msix_entry *entries, > - int *options, int noptions) > + int nvectors) > { > - int i; > - for (i = 0; i < noptions; ++i) > - if (!pci_enable_msix(dev, entries, options[i])) > - return options[i]; > - return -EBUSY; > + int err = pci_enable_msix(dev, entries, nvectors)...
2014 Feb 19
3
[PATCH] virtio: Use pci_enable_msix_range() instead of pci_enable_msix()
As result deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() and pci_enable_msix_range() interfaces. Signed-off-by: Alexander Gordeev <agordeev at redhat.com> Cc: Rusty Russell <rusty at rustcorp.com.au> Cc: "Michael S. Tsirkin" <mst at
2014 Feb 19
3
[PATCH] virtio: Use pci_enable_msix_range() instead of pci_enable_msix()
As result deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() and pci_enable_msix_range() interfaces. Signed-off-by: Alexander Gordeev <agordeev at redhat.com> Cc: Rusty Russell <rusty at rustcorp.com.au> Cc: "Michael S. Tsirkin" <mst at
2010 Mar 25
2
[PATCH v3 1/1] Shared memory uio_pci driver
...gt; > +#include <linux/uio_driver.h> > + > +#include <asm/io.h> > + > +#define IntrStatus 0x04 > +#define IntrMask 0x00 > + > +struct ivshmem_info { > + struct uio_info *uio; > + struct pci_dev *dev; > + char (*msix_names)[256]; > + struct msix_entry *msix_entries; > + int nvectors; > +}; > + > +static irqreturn_t ivshmem_handler(int irq, struct uio_info *dev_info) > +{ > + > + void __iomem *plx_intscr = dev_info->mem[0].internal_addr > + + IntrStatus; > + u32 val; > + > + val =...
2010 Mar 25
2
[PATCH v3 1/1] Shared memory uio_pci driver
...gt; > +#include <linux/uio_driver.h> > + > +#include <asm/io.h> > + > +#define IntrStatus 0x04 > +#define IntrMask 0x00 > + > +struct ivshmem_info { > + struct uio_info *uio; > + struct pci_dev *dev; > + char (*msix_names)[256]; > + struct msix_entry *msix_entries; > + int nvectors; > +}; > + > +static irqreturn_t ivshmem_handler(int irq, struct uio_info *dev_info) > +{ > + > + void __iomem *plx_intscr = dev_info->mem[0].internal_addr > + + IntrStatus; > + u32 val; > + > + val =...
2013 Jun 20
3
[PATCH] virtio-pci: fix leaks of msix_affinity_masks
From: Andrew Vagin <avagin at openvz.org> vp_dev->msix_vectors should be initialized before allocating msix_affinity_masks, otherwise vp_free_vectors will not free these objects. unreferenced object 0xffff88010f969d88 (size 512): comm "systemd-udevd", pid 158, jiffies 4294673645 (age 80.545s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2013 Jun 20
3
[PATCH] virtio-pci: fix leaks of msix_affinity_masks
From: Andrew Vagin <avagin at openvz.org> vp_dev->msix_vectors should be initialized before allocating msix_affinity_masks, otherwise vp_free_vectors will not free these objects. unreferenced object 0xffff88010f969d88 (size 512): comm "systemd-udevd", pid 158, jiffies 4294673645 (age 80.545s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00