Lines Matching refs:vdpa

18 #include <linux/vdpa.h>
29 struct vdpa_device *vdpa;
54 return to_virtio_vdpa_device(vdev)->vdpa;
60 struct vdpa_device *vdpa = vd_get_vdpa(vdev);
62 vdpa_get_config(vdpa, offset, buf, len);
68 struct vdpa_device *vdpa = vd_get_vdpa(vdev);
70 vdpa_set_config(vdpa, offset, buf, len);
75 struct vdpa_device *vdpa = vd_get_vdpa(vdev);
76 const struct vdpa_config_ops *ops = vdpa->config;
79 return ops->get_generation(vdpa);
86 struct vdpa_device *vdpa = vd_get_vdpa(vdev);
87 const struct vdpa_config_ops *ops = vdpa->config;
89 return ops->get_status(vdpa);
94 struct vdpa_device *vdpa = vd_get_vdpa(vdev);
96 return vdpa_set_status(vdpa, status);
101 struct vdpa_device *vdpa = vd_get_vdpa(vdev);
103 vdpa_reset(vdpa);
108 struct vdpa_device *vdpa = vd_get_vdpa(vq->vdev);
109 const struct vdpa_config_ops *ops = vdpa->config;
111 ops->kick_vq(vdpa, vq->index);
118 struct vdpa_device *vdpa = vd_get_vdpa(vq->vdev);
119 const struct vdpa_config_ops *ops = vdpa->config;
122 ops->kick_vq_with_data(vdpa, data);
149 struct vdpa_device *vdpa = vd_get_vdpa(vdev);
151 const struct vdpa_config_ops *ops = vdpa->config;
167 if (index >= vdpa->nvqs)
179 if (ops->get_vq_ready(vdpa, index))
187 max_num = ops->get_vq_num_max(vdpa);
194 min_num = ops->get_vq_num_min(vdpa);
199 align = ops->get_vq_align(vdpa);
202 dma_dev = ops->get_vq_dma_dev(vdpa, index);
204 dma_dev = vdpa_get_dma_dev(vdpa);
219 ops->set_vq_cb(vdpa, index, &cb);
220 ops->set_vq_num(vdpa, index, virtqueue_get_vring_size(vq));
226 if (ops->set_vq_address(vdpa, index,
242 err = ops->set_vq_state(vdpa, index, &state);
246 ops->set_vq_ready(vdpa, index, 1);
260 ops->set_vq_ready(vdpa, index, 0);
262 WARN_ON(ops->get_vq_ready(vdpa, index));
270 struct vdpa_device *vdpa = vd_dev->vdpa;
271 const struct vdpa_config_ops *ops = vdpa->config;
281 ops->set_vq_ready(vdpa, index, 0);
364 struct vdpa_device *vdpa = vd_get_vdpa(vdev);
365 const struct vdpa_config_ops *ops = vdpa->config;
393 ops->set_vq_affinity(vdpa, i, &masks[i]);
398 ops->set_config_cb(vdpa, &cb);
413 struct vdpa_device *vdpa = vd_get_vdpa(vdev);
414 const struct vdpa_config_ops *ops = vdpa->config;
416 return ops->get_device_features(vdpa);
421 struct vdpa_device *vdpa = vd_get_vdpa(vdev);
426 return vdpa_set_features(vdpa, vdev->features);
432 struct vdpa_device *vdpa = vd_dev->vdpa;
434 return dev_name(&vdpa->dev);
441 struct vdpa_device *vdpa = vd_dev->vdpa;
442 const struct vdpa_config_ops *ops = vdpa->config;
446 return ops->set_vq_affinity(vdpa, index, cpu_mask);
454 struct vdpa_device *vdpa = vd_get_vdpa(vdev);
455 const struct vdpa_config_ops *ops = vdpa->config;
458 return ops->get_vq_affinity(vdpa, index);
489 static int virtio_vdpa_probe(struct vdpa_device *vdpa)
491 const struct vdpa_config_ops *ops = vdpa->config;
499 vd_dev->vdev.dev.parent = vdpa_get_dma_dev(vdpa);
502 vd_dev->vdpa = vdpa;
506 vd_dev->vdev.id.device = ops->get_device_id(vdpa);
510 vd_dev->vdev.id.vendor = ops->get_vendor_id(vdpa);
516 vdpa_set_drvdata(vdpa, vd_dev);
528 static void virtio_vdpa_remove(struct vdpa_device *vdpa)
530 struct virtio_vdpa_device *vd_dev = vdpa_get_drvdata(vdpa);