diff options
Diffstat (limited to 'include/linux/virtio_ring.h')
| -rw-r--r-- | include/linux/virtio_ring.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/virtio_ring.h b/include/linux/virtio_ring.h index f3fa55bdd6ce..a156e2b6ccfe 100644 --- a/include/linux/virtio_ring.h +++ b/include/linux/virtio_ring.h | |||
| @@ -45,6 +45,17 @@ static inline void virtio_wmb(bool weak_barriers) | |||
| 45 | wmb(); | 45 | wmb(); |
| 46 | } | 46 | } |
| 47 | 47 | ||
| 48 | static inline void virtio_store_mb(bool weak_barriers, | ||
| 49 | __virtio16 *p, __virtio16 v) | ||
| 50 | { | ||
| 51 | if (weak_barriers) { | ||
| 52 | virt_store_mb(*p, v); | ||
| 53 | } else { | ||
| 54 | WRITE_ONCE(*p, v); | ||
| 55 | mb(); | ||
| 56 | } | ||
| 57 | } | ||
| 58 | |||
| 48 | struct virtio_device; | 59 | struct virtio_device; |
| 49 | struct virtqueue; | 60 | struct virtqueue; |
| 50 | 61 | ||
