Lines Matching refs:vdev
29 int virtio_get_config(struct udevice *vdev, unsigned int offset, in virtio_get_config() argument
34 ops = virtio_get_ops(vdev->parent); in virtio_get_config()
36 return ops->get_config(vdev->parent, offset, buf, len); in virtio_get_config()
39 int virtio_set_config(struct udevice *vdev, unsigned int offset, in virtio_set_config() argument
44 ops = virtio_get_ops(vdev->parent); in virtio_set_config()
46 return ops->set_config(vdev->parent, offset, buf, len); in virtio_set_config()
49 int virtio_generation(struct udevice *vdev, u32 *counter) in virtio_generation() argument
53 ops = virtio_get_ops(vdev->parent); in virtio_generation()
57 return ops->generation(vdev->parent, counter); in virtio_generation()
60 int virtio_get_status(struct udevice *vdev, u8 *status) in virtio_get_status() argument
64 ops = virtio_get_ops(vdev->parent); in virtio_get_status()
66 return ops->get_status(vdev->parent, status); in virtio_get_status()
69 int virtio_set_status(struct udevice *vdev, u8 status) in virtio_set_status() argument
73 ops = virtio_get_ops(vdev->parent); in virtio_set_status()
75 return ops->set_status(vdev->parent, status); in virtio_set_status()
78 int virtio_reset(struct udevice *vdev) in virtio_reset() argument
82 ops = virtio_get_ops(vdev->parent); in virtio_reset()
84 return ops->reset(vdev->parent); in virtio_reset()
87 int virtio_get_features(struct udevice *vdev, u64 *features) in virtio_get_features() argument
91 ops = virtio_get_ops(vdev->parent); in virtio_get_features()
93 return ops->get_features(vdev->parent, features); in virtio_get_features()
96 int virtio_set_features(struct udevice *vdev) in virtio_set_features() argument
100 ops = virtio_get_ops(vdev->parent); in virtio_set_features()
102 return ops->set_features(vdev->parent); in virtio_set_features()
105 int virtio_find_vqs(struct udevice *vdev, unsigned int nvqs, in virtio_find_vqs() argument
110 ops = virtio_get_ops(vdev->parent); in virtio_find_vqs()
112 return ops->find_vqs(vdev->parent, nvqs, vqs); in virtio_find_vqs()
115 int virtio_del_vqs(struct udevice *vdev) in virtio_del_vqs() argument
119 ops = virtio_get_ops(vdev->parent); in virtio_del_vqs()
121 return ops->del_vqs(vdev->parent); in virtio_del_vqs()
124 int virtio_notify(struct udevice *vdev, struct virtqueue *vq) in virtio_notify() argument
128 ops = virtio_get_ops(vdev->parent); in virtio_notify()
130 return ops->notify(vdev->parent, vq); in virtio_notify()
133 void virtio_add_status(struct udevice *vdev, u8 status) in virtio_add_status() argument
137 if (!virtio_get_status(vdev, &old)) in virtio_add_status()
138 virtio_set_status(vdev, old | status); in virtio_add_status()
141 int virtio_finalize_features(struct udevice *vdev) in virtio_finalize_features() argument
143 struct virtio_dev_priv *uc_priv = dev_get_uclass_priv(vdev->parent); in virtio_finalize_features()
147 ret = virtio_set_features(vdev); in virtio_finalize_features()
154 virtio_add_status(vdev, VIRTIO_CONFIG_S_FEATURES_OK); in virtio_finalize_features()
155 ret = virtio_get_status(vdev, &status); in virtio_finalize_features()
159 debug("(%s): device refuses features %x\n", vdev->name, status); in virtio_finalize_features()
223 struct udevice *vdev; in virtio_uclass_post_probe() local
245 str, &vdev); in virtio_uclass_post_probe()
254 device_set_name_alloced(vdev); in virtio_uclass_post_probe()
261 static int virtio_uclass_child_post_bind(struct udevice *vdev) in virtio_uclass_child_post_bind() argument
264 virtio_add_status(vdev, VIRTIO_CONFIG_S_ACKNOWLEDGE); in virtio_uclass_child_post_bind()
269 static int virtio_uclass_child_pre_probe(struct udevice *vdev) in virtio_uclass_child_pre_probe() argument
271 struct virtio_dev_priv *uc_priv = dev_get_uclass_priv(vdev->parent); in virtio_uclass_child_pre_probe()
282 uc_priv->vdev = vdev; in virtio_uclass_child_pre_probe()
288 ret = virtio_reset(vdev); in virtio_uclass_child_pre_probe()
293 virtio_add_status(vdev, VIRTIO_CONFIG_S_DRIVER); in virtio_uclass_child_pre_probe()
296 virtio_get_features(vdev, &device_features); in virtio_uclass_child_pre_probe()
298 vdev->name, device_features); in virtio_uclass_child_pre_probe()
325 debug("(%s): legacy virtio device\n", vdev->name); in virtio_uclass_child_pre_probe()
328 debug("(%s): v1.0 complaint virtio device\n", vdev->name); in virtio_uclass_child_pre_probe()
336 __virtio_set_bit(vdev->parent, i); in virtio_uclass_child_pre_probe()
339 vdev->name, uc_priv->features); in virtio_uclass_child_pre_probe()
340 ret = virtio_finalize_features(vdev); in virtio_uclass_child_pre_probe()
347 virtio_add_status(vdev, VIRTIO_CONFIG_S_FAILED); in virtio_uclass_child_pre_probe()
351 static int virtio_uclass_child_post_probe(struct udevice *vdev) in virtio_uclass_child_post_probe() argument
354 virtio_add_status(vdev, VIRTIO_CONFIG_S_DRIVER_OK); in virtio_uclass_child_post_probe()