Lines Matching refs:vdev

108 	int (*get_config)(struct udevice *vdev, unsigned int offset,
119 int (*set_config)(struct udevice *vdev, unsigned int offset,
128 int (*generation)(struct udevice *vdev, u32 *counter);
136 int (*get_status)(struct udevice *vdev, u8 *status);
144 int (*set_status)(struct udevice *vdev, u8 status);
151 int (*reset)(struct udevice *vdev);
159 int (*get_features)(struct udevice *vdev, u64 *features);
166 int (*set_features)(struct udevice *vdev);
175 int (*find_vqs)(struct udevice *vdev, unsigned int nvqs,
183 int (*del_vqs)(struct udevice *vdev);
191 int (*notify)(struct udevice *vdev, struct virtqueue *vq);
213 struct udevice *vdev; member
233 int virtio_get_config(struct udevice *vdev, unsigned int offset,
245 int virtio_set_config(struct udevice *vdev, unsigned int offset,
255 int virtio_generation(struct udevice *vdev, u32 *counter);
264 int virtio_get_status(struct udevice *vdev, u8 *status);
273 int virtio_set_status(struct udevice *vdev, u8 status);
281 int virtio_reset(struct udevice *vdev);
290 int virtio_get_features(struct udevice *vdev, u64 *features);
298 int virtio_set_features(struct udevice *vdev);
308 int virtio_find_vqs(struct udevice *vdev, unsigned int nvqs,
317 int virtio_del_vqs(struct udevice *vdev);
326 int virtio_notify(struct udevice *vdev, struct virtqueue *vq);
334 void virtio_add_status(struct udevice *vdev, u8 status);
342 int virtio_finalize_features(struct udevice *vdev);
494 static inline bool virtio_has_feature(struct udevice *vdev, unsigned int fbit) in virtio_has_feature() argument
496 if (!(dev_get_flags(vdev) & DM_FLAG_BOUND)) in virtio_has_feature()
499 return __virtio_test_bit(vdev->parent, fbit); in virtio_has_feature()
511 static inline bool virtio_is_little_endian(struct udevice *vdev) in virtio_is_little_endian() argument
513 struct virtio_dev_priv *uc_priv = dev_get_uclass_priv(vdev->parent); in virtio_is_little_endian()
519 static inline u16 virtio16_to_cpu(struct udevice *vdev, __virtio16 val) in virtio16_to_cpu() argument
521 return __virtio16_to_cpu(virtio_is_little_endian(vdev), val); in virtio16_to_cpu()
524 static inline __virtio16 cpu_to_virtio16(struct udevice *vdev, u16 val) in cpu_to_virtio16() argument
526 return __cpu_to_virtio16(virtio_is_little_endian(vdev), val); in cpu_to_virtio16()
529 static inline u32 virtio32_to_cpu(struct udevice *vdev, __virtio32 val) in virtio32_to_cpu() argument
531 return __virtio32_to_cpu(virtio_is_little_endian(vdev), val); in virtio32_to_cpu()
534 static inline __virtio32 cpu_to_virtio32(struct udevice *vdev, u32 val) in cpu_to_virtio32() argument
536 return __cpu_to_virtio32(virtio_is_little_endian(vdev), val); in cpu_to_virtio32()
539 static inline u64 virtio64_to_cpu(struct udevice *vdev, __virtio64 val) in virtio64_to_cpu() argument
541 return __virtio64_to_cpu(virtio_is_little_endian(vdev), val); in virtio64_to_cpu()
544 static inline __virtio64 cpu_to_virtio64(struct udevice *vdev, u64 val) in cpu_to_virtio64() argument
546 return __cpu_to_virtio64(virtio_is_little_endian(vdev), val); in cpu_to_virtio64()
550 static inline void __virtio_cread_many(struct udevice *vdev, in __virtio_cread_many() argument
558 virtio_generation(vdev, &gen); in __virtio_cread_many()
563 virtio_get_config(vdev, offset + bytes * i, in __virtio_cread_many()
566 virtio_generation(vdev, &gen); in __virtio_cread_many()
570 static inline void virtio_cread_bytes(struct udevice *vdev, in virtio_cread_bytes() argument
574 __virtio_cread_many(vdev, offset, buf, len, 1); in virtio_cread_bytes()
577 static inline u8 virtio_cread8(struct udevice *vdev, unsigned int offset) in virtio_cread8() argument
581 virtio_get_config(vdev, offset, &ret, sizeof(ret)); in virtio_cread8()
585 static inline void virtio_cwrite8(struct udevice *vdev, in virtio_cwrite8() argument
588 virtio_set_config(vdev, offset, &val, sizeof(val)); in virtio_cwrite8()
591 static inline u16 virtio_cread16(struct udevice *vdev, in virtio_cread16() argument
596 virtio_get_config(vdev, offset, &ret, sizeof(ret)); in virtio_cread16()
597 return virtio16_to_cpu(vdev, (__force __virtio16)ret); in virtio_cread16()
600 static inline void virtio_cwrite16(struct udevice *vdev, in virtio_cwrite16() argument
603 val = (__force u16)cpu_to_virtio16(vdev, val); in virtio_cwrite16()
604 virtio_set_config(vdev, offset, &val, sizeof(val)); in virtio_cwrite16()
607 static inline u32 virtio_cread32(struct udevice *vdev, in virtio_cread32() argument
612 virtio_get_config(vdev, offset, &ret, sizeof(ret)); in virtio_cread32()
613 return virtio32_to_cpu(vdev, (__force __virtio32)ret); in virtio_cread32()
616 static inline void virtio_cwrite32(struct udevice *vdev, in virtio_cwrite32() argument
619 val = (__force u32)cpu_to_virtio32(vdev, val); in virtio_cwrite32()
620 virtio_set_config(vdev, offset, &val, sizeof(val)); in virtio_cwrite32()
623 static inline u64 virtio_cread64(struct udevice *vdev, in virtio_cread64() argument
628 __virtio_cread_many(vdev, offset, &ret, 1, sizeof(ret)); in virtio_cread64()
629 return virtio64_to_cpu(vdev, (__force __virtio64)ret); in virtio_cread64()
632 static inline void virtio_cwrite64(struct udevice *vdev, in virtio_cwrite64() argument
635 val = (__force u64)cpu_to_virtio64(vdev, val); in virtio_cwrite64()
636 virtio_set_config(vdev, offset, &val, sizeof(val)); in virtio_cwrite64()
640 #define virtio_cread(vdev, structname, member, ptr) \ argument
648 *(ptr) = virtio_cread8(vdev, \
652 *(ptr) = virtio_cread16(vdev, \
656 *(ptr) = virtio_cread32(vdev, \
660 *(ptr) = virtio_cread64(vdev, \
669 #define virtio_cwrite(vdev, structname, member, ptr) \ argument
677 virtio_cwrite8(vdev, \
682 virtio_cwrite16(vdev, \
687 virtio_cwrite32(vdev, \
692 virtio_cwrite64(vdev, \
702 #define virtio_cread_feature(vdev, fbit, structname, member, ptr) \ argument
705 if (!virtio_has_feature(vdev, fbit)) \
708 virtio_cread(vdev, structname, member, ptr); \