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 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 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()
99 static void virtio_vdpa_reset(struct virtio_device *vdev) in virtio_vdpa_reset() argument
101 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_reset()
108 struct vdpa_device *vdpa = vd_get_vdpa(vq->vdev); in virtio_vdpa_notify()
120 virtio_config_changed(&vd_dev->vdev); in virtio_vdpa_config_cb()
133 virtio_vdpa_setup_vq(struct virtio_device *vdev, unsigned int index, in virtio_vdpa_setup_vq() argument
137 struct virtio_vdpa_device *vd_dev = to_virtio_vdpa_device(vdev); in virtio_vdpa_setup_vq()
138 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_setup_vq()
179 vq = vring_create_virtqueue(index, max_num, align, vdev, in virtio_vdpa_setup_vq()
205 if (virtio_has_feature(vdev, VIRTIO_F_RING_PACKED)) { in virtio_vdpa_setup_vq()
240 struct virtio_vdpa_device *vd_dev = to_virtio_vdpa_device(vq->vdev); in virtio_vdpa_del_vq()
259 static void virtio_vdpa_del_vqs(struct virtio_device *vdev) in virtio_vdpa_del_vqs() argument
263 list_for_each_entry_safe(vq, n, &vdev->vqs, list) in virtio_vdpa_del_vqs()
267 static int virtio_vdpa_find_vqs(struct virtio_device *vdev, unsigned nvqs, in virtio_vdpa_find_vqs() argument
274 struct virtio_vdpa_device *vd_dev = to_virtio_vdpa_device(vdev); in virtio_vdpa_find_vqs()
275 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_find_vqs()
286 vqs[i] = virtio_vdpa_setup_vq(vdev, queue_idx++, in virtio_vdpa_find_vqs()
302 virtio_vdpa_del_vqs(vdev); in virtio_vdpa_find_vqs()
306 static u64 virtio_vdpa_get_features(struct virtio_device *vdev) in virtio_vdpa_get_features() argument
308 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_get_features()
314 static int virtio_vdpa_finalize_features(struct virtio_device *vdev) in virtio_vdpa_finalize_features() argument
316 struct vdpa_device *vdpa = vd_get_vdpa(vdev); in virtio_vdpa_finalize_features()
319 vring_transport_features(vdev); in virtio_vdpa_finalize_features()
321 return vdpa_set_features(vdpa, vdev->features); in virtio_vdpa_finalize_features()
324 static const char *virtio_vdpa_bus_name(struct virtio_device *vdev) in virtio_vdpa_bus_name() argument
326 struct virtio_vdpa_device *vd_dev = to_virtio_vdpa_device(vdev); in virtio_vdpa_bus_name()
348 struct virtio_device *vdev = in virtio_vdpa_release_dev() local
351 container_of(vdev, struct virtio_vdpa_device, vdev); in virtio_vdpa_release_dev()
366 vd_dev->vdev.dev.parent = vdpa_get_dma_dev(vdpa); in virtio_vdpa_probe()
367 vd_dev->vdev.dev.release = virtio_vdpa_release_dev; in virtio_vdpa_probe()
368 vd_dev->vdev.config = &virtio_vdpa_config_ops; in virtio_vdpa_probe()
373 vd_dev->vdev.id.device = ops->get_device_id(vdpa); in virtio_vdpa_probe()
374 if (vd_dev->vdev.id.device == 0) in virtio_vdpa_probe()
377 vd_dev->vdev.id.vendor = ops->get_vendor_id(vdpa); in virtio_vdpa_probe()
378 ret = register_virtio_device(&vd_dev->vdev); in virtio_vdpa_probe()
389 put_device(&vd_dev->vdev.dev); in virtio_vdpa_probe()
399 unregister_virtio_device(&vd_dev->vdev); in virtio_vdpa_remove()