Displaying 12 results from an estimated 12 matches for "ifcvf_intr_handl".
Did you mean:
ifcvf_intr_handler
2020 May 13
0
[PATCH V2] ifcvf: move IRQ request/free to status change handlers
...le changed, 73 insertions(+), 47 deletions(-)
>
> diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/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...
2020 May 11
0
[PATCH] ifcvf: move IRQ request/free to status change handlers
...le changed, 73 insertions(+), 46 deletions(-)
>
> diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/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...
2020 May 12
0
[PATCH] ifcvf: move IRQ request/free to status change handlers
...;>> diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c
>>> b/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...
2020 May 12
1
[PATCH] ifcvf: move IRQ request/free to status change handlers
...;>> diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c
>>> b/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 ifc...
2020 Apr 26
1
[PATCH 2/2] vdpa: implement config interrupt in IFCVF
....callback)
> + return vf->config_cb.callback(vf->config_cb.private);
> +
> + return IRQ_HANDLED;
So it looks to me the current support of VIRTIO_NET_F_STATUS is broken
without this patch.
We probably need to patch to disable it.
Thanks
> +}
> +
> static irqreturn_t ifcvf_intr_handler(int irq, void *arg)
> {
> struct vring_info *vring = arg;
> @@ -256,7 +266,10 @@ static void ifcvf_vdpa_set_config(struct vdpa_device *vdpa_dev,
> static void ifcvf_vdpa_set_config_cb(struct vdpa_device *vdpa_dev,
> struct vdpa_callback *cb)
> {
> - /* We...
2019 Oct 21
0
[RFC 2/2] vhost: IFC VF vdpa layer
...+
>>> +#include "ifcvf_base.h"
>>> +
>>> +#define VERSION_STRING??? "0.1"
>>> +#define DRIVER_AUTHOR??? "Intel Corporation"
>>> +#define IFCVF_DRIVER_NAME??? "ifcvf"
>>> +
>>> +static irqreturn_t ifcvf_intr_handler(int irq, void *arg)
>>> +{
>>> +??? struct vring_info *vring = arg;
>>> +
>>> +??? if (vring->cb.callback)
>>> +??????? return vring->cb.callback(vring->cb.private);
>>> +
>>> +??? return IRQ_HANDLED;
>>> +}
>>...
2020 Apr 02
0
[PATCH v2 -next] vdpa: remove unused variables 'ifcvf' and 'ifcvf_lm'
...;
ifc_iowrite16(IFCVF_MSI_CONFIG_OFF, &cfg->msix_config);
diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c b/drivers/vdpa/ifcvf/ifcvf_main.c
index 8d54dc5b08d2..28d9e5de5675 100644
--- a/drivers/vdpa/ifcvf/ifcvf_main.c
+++ b/drivers/vdpa/ifcvf/ifcvf_main.c
@@ -31,11 +31,9 @@ static irqreturn_t ifcvf_intr_handler(int irq, void *arg)
static int ifcvf_start_datapath(void *private)
{
struct ifcvf_hw *vf = ifcvf_private_to_vf(private);
- struct ifcvf_adapter *ifcvf;
u8 status;
int ret;
- ifcvf = vf_to_adapter(vf);
vf->nr_vring = IFCVF_MAX_QUEUE_PAIRS * 2;
ret = ifcvf_start_hw(vf);
if (ret &...
2020 Jul 13
0
[PATCH 6/7] ifcvf: replace irq_request/free with helpers in vDPA core.
...vf_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(&pdev->dev, vdpa, irq,
> ifcvf_intr_handler, 0,
> vf->vring[i].msix_name,
> - &vf->vring[i]);
> + &vf->vring[i], i);
> if (ret) {
> - IFCVF_ERR(pdev,
> - "Failed to request irq for vq %d\n", i);
> ifcvf_free_irq(adapter, i);
>
> r...
2020 Jul 17
0
[PATCH V2 5/6] ifcvf: replace irq_request/free with vDPA helpers
...vf_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(&pdev->dev, vdpa, irq,
> ifcvf_intr_handler, 0,
> vf->vring[i].msix_name,
> - &vf->vring[i]);
> + &vf->vring[i], i);
> if (ret) {
> - IFCVF_ERR(pdev,
> - "Failed to request irq for vq %d\n", i);
> ifcvf_free_irq(adapter, i);
>
> r...
2020 Apr 26
0
[PATCH V3 2/2] vdpa: implement config interrupt in IFCVF
...> +static irqreturn_t ifcvf_config_changed(int irq, void *arg)
> +{
> + struct ifcvf_hw *vf = arg;
> +
> + if (vf->config_cb.callback)
> + return vf->config_cb.callback(vf->config_cb.private);
> +
> + return IRQ_HANDLED;
> +}
> +
> static irqreturn_t ifcvf_intr_handler(int irq, void *arg)
> {
> struct vring_info *vring = arg;
> @@ -256,7 +266,10 @@ static void ifcvf_vdpa_set_config(struct vdpa_device *vdpa_dev,
> static void ifcvf_vdpa_set_config_cb(struct vdpa_device *vdpa_dev,
> struct vdpa_callback *cb)
> {
> - /* We...
2019 Oct 16
0
[RFC 2/2] vhost: IFC VF vdpa layer
...ude <linux/pci.h>
> +#include <linux/sysfs.h>
> +
> +#include "ifcvf_base.h"
> +
> +#define VERSION_STRING "0.1"
> +#define DRIVER_AUTHOR "Intel Corporation"
> +#define IFCVF_DRIVER_NAME "ifcvf"
> +
> +static irqreturn_t ifcvf_intr_handler(int irq, void *arg)
> +{
> + struct vring_info *vring = arg;
> +
> + if (vring->cb.callback)
> + return vring->cb.callback(vring->cb.private);
> +
> + return IRQ_HANDLED;
> +}
> +
> +static u64 ifcvf_mdev_get_features(struct mdev_device *mdev)
> +{
>...
2019 Nov 06
0
[PATCH 2/2] IFC VDPA layer
...VF_DRIVER_NAME "ifcvf"
> +
> +static struct ifcvf_hw *mdev_to_vf(struct mdev_device *mdev)
> +{
> + struct ifcvf_asapter *adapter = mdev_get_drvdata(mdev);
> + struct ifcvf_hw *vf = IFC_PRIVATE_TO_VF(adapter);
> +
> + return vf;
> +}
> +
> +static irqreturn_t ifcvf_intr_handler(int irq, void *arg)
> +{
> + struct vring_info *vring = arg;
> +
> + if (vring->cb.callback)
> + return vring->cb.callback(vring->cb.private);
> +
> + return IRQ_HANDLED;
> +}
> +
> +static u64 ifcvf_mdev_get_features(struct mdev_device *mdev)
> +{
>...