Lines Matching refs:vdev
27 struct virtio_device vdev; member
48 return container_of(dev, struct virtio_vdpa_device, vdev); in to_virtio_vdpa_device()
51 static struct vdpa_device *vd_get_vdpa(struct virtio_device *vdev) in vd_get_vdpa() argument
53 return to_virtio_vdpa_device(vdev)->vdpa; in vd_get_vdpa()
56 static void virtio_vdpa_get(struct virtio_device *vdev, unsigned int offset, in virtio_vdpa_get() argument
59 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_get()
64 static void virtio_vdpa_set(struct virtio_device *vdev, unsigned int offset, in virtio_vdpa_set() argument
67 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_set()
72 static u32 virtio_vdpa_generation(struct virtio_device *vdev) in virtio_vdpa_generation() argument
74 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_generation()
83 static u8 virtio_vdpa_get_status(struct virtio_device *vdev) in virtio_vdpa_get_status() argument
85 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_get_status()
91 static void virtio_vdpa_set_status(struct virtio_device *vdev, u8 status) in virtio_vdpa_set_status() argument
93 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_set_status()
98 static void virtio_vdpa_reset(struct virtio_device *vdev) in virtio_vdpa_reset() argument
100 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_reset()
107 struct vdpa_device *vdpa = vd_get_vdpa(vq->vdev); in virtio_vdpa_notify()
119 virtio_config_changed(&vd_dev->vdev); in virtio_vdpa_config_cb()
132 virtio_vdpa_setup_vq(struct virtio_device *vdev, unsigned int index, in virtio_vdpa_setup_vq() argument
136 struct virtio_vdpa_device *vd_dev = to_virtio_vdpa_device(vdev); in virtio_vdpa_setup_vq()
137 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_setup_vq()
178 vq = vring_create_virtqueue(index, max_num, align, vdev, in virtio_vdpa_setup_vq()
206 if (virtio_has_feature(vdev, VIRTIO_F_RING_PACKED)) { in virtio_vdpa_setup_vq()
241 struct virtio_vdpa_device *vd_dev = to_virtio_vdpa_device(vq->vdev); in virtio_vdpa_del_vq()
260 static void virtio_vdpa_del_vqs(struct virtio_device *vdev) in virtio_vdpa_del_vqs() argument
264 list_for_each_entry_safe(vq, n, &vdev->vqs, list) in virtio_vdpa_del_vqs()
268 static int virtio_vdpa_find_vqs(struct virtio_device *vdev, unsigned int nvqs, in virtio_vdpa_find_vqs() argument
275 struct virtio_vdpa_device *vd_dev = to_virtio_vdpa_device(vdev); in virtio_vdpa_find_vqs()
276 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_find_vqs()
287 vqs[i] = virtio_vdpa_setup_vq(vdev, queue_idx++, in virtio_vdpa_find_vqs()
303 virtio_vdpa_del_vqs(vdev); in virtio_vdpa_find_vqs()
307 static u64 virtio_vdpa_get_features(struct virtio_device *vdev) in virtio_vdpa_get_features() argument
309 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_get_features()
315 static int virtio_vdpa_finalize_features(struct virtio_device *vdev) in virtio_vdpa_finalize_features() argument
317 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_finalize_features()
320 vring_transport_features(vdev); in virtio_vdpa_finalize_features()
322 return vdpa_set_features(vdpa, vdev->features); in virtio_vdpa_finalize_features()
325 static const char *virtio_vdpa_bus_name(struct virtio_device *vdev) in virtio_vdpa_bus_name() argument
327 struct virtio_vdpa_device *vd_dev = to_virtio_vdpa_device(vdev); in virtio_vdpa_bus_name()
349 struct virtio_device *vdev = in virtio_vdpa_release_dev() local
352 container_of(vdev, struct virtio_vdpa_device, vdev); in virtio_vdpa_release_dev()
367 vd_dev->vdev.dev.parent = vdpa_get_dma_dev(vdpa); in virtio_vdpa_probe()
368 vd_dev->vdev.dev.release = virtio_vdpa_release_dev; in virtio_vdpa_probe()
369 vd_dev->vdev.config = &virtio_vdpa_config_ops; in virtio_vdpa_probe()
374 vd_dev->vdev.id.device = ops->get_device_id(vdpa); in virtio_vdpa_probe()
375 if (vd_dev->vdev.id.device == 0) in virtio_vdpa_probe()
378 vd_dev->vdev.id.vendor = ops->get_vendor_id(vdpa); in virtio_vdpa_probe()
379 ret = register_virtio_device(&vd_dev->vdev); in virtio_vdpa_probe()
390 put_device(&vd_dev->vdev.dev); in virtio_vdpa_probe()
400 unregister_virtio_device(&vd_dev->vdev); in virtio_vdpa_remove()