Lines Matching refs:vdev
71 static struct virtqueue *rp_find_vq(struct virtio_device *vdev, in rp_find_vq() argument
76 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rp_find_vq()
77 struct rproc *rproc = vdev_to_rproc(vdev); in rp_find_vq()
110 vq = vring_new_virtqueue(id, len, rvring->align, vdev, false, addr, in rp_find_vq()
124 static void __rproc_virtio_del_vqs(struct virtio_device *vdev) in __rproc_virtio_del_vqs() argument
129 list_for_each_entry_safe(vq, n, &vdev->vqs, list) { in __rproc_virtio_del_vqs()
137 static void rproc_virtio_del_vqs(struct virtio_device *vdev) in rproc_virtio_del_vqs() argument
139 struct rproc *rproc = vdev_to_rproc(vdev); in rproc_virtio_del_vqs()
144 __rproc_virtio_del_vqs(vdev); in rproc_virtio_del_vqs()
147 static int rproc_virtio_find_vqs(struct virtio_device *vdev, unsigned nvqs, in rproc_virtio_find_vqs() argument
152 struct rproc *rproc = vdev_to_rproc(vdev); in rproc_virtio_find_vqs()
156 vqs[i] = rp_find_vq(vdev, i, callbacks[i], names[i]); in rproc_virtio_find_vqs()
173 __rproc_virtio_del_vqs(vdev); in rproc_virtio_find_vqs()
177 static u8 rproc_virtio_get_status(struct virtio_device *vdev) in rproc_virtio_get_status() argument
179 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_get_status()
187 static void rproc_virtio_set_status(struct virtio_device *vdev, u8 status) in rproc_virtio_set_status() argument
189 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_set_status()
195 dev_dbg(&vdev->dev, "status: %d\n", status); in rproc_virtio_set_status()
198 static void rproc_virtio_reset(struct virtio_device *vdev) in rproc_virtio_reset() argument
200 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_reset()
206 dev_dbg(&vdev->dev, "reset !\n"); in rproc_virtio_reset()
210 static u32 rproc_virtio_get_features(struct virtio_device *vdev) in rproc_virtio_get_features() argument
212 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_get_features()
220 static void rproc_virtio_finalize_features(struct virtio_device *vdev) in rproc_virtio_finalize_features() argument
222 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_finalize_features()
228 vring_transport_features(vdev); in rproc_virtio_finalize_features()
234 rsc->gfeatures = vdev->features[0]; in rproc_virtio_finalize_features()
237 static void rproc_virtio_get(struct virtio_device *vdev, unsigned offset, in rproc_virtio_get() argument
240 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_get()
248 dev_err(&vdev->dev, "rproc_virtio_get: access out of bounds\n"); in rproc_virtio_get()
255 static void rproc_virtio_set(struct virtio_device *vdev, unsigned offset, in rproc_virtio_set() argument
258 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_set()
266 dev_err(&vdev->dev, "rproc_virtio_set: access out of bounds\n"); in rproc_virtio_set()
295 struct virtio_device *vdev = dev_to_virtio(dev); in rproc_vdev_release() local
296 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_vdev_release()
297 struct rproc *rproc = vdev_to_rproc(vdev); in rproc_vdev_release()
318 struct virtio_device *vdev = &rvdev->vdev; in rproc_add_virtio_dev() local
321 vdev->id.device = id, in rproc_add_virtio_dev()
322 vdev->config = &rproc_virtio_config_ops, in rproc_add_virtio_dev()
323 vdev->dev.parent = dev; in rproc_add_virtio_dev()
324 vdev->dev.release = rproc_vdev_release; in rproc_add_virtio_dev()
336 ret = register_virtio_device(vdev); in rproc_add_virtio_dev()
343 dev_info(dev, "registered %s (type %d)\n", dev_name(&vdev->dev), id); in rproc_add_virtio_dev()
357 unregister_virtio_device(&rvdev->vdev); in rproc_remove_virtio_dev()