search for: config_msix_nam

Displaying 17 results from an estimated 17 matches for "config_msix_nam".

Did you mean: config_msix_name
2014 Apr 19
1
RFC: sharing config interrupt between virtio devices for saving MSI
...ivers/virtio/virtio_pci.c index 101db3f..5ba348d 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -302,6 +302,8 @@ static void vp_free_vectors(struct virtio_device *vdev) vp_dev->msix_affinity_masks = NULL; } +//static msix_entry *config_msix_entry; +static char config_msix_name[100]; static int vp_request_msix_vectors(struct virtio_device *vdev, int nvectors, bool per_vq_vectors) { @@ -341,14 +343,13 @@ static int vp_request_msix_vectors(struct virtio_device *vdev, int nvectors, /* Set the vector used for configuration */ v = vp_dev->msix_used_vectors;...
2014 Apr 19
1
RFC: sharing config interrupt between virtio devices for saving MSI
...ivers/virtio/virtio_pci.c index 101db3f..5ba348d 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -302,6 +302,8 @@ static void vp_free_vectors(struct virtio_device *vdev) vp_dev->msix_affinity_masks = NULL; } +//static msix_entry *config_msix_entry; +static char config_msix_name[100]; static int vp_request_msix_vectors(struct virtio_device *vdev, int nvectors, bool per_vq_vectors) { @@ -341,14 +343,13 @@ static int vp_request_msix_vectors(struct virtio_device *vdev, int nvectors, /* Set the vector used for configuration */ v = vp_dev->msix_used_vectors;...
2014 Sep 01
3
[PATCH RFC] virtio-pci: share config interrupt between virtio devices
...index 3d1463c..b1263b3 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -52,6 +52,7 @@ struct virtio_pci_device /* Name strings for interrupts. This size should be enough, * and I'm too lazy to allocate each name separately. */ char (*msix_names)[256]; + char config_msix_name[256]; /* Number of available vectors */ unsigned msix_vectors; /* Vectors allocated, excluding per-vq vectors if any */ @@ -282,12 +283,6 @@ static void vp_free_vectors(struct virtio_device *vdev) free_cpumask_var(vp_dev->msix_affinity_masks[i]); if (vp_dev->msix_enabled) { -...
2014 Sep 01
3
[PATCH RFC] virtio-pci: share config interrupt between virtio devices
...index 3d1463c..b1263b3 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -52,6 +52,7 @@ struct virtio_pci_device /* Name strings for interrupts. This size should be enough, * and I'm too lazy to allocate each name separately. */ char (*msix_names)[256]; + char config_msix_name[256]; /* Number of available vectors */ unsigned msix_vectors; /* Vectors allocated, excluding per-vq vectors if any */ @@ -282,12 +283,6 @@ static void vp_free_vectors(struct virtio_device *vdev) free_cpumask_var(vp_dev->msix_affinity_masks[i]); if (vp_dev->msix_enabled) { -...
2020 Apr 26
1
[PATCH 2/2] vdpa: implement config interrupt in IFCVF
...gt; index e803070..76928b0 100644 > --- a/drivers/vdpa/ifcvf/ifcvf_base.h > +++ b/drivers/vdpa/ifcvf/ifcvf_base.h > @@ -81,6 +81,8 @@ struct ifcvf_hw { > void __iomem *net_cfg; > struct vring_info vring[IFCVF_MAX_QUEUE_PAIRS * 2]; > void __iomem * const *base; > + char config_msix_name[256]; > + struct vdpa_callback config_cb; > }; > > struct ifcvf_adapter { > diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/drivers/vdpa/ifcvf/ifcvf_main.c > index 8d54dc5..f7baeca 100644 > --- a/drivers/vdpa/ifcvf/ifcvf_main.c > +++ b/drivers/vdpa/ifcvf/ifcvf_main.c...
2020 Jul 23
4
[PATCH 1/2] vdpa: ifcvf: return err when fail to request config irq
...c index f5a60c14b979..ae7110955a44 100644 --- a/drivers/vdpa/ifcvf/ifcvf_main.c +++ b/drivers/vdpa/ifcvf/ifcvf_main.c @@ -76,6 +76,10 @@ static int ifcvf_request_irq(struct ifcvf_adapter *adapter) ret = devm_request_irq(&pdev->dev, irq, ifcvf_config_changed, 0, vf->config_msix_name, vf); + if (ret) { + IFCVF_ERR(pdev, "Failed to request config irq\n"); + return ret; + } for (i = 0; i < IFCVF_MAX_QUEUE_PAIRS * 2; i++) { snprintf(vf->vring[i].msix_name, 256, "ifcvf[%s]-%d\n", -- 2.20.1
2020 Jul 23
4
[PATCH 1/2] vdpa: ifcvf: return err when fail to request config irq
...c index f5a60c14b979..ae7110955a44 100644 --- a/drivers/vdpa/ifcvf/ifcvf_main.c +++ b/drivers/vdpa/ifcvf/ifcvf_main.c @@ -76,6 +76,10 @@ static int ifcvf_request_irq(struct ifcvf_adapter *adapter) ret = devm_request_irq(&pdev->dev, irq, ifcvf_config_changed, 0, vf->config_msix_name, vf); + if (ret) { + IFCVF_ERR(pdev, "Failed to request config irq\n"); + return ret; + } for (i = 0; i < IFCVF_MAX_QUEUE_PAIRS * 2; i++) { snprintf(vf->vring[i].msix_name, 256, "ifcvf[%s]-%d\n", -- 2.20.1
2014 Sep 01
1
[PATCH RFC] virtio-pci: share config interrupt between virtio devices
...i.c > > +++ b/drivers/virtio/virtio_pci.c > > @@ -52,6 +52,7 @@ struct virtio_pci_device > > /* Name strings for interrupts. This size should be enough, > > * and I'm too lazy to allocate each name separately. */ > > char (*msix_names)[256]; > > + char config_msix_name[256]; > > /* Number of available vectors */ > > unsigned msix_vectors; > > /* Vectors allocated, excluding per-vq vectors if any */ > > @@ -282,12 +283,6 @@ static void vp_free_vectors(struct virtio_device *vdev) > > free_cpumask_var(vp_dev->msix_affinity...
2014 Sep 01
1
[PATCH RFC] virtio-pci: share config interrupt between virtio devices
...i.c > > +++ b/drivers/virtio/virtio_pci.c > > @@ -52,6 +52,7 @@ struct virtio_pci_device > > /* Name strings for interrupts. This size should be enough, > > * and I'm too lazy to allocate each name separately. */ > > char (*msix_names)[256]; > > + char config_msix_name[256]; > > /* Number of available vectors */ > > unsigned msix_vectors; > > /* Vectors allocated, excluding per-vq vectors if any */ > > @@ -282,12 +283,6 @@ static void vp_free_vectors(struct virtio_device *vdev) > > free_cpumask_var(vp_dev->msix_affinity...
2020 Apr 26
0
[PATCH V3 2/2] vdpa: implement config interrupt in IFCVF
...PLATFORM) | \ > (1ULL << VIRTIO_F_IOMMU_PLATFORM) | \ > (1ULL << VIRTIO_NET_F_MRG_RXBUF)) > @@ -81,6 +82,8 @@ struct ifcvf_hw { > void __iomem *net_cfg; > struct vring_info vring[IFCVF_MAX_QUEUE_PAIRS * 2]; > void __iomem * const *base; > + char config_msix_name[256]; > + struct vdpa_callback config_cb; > }; > > struct ifcvf_adapter { > diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/drivers/vdpa/ifcvf/ifcvf_main.c > index 8d54dc5..f7baeca 100644 > --- a/drivers/vdpa/ifcvf/ifcvf_main.c > +++ b/drivers/vdpa/ifcvf/ifcvf_main.c...
2014 Sep 01
0
[PATCH RFC] virtio-pci: share config interrupt between virtio devices
...--- a/drivers/virtio/virtio_pci.c > +++ b/drivers/virtio/virtio_pci.c > @@ -52,6 +52,7 @@ struct virtio_pci_device > /* Name strings for interrupts. This size should be enough, > * and I'm too lazy to allocate each name separately. */ > char (*msix_names)[256]; > + char config_msix_name[256]; > /* Number of available vectors */ > unsigned msix_vectors; > /* Vectors allocated, excluding per-vq vectors if any */ > @@ -282,12 +283,6 @@ static void vp_free_vectors(struct virtio_device *vdev) > free_cpumask_var(vp_dev->msix_affinity_masks[i]); > >...
2020 Jul 15
2
[PATCH 6/7] ifcvf: replace irq_request/free with helpers in vDPA core.
...gt; ????? irq = pci_irq_vector(pdev, vector); >>> +??? /* config interrupt */ >> >> >> Unnecessary changes. > This is to show we did not setup this irq offloading for config > interrupt, only setup irq offloading for data vq. But can remove this > since we have config_msix_name in code to show what it is Btw, any reason for not making config interrupt work for irq offloading? I don't see any thing that blocks this. Thanks > Thanks BR Zhu Lingshan >>
2020 Jul 15
2
[PATCH 6/7] ifcvf: replace irq_request/free with helpers in vDPA core.
...gt; ????? irq = pci_irq_vector(pdev, vector); >>> +??? /* config interrupt */ >> >> >> Unnecessary changes. > This is to show we did not setup this irq offloading for config > interrupt, only setup irq offloading for data vq. But can remove this > since we have config_msix_name in code to show what it is Btw, any reason for not making config interrupt work for irq offloading? I don't see any thing that blocks this. Thanks > Thanks BR Zhu Lingshan >>
2020 Jul 13
0
[PATCH 6/7] ifcvf: replace irq_request/free with helpers in vDPA core.
...ifcvf_adapter *adapter) > pci_name(pdev)); > vector = 0; > irq = pci_irq_vector(pdev, vector); > + /* config interrupt */ Unnecessary changes. Thanks > ret = devm_request_irq(&pdev->dev, irq, > ifcvf_config_changed, 0, > vf->config_msix_name, vf); > @@ -82,13 +85,11 @@ static int ifcvf_request_irq(struct ifcvf_adapter *adapter) > pci_name(pdev), i); > vector = i + IFCVF_MSI_QUEUE_OFF; > irq = pci_irq_vector(pdev, vector); > - ret = devm_request_irq(&pdev->dev, irq, > + ret = vdpa_alloc_vq_irq(&...
2020 Jul 15
0
[PATCH 6/7] ifcvf: replace irq_request/free with helpers in vDPA core.
...tor); > > > > +??? /* config interrupt */ > > > > > > > > > Unnecessary changes. > > This is to show we did not setup this irq offloading for config > > interrupt, only setup irq offloading for data vq. But can remove this > > since we have config_msix_name in code to show what it is > > > Btw, any reason for not making config interrupt work for irq offloading? I > don't see any thing that blocks this. > > Thanks Well config accesses all go through userspace right? Doing config interrupt directly would just be messy ... &g...
2020 Jul 17
0
[PATCH V2 5/6] ifcvf: replace irq_request/free with vDPA helpers
...rupt, config accesses all go Missing a blank between is and config. Thanks > + * through userspace, so no need to setup > + * config interrupt offloading. > + */ > ret = devm_request_irq(&pdev->dev, irq, > ifcvf_config_changed, 0, > vf->config_msix_name, vf); > @@ -82,13 +88,11 @@ static int ifcvf_request_irq(struct ifcvf_adapter *adapter) > pci_name(pdev), i); > vector = i + IFCVF_MSI_QUEUE_OFF; > irq = pci_irq_vector(pdev, vector); > - ret = devm_request_irq(&pdev->dev, irq, > + ret = vdpa_alloc_vq_irq(&...
2020 Aug 07
0
[PATCH 1/2] vdpa: ifcvf: return err when fail to request config irq
...4 100644 > --- a/drivers/vdpa/ifcvf/ifcvf_main.c > +++ b/drivers/vdpa/ifcvf/ifcvf_main.c > @@ -76,6 +76,10 @@ static int ifcvf_request_irq(struct ifcvf_adapter *adapter) > ret = devm_request_irq(&pdev->dev, irq, > ifcvf_config_changed, 0, > vf->config_msix_name, vf); > + if (ret) { > + IFCVF_ERR(pdev, "Failed to request config irq\n"); > + return ret; > + } > > for (i = 0; i < IFCVF_MAX_QUEUE_PAIRS * 2; i++) { > snprintf(vf->vring[i].msix_name, 256, "ifcvf[%s]-%d\n", Hi Michael: Any comments o...