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 u64 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 int 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()
231 BUG_ON((u32)vdev->features != vdev->features); in rproc_virtio_finalize_features()
237 rsc->gfeatures = vdev->features; in rproc_virtio_finalize_features()
242 static void rproc_virtio_get(struct virtio_device *vdev, unsigned offset, in rproc_virtio_get() argument
245 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_get()
253 dev_err(&vdev->dev, "rproc_virtio_get: access out of bounds\n"); in rproc_virtio_get()
260 static void rproc_virtio_set(struct virtio_device *vdev, unsigned offset, in rproc_virtio_set() argument
263 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_virtio_set()
271 dev_err(&vdev->dev, "rproc_virtio_set: access out of bounds\n"); in rproc_virtio_set()
300 struct virtio_device *vdev = dev_to_virtio(dev); in rproc_vdev_release() local
301 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev); in rproc_vdev_release()
302 struct rproc *rproc = vdev_to_rproc(vdev); in rproc_vdev_release()
323 struct virtio_device *vdev = &rvdev->vdev; in rproc_add_virtio_dev() local
326 vdev->id.device = id, in rproc_add_virtio_dev()
327 vdev->config = &rproc_virtio_config_ops, in rproc_add_virtio_dev()
328 vdev->dev.parent = dev; in rproc_add_virtio_dev()
329 vdev->dev.release = rproc_vdev_release; in rproc_add_virtio_dev()
341 ret = register_virtio_device(vdev); in rproc_add_virtio_dev()
348 dev_info(dev, "registered %s (type %d)\n", dev_name(&vdev->dev), id); in rproc_add_virtio_dev()
362 unregister_virtio_device(&rvdev->vdev); in rproc_remove_virtio_dev()