Lines Matching refs:vdev

26 static struct rproc_vdev *vdev_to_rvdev(struct virtio_device *vdev)  in vdev_to_rvdev()  argument
28 return container_of(vdev->dev.parent, struct rproc_vdev, dev); in vdev_to_rvdev()
31 static struct rproc *vdev_to_rproc(struct virtio_device *vdev) in vdev_to_rproc() argument
33 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in vdev_to_rproc()
77 static struct virtqueue *rp_find_vq(struct virtio_device *vdev, in rp_find_vq() argument
82 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rp_find_vq()
83 struct rproc *rproc = vdev_to_rproc(vdev); in rp_find_vq()
120 vq = vring_new_virtqueue(id, len, rvring->align, vdev, false, ctx, in rp_find_vq()
138 static void __rproc_virtio_del_vqs(struct virtio_device *vdev) in __rproc_virtio_del_vqs() argument
143 list_for_each_entry_safe(vq, n, &vdev->vqs, list) { in __rproc_virtio_del_vqs()
150 static void rproc_virtio_del_vqs(struct virtio_device *vdev) in rproc_virtio_del_vqs() argument
152 __rproc_virtio_del_vqs(vdev); in rproc_virtio_del_vqs()
155 static int rproc_virtio_find_vqs(struct virtio_device *vdev, unsigned int nvqs, in rproc_virtio_find_vqs() argument
170 vqs[i] = rp_find_vq(vdev, queue_idx++, callbacks[i], names[i], in rproc_virtio_find_vqs()
181 __rproc_virtio_del_vqs(vdev); in rproc_virtio_find_vqs()
185 static u8 rproc_virtio_get_status(struct virtio_device *vdev) in rproc_virtio_get_status() argument
187 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_get_status()
195 static void rproc_virtio_set_status(struct virtio_device *vdev, u8 status) in rproc_virtio_set_status() argument
197 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_set_status()
203 dev_dbg(&vdev->dev, "status: %d\n", status); in rproc_virtio_set_status()
206 static void rproc_virtio_reset(struct virtio_device *vdev) in rproc_virtio_reset() argument
208 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_reset()
214 dev_dbg(&vdev->dev, "reset !\n"); in rproc_virtio_reset()
218 static u64 rproc_virtio_get_features(struct virtio_device *vdev) in rproc_virtio_get_features() argument
220 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_get_features()
228 static void rproc_transport_features(struct virtio_device *vdev) in rproc_transport_features() argument
235 __virtio_clear_bit(vdev, VIRTIO_F_RING_PACKED); in rproc_transport_features()
238 static int rproc_virtio_finalize_features(struct virtio_device *vdev) in rproc_virtio_finalize_features() argument
240 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_finalize_features()
246 vring_transport_features(vdev); in rproc_virtio_finalize_features()
249 rproc_transport_features(vdev); in rproc_virtio_finalize_features()
252 BUG_ON((u32)vdev->features != vdev->features); in rproc_virtio_finalize_features()
258 rsc->gfeatures = vdev->features; in rproc_virtio_finalize_features()
263 static void rproc_virtio_get(struct virtio_device *vdev, unsigned int offset, in rproc_virtio_get() argument
266 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_get()
274 dev_err(&vdev->dev, "rproc_virtio_get: access out of bounds\n"); in rproc_virtio_get()
281 static void rproc_virtio_set(struct virtio_device *vdev, unsigned int offset, in rproc_virtio_set() argument
284 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_set()
292 dev_err(&vdev->dev, "rproc_virtio_set: access out of bounds\n"); in rproc_virtio_set()
321 struct virtio_device *vdev = dev_to_virtio(dev); in rproc_virtio_dev_release() local
322 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_dev_release()
323 struct rproc *rproc = vdev_to_rproc(vdev); in rproc_virtio_dev_release()
325 kfree(vdev); in rproc_virtio_dev_release()
346 struct virtio_device *vdev; in rproc_add_virtio_dev() local
405 vdev = kzalloc(sizeof(*vdev), GFP_KERNEL); in rproc_add_virtio_dev()
406 if (!vdev) { in rproc_add_virtio_dev()
410 vdev->id.device = id, in rproc_add_virtio_dev()
411 vdev->config = &rproc_virtio_config_ops, in rproc_add_virtio_dev()
412 vdev->dev.parent = dev; in rproc_add_virtio_dev()
413 vdev->dev.release = rproc_virtio_dev_release; in rproc_add_virtio_dev()
428 ret = register_virtio_device(vdev); in rproc_add_virtio_dev()
430 put_device(&vdev->dev); in rproc_add_virtio_dev()
435 dev_info(dev, "registered %s (type %d)\n", dev_name(&vdev->dev), id); in rproc_add_virtio_dev()
452 struct virtio_device *vdev = dev_to_virtio(dev); in rproc_remove_virtio_dev() local
454 unregister_virtio_device(vdev); in rproc_remove_virtio_dev()