search for: vm_notify

Displaying 20 results from an estimated 61 matches for "vm_notify".

2018 Apr 19
4
[PATCH] virtio_ring: switch to dma_XX barriers for rpmsg
...ase review > > and ack this patch? Or even better test it? > > > > All these barriers are useless on Intel anyway ... > > This should be okay, but I wonder if there should be a virtio_wmb(...) > or an "if (weak_barriers) wmb()" before the "writel" in vm_notify > (drivers/virtio/virtio_mmio.c). > > Thanks, > > Paolo That one uses weak barriers AFAIK. IIUC you mean rproc_virtio_notify. I suspect it works because specific kick callbacks have a barrier internally. > > > > include/linux/virtio_ring.h | 4 ++-- > > 1 f...
2018 Apr 19
4
[PATCH] virtio_ring: switch to dma_XX barriers for rpmsg
...ase review > > and ack this patch? Or even better test it? > > > > All these barriers are useless on Intel anyway ... > > This should be okay, but I wonder if there should be a virtio_wmb(...) > or an "if (weak_barriers) wmb()" before the "writel" in vm_notify > (drivers/virtio/virtio_mmio.c). > > Thanks, > > Paolo That one uses weak barriers AFAIK. IIUC you mean rproc_virtio_notify. I suspect it works because specific kick callbacks have a barrier internally. > > > > include/linux/virtio_ring.h | 4 ++-- > > 1 f...
2023 Mar 23
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...upport for this feature for MMIO, channel I/O and modern PCI > > > transports. > > > > > > Signed-off-by: Viktor Prutyanov <viktor at daynix.com> > > > --- > > > v4: remove VP_NOTIFY macro and legacy PCI support, add > > > virtio_ccw_kvm_notify_with_data to virtio_ccw > > > v3: support feature in virtio_ccw, remove VM_NOTIFY, use avail_idx_shadow, > > > remove byte swap, rename to vring_notification_data > > > v2: reject the feature in virtio_ccw, replace __le32 with u32 > > > > > > Test...
2023 Mar 23
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...rap counter and 15-bit > available index. > > Add support for this feature for MMIO, channel I/O and modern PCI > transports. > > Signed-off-by: Viktor Prutyanov <viktor at daynix.com> > --- > v4: remove VP_NOTIFY macro and legacy PCI support, add > virtio_ccw_kvm_notify_with_data to virtio_ccw > v3: support feature in virtio_ccw, remove VM_NOTIFY, use avail_idx_shadow, > remove byte swap, rename to vring_notification_data > v2: reject the feature in virtio_ccw, replace __le32 with u32 > > Tested with disabled VIRTIO_F_NOTIFICATION_DATA on qem...
2023 Mar 21
0
[PATCH v2] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...t virtio_ccw_finalize_features(struct virtio_device *vdev) > diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c > index 3ff746e3f24a..0e13da17fe0a 100644 > --- a/drivers/virtio/virtio_mmio.c > +++ b/drivers/virtio/virtio_mmio.c > @@ -285,6 +285,19 @@ static bool vm_notify(struct virtqueue *vq) > return true; > } > > +static bool vm_notify_with_data(struct virtqueue *vq) > +{ > + struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vq->vdev); > + u32 data = vring_fill_notification_data(vq); > + > + writel(data, vm_dev->base...
2023 Mar 21
0
[PATCH v2] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...t virtio_ccw_finalize_features(struct virtio_device *vdev) > diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c > index 3ff746e3f24a..0e13da17fe0a 100644 > --- a/drivers/virtio/virtio_mmio.c > +++ b/drivers/virtio/virtio_mmio.c > @@ -285,6 +285,19 @@ static bool vm_notify(struct virtqueue *vq) > return true; > } > > +static bool vm_notify_with_data(struct virtqueue *vq) > +{ > + struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vq->vdev); > + u32 data = vring_fill_notification_data(vq); > + > + writel(data, vm_dev->base...
2011 Apr 06
2
voicemail call back loop
I have "externnotify = /var/lib/asterisk/agi-bin/vm_notify.pl" so that when someone is left a voicemail it will call the person's mobile phone and prompt them with the new message. The perl script simply originates a call to a persons mobile phone and connects it to their voicemail using VoiceMailMain. Problem is when user hangs up from checking t...
2023 Mar 22
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...p counter and 15-bit > available index. > > Add support for this feature for MMIO, channel I/O and modern PCI > transports. > > Signed-off-by: Viktor Prutyanov <viktor at daynix.com> > --- > v4: remove VP_NOTIFY macro and legacy PCI support, add > virtio_ccw_kvm_notify_with_data to virtio_ccw > v3: support feature in virtio_ccw, remove VM_NOTIFY, use avail_idx_shadow, > remove byte swap, rename to vring_notification_data > v2: reject the feature in virtio_ccw, replace __le32 with u32 > > Tested with disabled VIRTIO_F_NOTIFICATION_DATA on qe...
2023 Mar 21
0
[PATCH v3] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...r and 15-bit > available index. > > Add support for this feature for MMIO, PCI and channel I/O transports. > > Signed-off-by: Viktor Prutyanov <viktor at daynix.com> Can you pls report what was tested and how? Thanks! > --- > v3: support feature in virtio_ccw, remove VM_NOTIFY, use avail_idx_shadow, > remove byte swap, rename to vring_notification_data > v2: reject the feature in virtio_ccw, replace __le32 with u32 > > drivers/s390/virtio/virtio_ccw.c | 4 +++- > drivers/virtio/virtio_mmio.c | 14 +++++++++++++- > drivers/virtio/virtio_p...
2023 Mar 23
0
[PATCH v5] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...; > Add support for this feature for MMIO, channel I/O and modern PCI > transports. > > Signed-off-by: Viktor Prutyanov <viktor at daynix.com> > --- > v5: replace ternary operator with if-else > v4: remove VP_NOTIFY macro and legacy PCI support, add > virtio_ccw_kvm_notify_with_data to virtio_ccw > v3: support feature in virtio_ccw, remove VM_NOTIFY, use avail_idx_shadow, > remove byte swap, rename to vring_notification_data > v2: reject the feature in virtio_ccw, replace __le32 with u32 > > Tested with disabled VIRTIO_F_NOTIFICATION_DATA on qem...
2013 Oct 24
0
[PATCH V2 RFC 1/9] virtio_ring: change host notification API
...97a46 100644 --- a/drivers/s390/kvm/kvm_virtio.c +++ b/drivers/s390/kvm/kvm_virtio.c @@ -166,11 +166,15 @@ static void kvm_reset(struct virtio_device *vdev) * make a hypercall. We hand the address of the virtqueue so the Host * knows which virtqueue we're talking about. */ -static void kvm_notify(struct virtqueue *vq) +static int kvm_notify(struct virtqueue *vq) { + long rc; struct kvm_vqconfig *config = vq->priv; - kvm_hypercall1(KVM_S390_VIRTIO_NOTIFY, config->address); + rc = kvm_hypercall1(KVM_S390_VIRTIO_NOTIFY, config->address); + if (rc < 0) + return rc; + return 0;...
2011 Dec 21
0
[PATCH] virtio: harsher barriers for virtio-mmio.
...s390/kvm/kvm_virtio.c +++ b/drivers/s390/kvm/kvm_virtio.c @@ -198,7 +198,7 @@ static struct virtqueue *kvm_find_vq(str goto out; vq = vring_new_virtqueue(config->num, KVM_S390_VIRTIO_RING_ALIGN, - vdev, (void *) config->address, + vdev, true, (void *) config->address, kvm_notify, callback, name); if (!vq) { err = -ENOMEM; diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c --- a/drivers/virtio/virtio_mmio.c +++ b/drivers/virtio/virtio_mmio.c @@ -309,9 +309,10 @@ static struct virtqueue *vm_setup_vq(str writel(virt_to_phys(info->queue) >&gt...
2011 Dec 21
0
[PATCH] virtio: harsher barriers for virtio-mmio.
...s390/kvm/kvm_virtio.c +++ b/drivers/s390/kvm/kvm_virtio.c @@ -198,7 +198,7 @@ static struct virtqueue *kvm_find_vq(str goto out; vq = vring_new_virtqueue(config->num, KVM_S390_VIRTIO_RING_ALIGN, - vdev, (void *) config->address, + vdev, true, (void *) config->address, kvm_notify, callback, name); if (!vq) { err = -ENOMEM; diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c --- a/drivers/virtio/virtio_mmio.c +++ b/drivers/virtio/virtio_mmio.c @@ -309,9 +309,10 @@ static struct virtqueue *vm_setup_vq(str writel(virt_to_phys(info->queue) >&gt...
2018 Apr 19
4
[PATCH] virtio_ring: switch to dma_XX barriers for rpmsg
virtio is using barriers to order memory accesses, thus dma_wmb/rmb is a good match. Build-tested on x86: Before [mst at tuck linux]$ size drivers/virtio/virtio_ring.o text data bss dec hex filename 11392 820 0 12212 2fb4 drivers/virtio/virtio_ring.o After mst at tuck linux]$ size drivers/virtio/virtio_ring.o text data bss dec hex filename
2018 Apr 19
4
[PATCH] virtio_ring: switch to dma_XX barriers for rpmsg
virtio is using barriers to order memory accesses, thus dma_wmb/rmb is a good match. Build-tested on x86: Before [mst at tuck linux]$ size drivers/virtio/virtio_ring.o text data bss dec hex filename 11392 820 0 12212 2fb4 drivers/virtio/virtio_ring.o After mst at tuck linux]$ size drivers/virtio/virtio_ring.o text data bss dec hex filename
2015 Jan 20
4
[PATCH v2] virtio-mmio: Update the device to OASIS spec version
...VRING_ALIGN, - vm_dev->base + VIRTIO_MMIO_QUEUE_ALIGN); - writel(virt_to_phys(info->queue) >> PAGE_SHIFT, - vm_dev->base + VIRTIO_MMIO_QUEUE_PFN); - /* Create the vring */ vq = vring_new_virtqueue(index, info->num, VIRTIO_MMIO_VRING_ALIGN, vdev, true, info->queue, vm_notify, callback, name); @@ -371,6 +354,33 @@ static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned index, goto error_new_virtqueue; } + /* Activate the queue */ + writel(info->num, vm_dev->base + VIRTIO_MMIO_QUEUE_NUM); + if (vm_dev->version == 1) { + writel(PAGE_SIZE...
2015 Jan 20
4
[PATCH v2] virtio-mmio: Update the device to OASIS spec version
...VRING_ALIGN, - vm_dev->base + VIRTIO_MMIO_QUEUE_ALIGN); - writel(virt_to_phys(info->queue) >> PAGE_SHIFT, - vm_dev->base + VIRTIO_MMIO_QUEUE_PFN); - /* Create the vring */ vq = vring_new_virtqueue(index, info->num, VIRTIO_MMIO_VRING_ALIGN, vdev, true, info->queue, vm_notify, callback, name); @@ -371,6 +354,33 @@ static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned index, goto error_new_virtqueue; } + /* Activate the queue */ + writel(info->num, vm_dev->base + VIRTIO_MMIO_QUEUE_NUM); + if (vm_dev->version == 1) { + writel(PAGE_SIZE...
2013 Oct 28
2
[PATCH V2 RFC 1/9] virtio_ring: change host notification API
Rusty, here is just patch 1 (using bool as return value in notify API). Thanks. Heinz Graalfs (9): virtio_ring: change host notification API virtio_ring: let virtqueue_{kick()/notify()} return a bool virtio_net: verify if virtqueue_kick() succeeded virtio_test: verify if virtqueue_kick() succeeded virtio_ring: add new function virtqueue_is_broken() virtio_blk: verify if queue is
2013 Oct 28
2
[PATCH V2 RFC 1/9] virtio_ring: change host notification API
Rusty, here is just patch 1 (using bool as return value in notify API). Thanks. Heinz Graalfs (9): virtio_ring: change host notification API virtio_ring: let virtqueue_{kick()/notify()} return a bool virtio_net: verify if virtqueue_kick() succeeded virtio_test: verify if virtqueue_kick() succeeded virtio_ring: add new function virtqueue_is_broken() virtio_blk: verify if queue is
2015 Apr 28
0
[PATCH v2] virtio-mmio: Update the device to OASIS spec version
...se + VIRTIO_MMIO_QUEUE_ALIGN); > - writel(virt_to_phys(info->queue) >> PAGE_SHIFT, > - vm_dev->base + VIRTIO_MMIO_QUEUE_PFN); > - > /* Create the vring */ > vq = vring_new_virtqueue(index, info->num, VIRTIO_MMIO_VRING_ALIGN, vdev, > true, info->queue, vm_notify, callback, name); > @@ -371,6 +354,33 @@ static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned index, > goto error_new_virtqueue; > } > > + /* Activate the queue */ > + writel(info->num, vm_dev->base + VIRTIO_MMIO_QUEUE_NUM); > + if (vm_dev->...