Lines Matching refs:vdev

33 int virtio_get_config(struct udevice *vdev, unsigned int offset,  in virtio_get_config()  argument
38 ops = virtio_get_ops(vdev->parent); in virtio_get_config()
40 return ops->get_config(vdev->parent, offset, buf, len); in virtio_get_config()
43 int virtio_set_config(struct udevice *vdev, unsigned int offset, in virtio_set_config() argument
48 ops = virtio_get_ops(vdev->parent); in virtio_set_config()
50 return ops->set_config(vdev->parent, offset, buf, len); in virtio_set_config()
53 int virtio_generation(struct udevice *vdev, u32 *counter) in virtio_generation() argument
57 ops = virtio_get_ops(vdev->parent); in virtio_generation()
61 return ops->generation(vdev->parent, counter); in virtio_generation()
64 int virtio_get_status(struct udevice *vdev, u8 *status) in virtio_get_status() argument
68 ops = virtio_get_ops(vdev->parent); in virtio_get_status()
70 return ops->get_status(vdev->parent, status); in virtio_get_status()
73 int virtio_set_status(struct udevice *vdev, u8 status) in virtio_set_status() argument
77 ops = virtio_get_ops(vdev->parent); in virtio_set_status()
79 return ops->set_status(vdev->parent, status); in virtio_set_status()
82 int virtio_reset(struct udevice *vdev) in virtio_reset() argument
86 ops = virtio_get_ops(vdev->parent); in virtio_reset()
88 return ops->reset(vdev->parent); in virtio_reset()
91 int virtio_get_features(struct udevice *vdev, u64 *features) in virtio_get_features() argument
95 ops = virtio_get_ops(vdev->parent); in virtio_get_features()
97 return ops->get_features(vdev->parent, features); in virtio_get_features()
100 int virtio_set_features(struct udevice *vdev) in virtio_set_features() argument
104 ops = virtio_get_ops(vdev->parent); in virtio_set_features()
106 return ops->set_features(vdev->parent); in virtio_set_features()
109 int virtio_find_vqs(struct udevice *vdev, unsigned int nvqs, in virtio_find_vqs() argument
114 ops = virtio_get_ops(vdev->parent); in virtio_find_vqs()
116 return ops->find_vqs(vdev->parent, nvqs, vqs); in virtio_find_vqs()
119 int virtio_del_vqs(struct udevice *vdev) in virtio_del_vqs() argument
123 ops = virtio_get_ops(vdev->parent); in virtio_del_vqs()
125 return ops->del_vqs(vdev->parent); in virtio_del_vqs()
128 int virtio_notify(struct udevice *vdev, struct virtqueue *vq) in virtio_notify() argument
132 ops = virtio_get_ops(vdev->parent); in virtio_notify()
134 return ops->notify(vdev->parent, vq); in virtio_notify()
137 void virtio_add_status(struct udevice *vdev, u8 status) in virtio_add_status() argument
141 if (!virtio_get_status(vdev, &old)) in virtio_add_status()
142 virtio_set_status(vdev, old | status); in virtio_add_status()
145 int virtio_finalize_features(struct udevice *vdev) in virtio_finalize_features() argument
147 struct virtio_dev_priv *uc_priv = dev_get_uclass_priv(vdev->parent); in virtio_finalize_features()
151 ret = virtio_set_features(vdev); in virtio_finalize_features()
158 virtio_add_status(vdev, VIRTIO_CONFIG_S_FEATURES_OK); in virtio_finalize_features()
159 ret = virtio_get_status(vdev, &status); in virtio_finalize_features()
163 debug("(%s): device refuses features %x\n", vdev->name, status); in virtio_finalize_features()
227 struct udevice *vdev; in virtio_uclass_post_probe() local
249 str, &vdev); in virtio_uclass_post_probe()
258 device_set_name_alloced(vdev); in virtio_uclass_post_probe()
265 static int virtio_uclass_child_post_bind(struct udevice *vdev) in virtio_uclass_child_post_bind() argument
268 virtio_add_status(vdev, VIRTIO_CONFIG_S_ACKNOWLEDGE); in virtio_uclass_child_post_bind()
273 static int virtio_uclass_child_pre_probe(struct udevice *vdev) in virtio_uclass_child_pre_probe() argument
275 struct virtio_dev_priv *uc_priv = dev_get_uclass_priv(vdev->parent); in virtio_uclass_child_pre_probe()
286 uc_priv->vdev = vdev; in virtio_uclass_child_pre_probe()
292 ret = virtio_reset(vdev); in virtio_uclass_child_pre_probe()
297 virtio_add_status(vdev, VIRTIO_CONFIG_S_DRIVER); in virtio_uclass_child_pre_probe()
300 virtio_get_features(vdev, &device_features); in virtio_uclass_child_pre_probe()
302 vdev->name, device_features); in virtio_uclass_child_pre_probe()
329 debug("(%s): legacy virtio device\n", vdev->name); in virtio_uclass_child_pre_probe()
332 debug("(%s): v1.0 complaint virtio device\n", vdev->name); in virtio_uclass_child_pre_probe()
340 __virtio_set_bit(vdev->parent, i); in virtio_uclass_child_pre_probe()
343 vdev->name, uc_priv->features); in virtio_uclass_child_pre_probe()
344 ret = virtio_finalize_features(vdev); in virtio_uclass_child_pre_probe()
351 virtio_add_status(vdev, VIRTIO_CONFIG_S_FAILED); in virtio_uclass_child_pre_probe()
355 static int virtio_uclass_child_post_probe(struct udevice *vdev) in virtio_uclass_child_post_probe() argument
358 virtio_add_status(vdev, VIRTIO_CONFIG_S_DRIVER_OK); in virtio_uclass_child_post_probe()