search for: ifcvf_free_irq_vectors

Displaying 14 results from an estimated 14 matches for "ifcvf_free_irq_vectors".

2020 May 13
0
[PATCH V2] ifcvf: move IRQ request/free to status change handlers
.../drivers/vdpa/ifcvf/ifcvf_main.c > index abf6a061..d529ed6 100644 > --- a/drivers/vdpa/ifcvf/ifcvf_main.c > +++ b/drivers/vdpa/ifcvf/ifcvf_main.c > @@ -28,6 +28,60 @@ static irqreturn_t ifcvf_intr_handler(int irq, void *arg) > return IRQ_HANDLED; > } > > +static void ifcvf_free_irq_vectors(void *data) > +{ > + pci_free_irq_vectors(data); > +} > + > +static void ifcvf_free_irq(struct ifcvf_adapter *adapter, int queues) > +{ > + struct pci_dev *pdev = adapter->pdev; > + struct ifcvf_hw *vf = &adapter->vf; > + int i; > + > + > + for (i = 0;...
2020 May 11
0
[PATCH] ifcvf: move IRQ request/free to status change handlers
.../drivers/vdpa/ifcvf/ifcvf_main.c > index abf6a061..4d58bf2 100644 > --- a/drivers/vdpa/ifcvf/ifcvf_main.c > +++ b/drivers/vdpa/ifcvf/ifcvf_main.c > @@ -28,6 +28,60 @@ static irqreturn_t ifcvf_intr_handler(int irq, void *arg) > return IRQ_HANDLED; > } > > +static void ifcvf_free_irq_vectors(void *data) > +{ > + pci_free_irq_vectors(data); > +} > + > +static void ifcvf_free_irq(struct ifcvf_adapter *adapter, int queues) > +{ > + struct pci_dev *pdev = adapter->pdev; > + struct ifcvf_hw *vf = &adapter->vf; > + int i; > + > + > + for (i = 0;...
2020 May 12
1
[PATCH] ifcvf: move IRQ request/free to status change handlers
...f2 100644 >>> --- a/drivers/vdpa/ifcvf/ifcvf_main.c >>> +++ b/drivers/vdpa/ifcvf/ifcvf_main.c >>> @@ -28,6 +28,60 @@ static irqreturn_t ifcvf_intr_handler(int irq, >>> void *arg) >>> ????? return IRQ_HANDLED; >>> ? } >>> ? +static void ifcvf_free_irq_vectors(void *data) >>> +{ >>> +??? pci_free_irq_vectors(data); >>> +} >>> + >>> +static void ifcvf_free_irq(struct ifcvf_adapter *adapter, int queues) >>> +{ >>> +??? struct pci_dev *pdev = adapter->pdev; >>> +??? struct ifcvf_hw *...
2020 Jul 15
2
[PATCH 6/7] ifcvf: replace irq_request/free with helpers in vDPA core.
...>>> ? ? ????? for (i = 0; i < queues; i++) >>> -??????? devm_free_irq(&pdev->dev, vf->vring[i].irq, &vf->vring[i]); >>> +??????? vdpa_free_vq_irq(&pdev->dev, vdpa, vf->vring[i].irq, i, >>> &vf->vring[i]); >>> ? ????? ifcvf_free_irq_vectors(pdev); >>> ? } >>> @@ -60,6 +61,7 @@ static int ifcvf_request_irq(struct ifcvf_adapter >>> *adapter) >>> ? { >>> ????? struct pci_dev *pdev = adapter->pdev; >>> ????? struct ifcvf_hw *vf = &adapter->vf; >>> +??? struct vdpa_d...
2020 Jul 15
2
[PATCH 6/7] ifcvf: replace irq_request/free with helpers in vDPA core.
...>>> ? ? ????? for (i = 0; i < queues; i++) >>> -??????? devm_free_irq(&pdev->dev, vf->vring[i].irq, &vf->vring[i]); >>> +??????? vdpa_free_vq_irq(&pdev->dev, vdpa, vf->vring[i].irq, i, >>> &vf->vring[i]); >>> ? ????? ifcvf_free_irq_vectors(pdev); >>> ? } >>> @@ -60,6 +61,7 @@ static int ifcvf_request_irq(struct ifcvf_adapter >>> *adapter) >>> ? { >>> ????? struct pci_dev *pdev = adapter->pdev; >>> ????? struct ifcvf_hw *vf = &adapter->vf; >>> +??? struct vdpa_d...
2020 May 12
0
[PATCH] ifcvf: move IRQ request/free to status change handlers
...8bf2 100644 >>> --- a/drivers/vdpa/ifcvf/ifcvf_main.c >>> +++ b/drivers/vdpa/ifcvf/ifcvf_main.c >>> @@ -28,6 +28,60 @@ static irqreturn_t ifcvf_intr_handler(int irq, >>> void *arg) >>> ????? return IRQ_HANDLED; >>> ? } >>> +static void ifcvf_free_irq_vectors(void *data) >>> +{ >>> +??? pci_free_irq_vectors(data); >>> +} >>> + >>> +static void ifcvf_free_irq(struct ifcvf_adapter *adapter, int queues) >>> +{ >>> +??? struct pci_dev *pdev = adapter->pdev; >>> +??? struct ifcvf_hw *...
2023 May 08
1
[PATCH V2 4/5] vDPA/ifcvf: synchronize irqs in the reset routine
...s/vdpa/ifcvf/ifcvf_main.c b/drivers/vdpa/ifcvf/ifcvf_main.c index 968687159e44..3401b9901dd2 100644 --- a/drivers/vdpa/ifcvf/ifcvf_main.c +++ b/drivers/vdpa/ifcvf/ifcvf_main.c @@ -125,6 +125,7 @@ static void ifcvf_free_irq(struct ifcvf_hw *vf) ifcvf_free_vq_irq(vf); ifcvf_free_config_irq(vf); ifcvf_free_irq_vectors(pdev); + vf->num_msix_vectors = 0; } /* ifcvf MSIX vectors allocator, this helper tries to allocate @@ -343,36 +344,11 @@ static int ifcvf_request_irq(struct ifcvf_hw *vf) if (ret) return ret; - return 0; -} - -static int ifcvf_stop_datapath(struct ifcvf_adapter *adapter) -{ - struct...
2023 May 24
2
[PATCH V2 4/5] vDPA/ifcvf: synchronize irqs in the reset routine
...main.c > index 968687159e44..3401b9901dd2 100644 > --- a/drivers/vdpa/ifcvf/ifcvf_main.c > +++ b/drivers/vdpa/ifcvf/ifcvf_main.c > @@ -125,6 +125,7 @@ static void ifcvf_free_irq(struct ifcvf_hw *vf) > ifcvf_free_vq_irq(vf); > ifcvf_free_config_irq(vf); > ifcvf_free_irq_vectors(pdev); > + vf->num_msix_vectors = 0; > } > > /* ifcvf MSIX vectors allocator, this helper tries to allocate > @@ -343,36 +344,11 @@ static int ifcvf_request_irq(struct ifcvf_hw *vf) > if (ret) > return ret; > > - return 0; > -}...
2020 Jul 13
0
[PATCH 6/7] ifcvf: replace irq_request/free with helpers in vDPA core.
...*vdpa = &adapter->vdpa; > int i; > > > for (i = 0; i < queues; i++) > - devm_free_irq(&pdev->dev, vf->vring[i].irq, &vf->vring[i]); > + vdpa_free_vq_irq(&pdev->dev, vdpa, vf->vring[i].irq, i, &vf->vring[i]); > > ifcvf_free_irq_vectors(pdev); > } > @@ -60,6 +61,7 @@ static int ifcvf_request_irq(struct ifcvf_adapter *adapter) > { > struct pci_dev *pdev = adapter->pdev; > struct ifcvf_hw *vf = &adapter->vf; > + struct vdpa_device *vdpa = &adapter->vdpa; > int vector, i, ret, irq; &...
2020 Jul 15
0
[PATCH 6/7] ifcvf: replace irq_request/free with helpers in vDPA core.
...(i = 0; i < queues; i++) > > > > -??????? devm_free_irq(&pdev->dev, vf->vring[i].irq, &vf->vring[i]); > > > > +??????? vdpa_free_vq_irq(&pdev->dev, vdpa, vf->vring[i].irq, i, > > > > &vf->vring[i]); > > > > ? ????? ifcvf_free_irq_vectors(pdev); > > > > ? } > > > > @@ -60,6 +61,7 @@ static int ifcvf_request_irq(struct > > > > ifcvf_adapter *adapter) > > > > ? { > > > > ????? struct pci_dev *pdev = adapter->pdev; > > > > ????? struct ifcvf_hw *vf = &adapte...
2020 Jul 17
0
[PATCH V2 5/6] ifcvf: replace irq_request/free with vDPA helpers
...*vdpa = &adapter->vdpa; > int i; > > > for (i = 0; i < queues; i++) > - devm_free_irq(&pdev->dev, vf->vring[i].irq, &vf->vring[i]); > + vdpa_free_vq_irq(&pdev->dev, vdpa, vf->vring[i].irq, i, &vf->vring[i]); > > ifcvf_free_irq_vectors(pdev); > } > @@ -60,6 +61,7 @@ static int ifcvf_request_irq(struct ifcvf_adapter *adapter) > { > struct pci_dev *pdev = adapter->pdev; > struct ifcvf_hw *vf = &adapter->vf; > + struct vdpa_device *vdpa = &adapter->vdpa; > int vector, i, ret, irq; &...
2020 Jul 23
4
[PATCH 1/2] vdpa: ifcvf: return err when fail to request config irq
We ignore the err of requesting config interrupt, fix this. Fixes: e7991f376a4d ("ifcvf: implement config interrupt in IFCVF") Cc: Zhu Lingshan <lingshan.zhu at intel.com> Signed-off-by: Jason Wang <jasowang at redhat.com> --- drivers/vdpa/ifcvf/ifcvf_main.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c
2020 Jul 23
4
[PATCH 1/2] vdpa: ifcvf: return err when fail to request config irq
We ignore the err of requesting config interrupt, fix this. Fixes: e7991f376a4d ("ifcvf: implement config interrupt in IFCVF") Cc: Zhu Lingshan <lingshan.zhu at intel.com> Signed-off-by: Jason Wang <jasowang at redhat.com> --- drivers/vdpa/ifcvf/ifcvf_main.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c
2023 May 08
6
[PATCH V2 0/5] vDPA/ifcvf: implement immediate initialization mechanism
Formerly, ifcvf driver has implemented a lazy-initialization mechanism for the virtqueues and other config space contents, it would store all configurations that passed down from the userspace, then load them to the device config space upon DRIVER_OK. This can not serve live migration, so this series implement an immediate initialization mechanism, which means rather than the former store-load