search for: virtio_vdpa_device

Displaying 10 results from an estimated 10 matches for "virtio_vdpa_device".

2020 Feb 10
0
[PATCH V2 4/5] virtio: introduce a vDPA based transport
...linux/virtio_config.h> +#include <linux/virtio_ring.h> + +#define MOD_VERSION "0.1" +#define MOD_AUTHOR "Jason Wang <jasowang at redhat.com>" +#define MOD_DESC "vDPA bus driver for virtio devices" +#define MOD_LICENSE "GPL v2" + +struct virtio_vdpa_device { + struct virtio_device vdev; + struct vdpa_device *vdpa; + u64 features; + + /* The lock to protect virtqueue list */ + spinlock_t lock; + /* List of virtio_vdpa_vq_info */ + struct list_head virtqueues; +}; + +struct virtio_vdpa_vq_info { + /* the actual virtqueue */ + struct virtqueue *vq; + +...
2020 Feb 20
0
[PATCH V3 4/5] virtio: introduce a vDPA based transport
...linux/virtio_config.h> +#include <linux/virtio_ring.h> + +#define MOD_VERSION "0.1" +#define MOD_AUTHOR "Jason Wang <jasowang at redhat.com>" +#define MOD_DESC "vDPA bus driver for virtio devices" +#define MOD_LICENSE "GPL v2" + +struct virtio_vdpa_device { + struct virtio_device vdev; + struct vdpa_device *vdpa; + u64 features; + + /* The lock to protect virtqueue list */ + spinlock_t lock; + /* List of virtio_vdpa_vq_info */ + struct list_head virtqueues; +}; + +struct virtio_vdpa_vq_info { + /* the actual virtqueue */ + struct virtqueue *vq; + +...
2023 Apr 02
2
[PATCH] virtio-vdpa: add VIRTIO_F_NOTIFICATION_DATA feature support
...queue *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 virtqueue *vq); struct vdpa_callback cb; struc...
2020 Feb 20
5
[PATCH V4 0/5] vDPA support
...Jason) - ove vDPA accessors to header and make it static inline (Jason) - split vdp_register_device() into two helpers vdpa_init_device() and vdpa_register_device() which allows intermediate step to be done (Jason) - warn on invalidate queue state when fail to creating virtqueue (Jason) - make to_virtio_vdpa_device() static (Jason) - use kmalloc/kfree instead of devres for virtio vdpa device (Jason) - avoid using cast in vdpa bus function (Jason) - introduce module_vdpa_driver and fix module refcnt (Jason) - fix returning freed address in vdapsim coherent DMA addr allocation (Dan) - various other fixes and tw...
2020 Feb 20
9
[PATCH V3 0/5] vDPA support
...Jason) - ove vDPA accessors to header and make it static inline (Jason) - split vdp_register_device() into two helpers vdpa_init_device() and vdpa_register_device() which allows intermediate step to be done (Jason) - warn on invalidate queue state when fail to creating virtqueue (Jason) - make to_virtio_vdpa_device() static (Jason) - use kmalloc/kfree instead of devres for virtio vdpa device (Jason) - avoid using cast in vdpa bus function (Jason) - introduce module_vdpa_driver and fix module refcnt (Jason) - fix returning freed address in vdapsim coherent DMA addr allocation (Dan) - various other fixes and tw...
2023 Mar 16
0
[PATCH v3 03/11] vdpa: Add set_irq_affinity callback in vdpa_config_ops
...rtio/virtio_vdpa.c b/drivers/virtio/virtio_vdpa.c > index f72696b4c1c2..9eee8afabda8 100644 > --- a/drivers/virtio/virtio_vdpa.c > +++ b/drivers/virtio/virtio_vdpa.c > @@ -282,9 +282,13 @@ static int virtio_vdpa_find_vqs(struct virtio_device *vdev, unsigned int nvqs, > struct virtio_vdpa_device *vd_dev = to_virtio_vdpa_device(vdev); > struct vdpa_device *vdpa = vd_get_vdpa(vdev); > const struct vdpa_config_ops *ops = vdpa->config; > + struct irq_affinity default_affd = { 0 }; > struct vdpa_callback cb; > int i, err, queue_idx = 0; &g...
2020 Feb 10
9
[PATCH V2 0/5] vDPA support
...Jason) - ove vDPA accessors to header and make it static inline (Jason) - split vdp_register_device() into two helpers vdpa_init_device() and vdpa_register_device() which allows intermediate step to be done (Jason) - warn on invalidate queue state when fail to creating virtqueue (Jason) - make to_virtio_vdpa_device() static (Jason) - use kmalloc/kfree instead of devres for virtio vdpa device (Jason) - avoid using cast in vdpa bus function (Jason) - introduce module_vdpa_driver and fix module refcnt (Jason) - fix returning freed address in vdapsim coherent DMA addr allocation (Dan) - various other fixes and tw...
2023 Apr 08
1
[PATCH] virtio-vdpa: add VIRTIO_F_NOTIFICATION_DATA feature support
...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 virtqueue *vq); > st...
2023 Apr 04
1
[PATCH] virtio-vdpa: add VIRTIO_F_NOTIFICATION_DATA feature support
...st 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 v...
2023 Apr 09
1
[PATCH v2] virtio-vdpa: add VIRTIO_F_NOTIFICATION_DATA feature support
...queue *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 virtqueue *vq) = virtio_vdpa_notify; struct vdpa...