search for: __virtio_cread_many

Displaying 20 results from an estimated 24 matches for "__virtio_cread_many".

2015 Mar 31
2
[PATCH] virtio_config: reorder functions
...ruct virtio_device *vdev, u64 val) } \ } while(0) -static inline u8 virtio_cread8(struct virtio_device *vdev, unsigned int offset) -{ - u8 ret; - vdev->config->get(vdev, offset, &ret, sizeof(ret)); - return ret; -} - /* Read @count fields, @bytes each. */ static inline void __virtio_cread_many(struct virtio_device *vdev, unsigned int offset, @@ -326,7 +319,6 @@ static inline void __virtio_cread_many(struct virtio_device *vdev, } while (gen != old); } - static inline void virtio_cread_bytes(struct virtio_device *vdev, unsigned int offset, void *buf,...
2015 Mar 31
2
[PATCH] virtio_config: reorder functions
...ruct virtio_device *vdev, u64 val) } \ } while(0) -static inline u8 virtio_cread8(struct virtio_device *vdev, unsigned int offset) -{ - u8 ret; - vdev->config->get(vdev, offset, &ret, sizeof(ret)); - return ret; -} - /* Read @count fields, @bytes each. */ static inline void __virtio_cread_many(struct virtio_device *vdev, unsigned int offset, @@ -326,7 +319,6 @@ static inline void __virtio_cread_many(struct virtio_device *vdev, } while (gen != old); } - static inline void virtio_cread_bytes(struct virtio_device *vdev, unsigned int offset, void *buf,...
2015 Apr 08
0
[PATCH] virtio_config: reorder functions
...} while(0) > > -static inline u8 virtio_cread8(struct virtio_device *vdev, unsigned int offset) > -{ > - u8 ret; > - vdev->config->get(vdev, offset, &ret, sizeof(ret)); > - return ret; > -} > - > /* Read @count fields, @bytes each. */ > static inline void __virtio_cread_many(struct virtio_device *vdev, > unsigned int offset, > @@ -326,7 +319,6 @@ static inline void __virtio_cread_many(struct virtio_device *vdev, > } while (gen != old); > } > > - > static inline void virtio_cread_bytes(struct virtio_device *vdev, > un...
2014 Dec 15
0
[PATCH 6/6] virtio: core support for config generation
...vice *vdev); void (*set_status)(struct virtio_device *vdev, u8 status); void (*reset)(struct virtio_device *vdev); @@ -301,14 +305,33 @@ static inline u8 virtio_cread8(struct virtio_device *vdev, unsigned int offset) return ret; } +/* Read @count fields, @bytes each. */ +static inline void __virtio_cread_many(struct virtio_device *vdev, + unsigned int offset, + void *buf, size_t count, size_t bytes) +{ + u32 old, gen = vdev->config->generation ? + vdev->config->generation(vdev) : 0; + int i; + + do { + old = gen; + + for (i = 0; i < count; i++) + vdev->config-&...
2014 Dec 15
0
[PATCH 6/6] virtio: core support for config generation
...vice *vdev); void (*set_status)(struct virtio_device *vdev, u8 status); void (*reset)(struct virtio_device *vdev); @@ -301,14 +305,33 @@ static inline u8 virtio_cread8(struct virtio_device *vdev, unsigned int offset) return ret; } +/* Read @count fields, @bytes each. */ +static inline void __virtio_cread_many(struct virtio_device *vdev, + unsigned int offset, + void *buf, size_t count, size_t bytes) +{ + u32 old, gen = vdev->config->generation ? + vdev->config->generation(vdev) : 0; + int i; + + do { + old = gen; + + for (i = 0; i < count; i++) + vdev->config-&...
2020 Aug 05
0
[PATCH v3 26/38] virtio_config: LE config space accessors
...+ \ + switch (sizeof(virtio_cread_v)) { \ + case 1: \ + case 2: \ + case 4: \ + vdev->config->get((vdev), \ + offsetof(structname, member), \ + &virtio_cread_v, \ + sizeof(virtio_cread_v)); \ + break; \ + default: \ + __virtio_cread_many((vdev), \ + offsetof(structname, member), \ + &virtio_cread_v, \ + 1, \ + sizeof(virtio_cread_v)); \ + break; \ + } \ + *(ptr) = virtio_le_to_cpu(virtio_cread_v); \ + } while(0) + +/* Config space accessors. */ +#define virtio_cwrite_le(vdev, struc...
2014 Dec 15
8
[PATCH 0/6] virtio 1.0 fixups, tweaks
Fixes a couple of minor compliance issues in new virtio 1.0 code. Plus, adds a couple of minor cleanups - not bugfixes, but seem safe enough for 3.19. Michael S. Tsirkin (6): virtio: set VIRTIO_CONFIG_S_FEATURES_OK on restore virtio_config: fix virtio_cread_bytes virtio_pci_common.h: drop VIRTIO_PCI_NO_LEGACY virtio_pci: move probe to common file virtio_pci: add VIRTIO_PCI_NO_LEGACY
2014 Dec 15
8
[PATCH 0/6] virtio 1.0 fixups, tweaks
Fixes a couple of minor compliance issues in new virtio 1.0 code. Plus, adds a couple of minor cleanups - not bugfixes, but seem safe enough for 3.19. Michael S. Tsirkin (6): virtio: set VIRTIO_CONFIG_S_FEATURES_OK on restore virtio_config: fix virtio_cread_bytes virtio_pci_common.h: drop VIRTIO_PCI_NO_LEGACY virtio_pci: move probe to common file virtio_pci: add VIRTIO_PCI_NO_LEGACY
2016 Nov 27
2
[PATCH v2 1/2] virtio: introduce little edian functions for virtio_cread/write# family
...o_device *vdev, > + unsigned int offset, __le32 val) > +{ > + vdev->config->set(vdev, offset, &val, sizeof(val)); > +} > + > +static inline __le64 virtio_cread64_le(struct virtio_device *vdev, > + unsigned int offset) > +{ > + __le64 ret; > + > + __virtio_cread_many(vdev, offset, &ret, 1, sizeof(ret)); > + return ret; > +} > + > +static inline void virtio_cwrite64_le(struct virtio_device *vdev, > + unsigned int offset, __le64 val) > +{ > + vdev->config->set(vdev, offset, &val, sizeof(val)); > +} > + > #endif /...
2016 Nov 27
2
[PATCH v2 1/2] virtio: introduce little edian functions for virtio_cread/write# family
...o_device *vdev, > + unsigned int offset, __le32 val) > +{ > + vdev->config->set(vdev, offset, &val, sizeof(val)); > +} > + > +static inline __le64 virtio_cread64_le(struct virtio_device *vdev, > + unsigned int offset) > +{ > + __le64 ret; > + > + __virtio_cread_many(vdev, offset, &ret, 1, sizeof(ret)); > + return ret; > +} > + > +static inline void virtio_cwrite64_le(struct virtio_device *vdev, > + unsigned int offset, __le64 val) > +{ > + vdev->config->set(vdev, offset, &val, sizeof(val)); > +} > + > #endif /...
2016 Nov 28
3
[virtio-dev] Re: [PATCH v2 1/2] virtio: introduce little edian functions for virtio_cread/write# family
...v->config->set(vdev, offset, &val, sizeof(val)); > > > +} > > > + > > > +static inline __le64 virtio_cread64_le(struct virtio_device *vdev, > > > + unsigned int offset) > > > +{ > > > + __le64 ret; > > > + > > > + __virtio_cread_many(vdev, offset, &ret, 1, sizeof(ret)); > > > + return ret; > > > +} > > > + > > > +static inline void virtio_cwrite64_le(struct virtio_device *vdev, > > > + unsigned int offset, __le64 val) > > > +{ > > > + vdev->config->s...
2016 Nov 28
3
[virtio-dev] Re: [PATCH v2 1/2] virtio: introduce little edian functions for virtio_cread/write# family
...v->config->set(vdev, offset, &val, sizeof(val)); > > > +} > > > + > > > +static inline __le64 virtio_cread64_le(struct virtio_device *vdev, > > > + unsigned int offset) > > > +{ > > > + __le64 ret; > > > + > > > + __virtio_cread_many(vdev, offset, &ret, 1, sizeof(ret)); > > > + return ret; > > > +} > > > + > > > +static inline void virtio_cwrite64_le(struct virtio_device *vdev, > > > + unsigned int offset, __le64 val) > > > +{ > > > + vdev->config->s...
2016 Apr 01
0
[patch] virtio: silence uninitialized variable warnings
...dev, offset, &ret, sizeof(ret)); return virtio32_to_cpu(vdev, (__force __virtio32)ret); } @@ -378,7 +378,7 @@ static inline void virtio_cwrite32(struct virtio_device *vdev, static inline u64 virtio_cread64(struct virtio_device *vdev, unsigned int offset) { - u64 ret; + u64 ret = 0; __virtio_cread_many(vdev, offset, &ret, 1, sizeof(ret)); return virtio64_to_cpu(vdev, (__force __virtio64)ret); }
2016 Nov 22
0
[PATCH v2 1/2] virtio: introduce little edian functions for virtio_cread/write# family
...} + +static inline void virtio_cwrite32_le(struct virtio_device *vdev, + unsigned int offset, __le32 val) +{ + vdev->config->set(vdev, offset, &val, sizeof(val)); +} + +static inline __le64 virtio_cread64_le(struct virtio_device *vdev, + unsigned int offset) +{ + __le64 ret; + + __virtio_cread_many(vdev, offset, &ret, 1, sizeof(ret)); + return ret; +} + +static inline void virtio_cwrite64_le(struct virtio_device *vdev, + unsigned int offset, __le64 val) +{ + vdev->config->set(vdev, offset, &val, sizeof(val)); +} + #endif /* _LINUX_VIRTIO_CONFIG_H */ -- 1.8.3.1
2020 Aug 05
0
[PATCH v3 23/38] virtio_config: cread/write cleanup
...vdev, val); - vdev->config->set(vdev, offset, &val, sizeof(val)); + v = cpu_to_virtio32(vdev, val); + vdev->config->set(vdev, offset, &v, sizeof(v)); } static inline u64 virtio_cread64(struct virtio_device *vdev, unsigned int offset) { - u64 ret; + __virtio64 ret; + __virtio_cread_many(vdev, offset, &ret, 1, sizeof(ret)); - return virtio64_to_cpu(vdev, (__force __virtio64)ret); + return virtio64_to_cpu(vdev, ret); } static inline void virtio_cwrite64(struct virtio_device *vdev, unsigned int offset, u64 val) { + __virtio64 v; + might_sleep(); - val = (__force u6...
2016 Apr 01
0
[patch] virtio: silence uninitialized variable warnings
...dev, offset, &ret, sizeof(ret)); return virtio32_to_cpu(vdev, (__force __virtio32)ret); } @@ -378,7 +378,7 @@ static inline void virtio_cwrite32(struct virtio_device *vdev, static inline u64 virtio_cread64(struct virtio_device *vdev, unsigned int offset) { - u64 ret; + u64 ret = 0; __virtio_cread_many(vdev, offset, &ret, 1, sizeof(ret)); return virtio64_to_cpu(vdev, (__force __virtio64)ret); }
2015 Mar 31
2
[PATCH] virtio: drop a useless config read
..._config.h index ca3ed78..ed1e0d5 100644 --- a/include/linux/virtio_config.h +++ b/include/linux/virtio_config.h @@ -374,7 +374,6 @@ static inline u64 virtio_cread64(struct virtio_device *vdev, unsigned int offset) { u64 ret; - vdev->config->get(vdev, offset, &ret, sizeof(ret)); __virtio_cread_many(vdev, offset, &ret, 1, sizeof(ret)); return virtio64_to_cpu(vdev, (__force __virtio64)ret); } -- MST
2015 Mar 31
2
[PATCH] virtio: drop a useless config read
..._config.h index ca3ed78..ed1e0d5 100644 --- a/include/linux/virtio_config.h +++ b/include/linux/virtio_config.h @@ -374,7 +374,6 @@ static inline u64 virtio_cread64(struct virtio_device *vdev, unsigned int offset) { u64 ret; - vdev->config->get(vdev, offset, &ret, sizeof(ret)); __virtio_cread_many(vdev, offset, &ret, 1, sizeof(ret)); return virtio64_to_cpu(vdev, (__force __virtio64)ret); } -- MST
2016 Nov 28
0
[virtio-dev] Re: [PATCH v2 1/2] virtio: introduce little edian functions for virtio_cread/write# family
...__le32 val) > > +{ > > + vdev->config->set(vdev, offset, &val, sizeof(val)); > > +} > > + > > +static inline __le64 virtio_cread64_le(struct virtio_device *vdev, > > + unsigned int offset) > > +{ > > + __le64 ret; > > + > > + __virtio_cread_many(vdev, offset, &ret, 1, sizeof(ret)); > > + return ret; > > +} > > + > > +static inline void virtio_cwrite64_le(struct virtio_device *vdev, > > + unsigned int offset, __le64 val) > > +{ > > + vdev->config->set(vdev, offset, &val, sizeof(v...
2016 Nov 28
0
[virtio-dev] Re: [PATCH v2 1/2] virtio: introduce little edian functions for virtio_cread/write# family
...val, sizeof(val)); > > > > +} > > > > + > > > > +static inline __le64 virtio_cread64_le(struct virtio_device *vdev, > > > > + unsigned int offset) > > > > +{ > > > > + __le64 ret; > > > > + > > > > + __virtio_cread_many(vdev, offset, &ret, 1, sizeof(ret)); > > > > + return ret; > > > > +} > > > > + > > > > +static inline void virtio_cwrite64_le(struct virtio_device *vdev, > > > > + unsigned int offset, __le64 val) > > > > +{ > &gt...