Lines Matching refs:vdev
107 int (*get_config)(struct udevice *vdev, unsigned int offset,
118 int (*set_config)(struct udevice *vdev, unsigned int offset,
127 int (*generation)(struct udevice *vdev, u32 *counter);
135 int (*get_status)(struct udevice *vdev, u8 *status);
143 int (*set_status)(struct udevice *vdev, u8 status);
150 int (*reset)(struct udevice *vdev);
158 int (*get_features)(struct udevice *vdev, u64 *features);
165 int (*set_features)(struct udevice *vdev);
174 int (*find_vqs)(struct udevice *vdev, unsigned int nvqs,
182 int (*del_vqs)(struct udevice *vdev);
190 int (*notify)(struct udevice *vdev, struct virtqueue *vq);
212 struct udevice *vdev; member
232 int virtio_get_config(struct udevice *vdev, unsigned int offset,
244 int virtio_set_config(struct udevice *vdev, unsigned int offset,
254 int virtio_generation(struct udevice *vdev, u32 *counter);
263 int virtio_get_status(struct udevice *vdev, u8 *status);
272 int virtio_set_status(struct udevice *vdev, u8 status);
280 int virtio_reset(struct udevice *vdev);
289 int virtio_get_features(struct udevice *vdev, u64 *features);
297 int virtio_set_features(struct udevice *vdev);
307 int virtio_find_vqs(struct udevice *vdev, unsigned int nvqs,
316 int virtio_del_vqs(struct udevice *vdev);
325 int virtio_notify(struct udevice *vdev, struct virtqueue *vq);
333 void virtio_add_status(struct udevice *vdev, u8 status);
341 int virtio_finalize_features(struct udevice *vdev);
493 static inline bool virtio_has_feature(struct udevice *vdev, unsigned int fbit) in virtio_has_feature() argument
495 if (!(dev_get_flags(vdev) & DM_FLAG_BOUND)) in virtio_has_feature()
498 return __virtio_test_bit(vdev->parent, fbit); in virtio_has_feature()
510 static inline bool virtio_is_little_endian(struct udevice *vdev) in virtio_is_little_endian() argument
512 struct virtio_dev_priv *uc_priv = dev_get_uclass_priv(vdev->parent); in virtio_is_little_endian()
518 static inline u16 virtio16_to_cpu(struct udevice *vdev, __virtio16 val) in virtio16_to_cpu() argument
520 return __virtio16_to_cpu(virtio_is_little_endian(vdev), val); in virtio16_to_cpu()
523 static inline __virtio16 cpu_to_virtio16(struct udevice *vdev, u16 val) in cpu_to_virtio16() argument
525 return __cpu_to_virtio16(virtio_is_little_endian(vdev), val); in cpu_to_virtio16()
528 static inline u32 virtio32_to_cpu(struct udevice *vdev, __virtio32 val) in virtio32_to_cpu() argument
530 return __virtio32_to_cpu(virtio_is_little_endian(vdev), val); in virtio32_to_cpu()
533 static inline __virtio32 cpu_to_virtio32(struct udevice *vdev, u32 val) in cpu_to_virtio32() argument
535 return __cpu_to_virtio32(virtio_is_little_endian(vdev), val); in cpu_to_virtio32()
538 static inline u64 virtio64_to_cpu(struct udevice *vdev, __virtio64 val) in virtio64_to_cpu() argument
540 return __virtio64_to_cpu(virtio_is_little_endian(vdev), val); in virtio64_to_cpu()
543 static inline __virtio64 cpu_to_virtio64(struct udevice *vdev, u64 val) in cpu_to_virtio64() argument
545 return __cpu_to_virtio64(virtio_is_little_endian(vdev), val); in cpu_to_virtio64()
549 static inline void __virtio_cread_many(struct udevice *vdev, in __virtio_cread_many() argument
557 virtio_generation(vdev, &gen); in __virtio_cread_many()
562 virtio_get_config(vdev, offset + bytes * i, in __virtio_cread_many()
565 virtio_generation(vdev, &gen); in __virtio_cread_many()
569 static inline void virtio_cread_bytes(struct udevice *vdev, in virtio_cread_bytes() argument
573 __virtio_cread_many(vdev, offset, buf, len, 1); in virtio_cread_bytes()
576 static inline u8 virtio_cread8(struct udevice *vdev, unsigned int offset) in virtio_cread8() argument
580 virtio_get_config(vdev, offset, &ret, sizeof(ret)); in virtio_cread8()
584 static inline void virtio_cwrite8(struct udevice *vdev, in virtio_cwrite8() argument
587 virtio_set_config(vdev, offset, &val, sizeof(val)); in virtio_cwrite8()
590 static inline u16 virtio_cread16(struct udevice *vdev, in virtio_cread16() argument
595 virtio_get_config(vdev, offset, &ret, sizeof(ret)); in virtio_cread16()
596 return virtio16_to_cpu(vdev, (__force __virtio16)ret); in virtio_cread16()
599 static inline void virtio_cwrite16(struct udevice *vdev, in virtio_cwrite16() argument
602 val = (__force u16)cpu_to_virtio16(vdev, val); in virtio_cwrite16()
603 virtio_set_config(vdev, offset, &val, sizeof(val)); in virtio_cwrite16()
606 static inline u32 virtio_cread32(struct udevice *vdev, in virtio_cread32() argument
611 virtio_get_config(vdev, offset, &ret, sizeof(ret)); in virtio_cread32()
612 return virtio32_to_cpu(vdev, (__force __virtio32)ret); in virtio_cread32()
615 static inline void virtio_cwrite32(struct udevice *vdev, in virtio_cwrite32() argument
618 val = (__force u32)cpu_to_virtio32(vdev, val); in virtio_cwrite32()
619 virtio_set_config(vdev, offset, &val, sizeof(val)); in virtio_cwrite32()
622 static inline u64 virtio_cread64(struct udevice *vdev, in virtio_cread64() argument
627 __virtio_cread_many(vdev, offset, &ret, 1, sizeof(ret)); in virtio_cread64()
628 return virtio64_to_cpu(vdev, (__force __virtio64)ret); in virtio_cread64()
631 static inline void virtio_cwrite64(struct udevice *vdev, in virtio_cwrite64() argument
634 val = (__force u64)cpu_to_virtio64(vdev, val); in virtio_cwrite64()
635 virtio_set_config(vdev, offset, &val, sizeof(val)); in virtio_cwrite64()
639 #define virtio_cread(vdev, structname, member, ptr) \ argument
647 *(ptr) = virtio_cread8(vdev, \
651 *(ptr) = virtio_cread16(vdev, \
655 *(ptr) = virtio_cread32(vdev, \
659 *(ptr) = virtio_cread64(vdev, \
668 #define virtio_cwrite(vdev, structname, member, ptr) \ argument
676 virtio_cwrite8(vdev, \
681 virtio_cwrite16(vdev, \
686 virtio_cwrite32(vdev, \
691 virtio_cwrite64(vdev, \
701 #define virtio_cread_feature(vdev, fbit, structname, member, ptr) \ argument
704 if (!virtio_has_feature(vdev, fbit)) \
707 virtio_cread(vdev, structname, member, ptr); \