search for: virtio_vdpa_config_cb

Displaying 13 results from an estimated 13 matches for "virtio_vdpa_config_cb".

2023 May 04
2
[PATCH] virtio-vdpa: Fix unchecked call to NULL set_vq_affinity
...9 @@ static int virtio_vdpa_find_vqs(struct virtio_device *vdev, unsigned int nvqs, err = PTR_ERR(vqs[i]); goto err_setup_vq; } - ops->set_vq_affinity(vdpa, i, &masks[i]); + + if (ops->set_vq_affinity) + ops->set_vq_affinity(vdpa, i, &masks[i]); } cb.callback = virtio_vdpa_config_cb; -- 2.40.1
2023 May 04
2
[PATCH] virtio-vdpa: Fix unchecked call to NULL set_vq_affinity
...ty(vdpa, i, &masks[i]); > + > + if (ops->set_vq_affinity) > + ops->set_vq_affinity(vdpa, i, &masks[i]); if ops->set_vq_affinity is NULL, should give an error code to err, and return err > } > > cb.callback = virtio_vdpa_config_cb; > -- > 2.40.1 >
2023 May 04
1
[PATCH] virtio-vdpa: Fix unchecked call to NULL set_vq_affinity
...????????????????? ops->set_vq_affinity(vdpa, i, &masks[i]); > if ops->set_vq_affinity is NULL, should give an error code to err, and > return err > I don't think so: the set_vq_affinity is marked as optional. > > ???????? } > > > > ???????? cb.callback = virtio_vdpa_config_cb; > > -- > > 2.40.1 > >
2023 May 04
2
[PATCH] virtio-vdpa: Fix unchecked call to NULL set_vq_affinity
...> if ops->set_vq_affinity is NULL, should give an error code to err, and > return err Given we ignore return code, hardly seems like a critical thing to do. Is it really important? affinity is an optimization isn't it? > > } > > > > cb.callback = virtio_vdpa_config_cb; > > -- > > 2.40.1 > >
2023 Apr 02
2
[PATCH] virtio-vdpa: add VIRTIO_F_NOTIFICATION_DATA feature support
...tic bool virtio_vdpa_notify_with_data(struct virtqueue *vq) +{ + struct vdpa_device *vdpa = vd_get_vdpa(vq->vdev); + const struct vdpa_config_ops *ops = vdpa->config; + u32 data = vring_notification_data(vq); + + ops->kick_vq_with_data(vdpa, data); + + return true; +} + static irqreturn_t virtio_vdpa_config_cb(void *private) { struct virtio_vdpa_device *vd_dev = private; @@ -138,6 +149,7 @@ virtio_vdpa_setup_vq(struct virtio_device *vdev, unsigned int index, struct device *dma_dev; const struct vdpa_config_ops *ops = vdpa->config; struct virtio_vdpa_vq_info *info; + bool (*notify)(struct virt...
2020 Feb 10
0
[PATCH V2 4/5] virtio: introduce a vDPA based transport
...fig; + + return ops->set_status(vdpa, 0); +} + +static bool virtio_vdpa_notify(struct virtqueue *vq) +{ + struct vdpa_device *vdpa = vd_get_vdpa(vq->vdev); + const struct vdpa_config_ops *ops = vdpa->config; + + ops->kick_vq(vdpa, vq->index); + + return true; +} + +static irqreturn_t virtio_vdpa_config_cb(void *private) +{ + struct virtio_vdpa_device *vd_dev = private; + + virtio_config_changed(&vd_dev->vdev); + + return IRQ_HANDLED; +} + +static irqreturn_t virtio_vdpa_virtqueue_cb(void *private) +{ + struct virtio_vdpa_vq_info *info = private; + + return vring_interrupt(0, info->vq); +}...
2020 Feb 20
0
[PATCH V3 4/5] virtio: introduce a vDPA based transport
...fig; + + return ops->set_status(vdpa, 0); +} + +static bool virtio_vdpa_notify(struct virtqueue *vq) +{ + struct vdpa_device *vdpa = vd_get_vdpa(vq->vdev); + const struct vdpa_config_ops *ops = vdpa->config; + + ops->kick_vq(vdpa, vq->index); + + return true; +} + +static irqreturn_t virtio_vdpa_config_cb(void *private) +{ + struct virtio_vdpa_device *vd_dev = private; + + virtio_config_changed(&vd_dev->vdev); + + return IRQ_HANDLED; +} + +static irqreturn_t virtio_vdpa_virtqueue_cb(void *private) +{ + struct virtio_vdpa_vq_info *info = private; + + return vring_interrupt(0, info->vq); +}...
2023 Apr 08
1
[PATCH] virtio-vdpa: add VIRTIO_F_NOTIFICATION_DATA feature support
...*vq) > +{ > + struct vdpa_device *vdpa = vd_get_vdpa(vq->vdev); > + const struct vdpa_config_ops *ops = vdpa->config; > + u32 data = vring_notification_data(vq); > + > + ops->kick_vq_with_data(vdpa, data); > + > + return true; > +} > + > static irqreturn_t virtio_vdpa_config_cb(void *private) > { > struct virtio_vdpa_device *vd_dev = private; > @@ -138,6 +149,7 @@ virtio_vdpa_setup_vq(struct virtio_device *vdev, unsigned int index, > struct device *dma_dev; > const struct vdpa_config_ops *ops = vdpa->config; > struct virtio_vdpa_vq_info *info...
2023 Apr 04
1
[PATCH] virtio-vdpa: add VIRTIO_F_NOTIFICATION_DATA feature support
...ct vdpa_device *vdpa = vd_get_vdpa(vq->vdev); > + const struct vdpa_config_ops *ops = vdpa->config; > + u32 data = vring_notification_data(vq); > + > + ops->kick_vq_with_data(vdpa, data); > + > + return true; > +} > + > static irqreturn_t virtio_vdpa_config_cb(void *private) > { > struct virtio_vdpa_device *vd_dev = private; > @@ -138,6 +149,7 @@ virtio_vdpa_setup_vq(struct virtio_device *vdev, unsigned int index, > struct device *dma_dev; > const struct vdpa_config_ops *ops = vdpa->config; > struct v...
2023 Apr 09
1
[PATCH v2] virtio-vdpa: add VIRTIO_F_NOTIFICATION_DATA feature support
...tic bool virtio_vdpa_notify_with_data(struct virtqueue *vq) +{ + struct vdpa_device *vdpa = vd_get_vdpa(vq->vdev); + const struct vdpa_config_ops *ops = vdpa->config; + u32 data = vring_notification_data(vq); + + ops->kick_vq_with_data(vdpa, data); + + return true; +} + static irqreturn_t virtio_vdpa_config_cb(void *private) { struct virtio_vdpa_device *vd_dev = private; @@ -138,6 +149,7 @@ virtio_vdpa_setup_vq(struct virtio_device *vdev, unsigned int index, struct device *dma_dev; const struct vdpa_config_ops *ops = vdpa->config; struct virtio_vdpa_vq_info *info; + bool (*notify)(struct virt...
2020 Feb 20
5
[PATCH V4 0/5] vDPA support
Hi all: This is an update version of vDPA support in kernel. vDPA device is a device that uses a datapath which complies with the virtio specifications with vendor specific control path. vDPA devices can be both physically located on the hardware or emulated by software. vDPA hardware devices are usually implemented through PCIE with the following types: - PF (Physical Function) - A single
2020 Feb 20
9
[PATCH V3 0/5] vDPA support
Hi all: This is an update version of vDPA support in kernel. vDPA device is a device that uses a datapath which complies with the virtio specifications with vendor specific control path. vDPA devices can be both physically located on the hardware or emulated by software. vDPA hardware devices are usually implemented through PCIE with the following types: - PF (Physical Function) - A single
2020 Feb 10
9
[PATCH V2 0/5] vDPA support
Hi all: This is an updated version of kernel support for vDPA device. Various changes were made based on the feedback since last verion. One major change is to drop the sysfs API and leave the management interface for future development, and introudce the incremental DMA bus operations. Please see changelog for more information. The work on vhost, IFCVF (intel VF driver for vDPA) and qemu is