search for: rproc_virtio_notify

Displaying 20 results from an estimated 30 matches for "rproc_virtio_notify".

2018 Apr 19
4
[PATCH] virtio_ring: switch to dma_XX barriers for rpmsg
..... > > 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 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/include/linux/virtio_ring.h b/include/linux/virtio_ring.h > &g...
2018 Apr 19
4
[PATCH] virtio_ring: switch to dma_XX barriers for rpmsg
..... > > 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 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/include/linux/virtio_ring.h b/include/linux/virtio_ring.h > &g...
2017 Mar 30
0
[vhost:linux-next 6/19] drivers/remoteproc/remoteproc_virtio.c:106:33: sparse: not enough arguments for function vring_new_virtqueue
...nts for function vring_new_virtqueue drivers/remoteproc/remoteproc_virtio.c: In function 'rp_find_vq': drivers/remoteproc/remoteproc_virtio.c:107:27: error: passing argument 8 of 'vring_new_virtqueue' from incompatible pointer type [-Werror=incompatible-pointer-types] rproc_virtio_notify, callback, name); ^~~~~~~~ In file included from drivers/remoteproc/remoteproc_virtio.c:25:0: include/linux/virtio_ring.h:93:19: note: expected 'bool (*)(struct virtqueue *) {aka _Bool (*)(struct virtqueue *)}' but argument is of type 'void (*)(struct...
2017 Mar 30
0
[vhost:linux-next 6/19] drivers/remoteproc/remoteproc_virtio.c:106:33: sparse: not enough arguments for function vring_new_virtqueue
...nts for function vring_new_virtqueue drivers/remoteproc/remoteproc_virtio.c: In function 'rp_find_vq': drivers/remoteproc/remoteproc_virtio.c:107:27: error: passing argument 8 of 'vring_new_virtqueue' from incompatible pointer type [-Werror=incompatible-pointer-types] rproc_virtio_notify, callback, name); ^~~~~~~~ In file included from drivers/remoteproc/remoteproc_virtio.c:25:0: include/linux/virtio_ring.h:93:19: note: expected 'bool (*)(struct virtqueue *) {aka _Bool (*)(struct virtqueue *)}' but argument is of type 'void (*)(struct...
2013 Oct 24
0
[PATCH V2 RFC 1/9] virtio_ring: change host notification API
...eproc/remoteproc_virtio.c index b09c75c..39723ee 100644 --- a/drivers/remoteproc/remoteproc_virtio.c +++ b/drivers/remoteproc/remoteproc_virtio.c @@ -30,7 +30,7 @@ #include "remoteproc_internal.h" /* kick the remote processor, and let it know which virtqueue to poke at */ -static void rproc_virtio_notify(struct virtqueue *vq) +static int rproc_virtio_notify(struct virtqueue *vq) { struct rproc_vring *rvring = vq->priv; struct rproc *rproc = rvring->rvdev->rproc; @@ -39,6 +39,7 @@ static void rproc_virtio_notify(struct virtqueue *vq) dev_dbg(&rproc->dev, "kicking vq index...
2013 Mar 15
2
[PATCH 0/2] remoteproc : support for host virtio
From: Erwan Yvin <erwan.yvin at stericsson.com> This driver depends on Rusty's new host virtio ring implementation, so this patch-set is based on the vringh branch in Rusty's git. with the vringh wrapper patch on top. They do not apply cleanly on top of the remoteproc virtio config patches from Sjur, but it merges fine. CAIF will use this new host virtio ring implementation. Ido,
2013 Mar 15
2
[PATCH 0/2] remoteproc : support for host virtio
From: Erwan Yvin <erwan.yvin at stericsson.com> This driver depends on Rusty's new host virtio ring implementation, so this patch-set is based on the vringh branch in Rusty's git. with the vringh wrapper patch on top. They do not apply cleanly on top of the remoteproc virtio config patches from Sjur, but it merges fine. CAIF will use this new host virtio ring implementation. Ido,
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
2017 Mar 29
0
[vhost:linux-next 6/19] drivers//remoteproc/remoteproc_virtio.c:106:7: error: too few arguments to function 'vring_new_virtqueue'
...H=x86_64 All error/warnings (new ones prefixed by >>): drivers//remoteproc/remoteproc_virtio.c: In function 'rp_find_vq': >> drivers//remoteproc/remoteproc_virtio.c:107:27: warning: passing argument 8 of 'vring_new_virtqueue' from incompatible pointer type rproc_virtio_notify, callback, name); ^ In file included from drivers//remoteproc/remoteproc_virtio.c:25:0: include/linux/virtio_ring.h:93:19: note: expected 'bool (*)(struct virtqueue *)' but argument is of type 'void (*)(struct virtqueue *)' struct virtqueue *v...
2017 Mar 29
0
[vhost:linux-next 6/19] drivers//remoteproc/remoteproc_virtio.c:106:7: error: too few arguments to function 'vring_new_virtqueue'
...H=x86_64 All error/warnings (new ones prefixed by >>): drivers//remoteproc/remoteproc_virtio.c: In function 'rp_find_vq': >> drivers//remoteproc/remoteproc_virtio.c:107:27: warning: passing argument 8 of 'vring_new_virtqueue' from incompatible pointer type rproc_virtio_notify, callback, name); ^ In file included from drivers//remoteproc/remoteproc_virtio.c:25:0: include/linux/virtio_ring.h:93:19: note: expected 'bool (*)(struct virtqueue *)' but argument is of type 'void (*)(struct virtqueue *)' struct virtqueue *v...
2017 Mar 29
0
[vhost:linux-next 6/19] drivers/remoteproc/remoteproc_virtio.c:107:27: error: passing argument 8 of 'vring_new_virtqueue' from incompatible pointer type
...w ones prefixed by >>): drivers/remoteproc/remoteproc_virtio.c: In function 'rp_find_vq': >> drivers/remoteproc/remoteproc_virtio.c:107:27: error: passing argument 8 of 'vring_new_virtqueue' from incompatible pointer type [-Werror=incompatible-pointer-types] rproc_virtio_notify, callback, name); ^~~~~~~~ In file included from drivers/remoteproc/remoteproc_virtio.c:25:0: include/linux/virtio_ring.h:93:19: note: expected 'bool (*)(struct virtqueue *) {aka _Bool (*)(struct virtqueue *)}' but argument is of type 'void (*)(struct...
2017 Mar 29
0
[vhost:linux-next 6/19] drivers/remoteproc/remoteproc_virtio.c:107:27: error: passing argument 8 of 'vring_new_virtqueue' from incompatible pointer type
...w ones prefixed by >>): drivers/remoteproc/remoteproc_virtio.c: In function 'rp_find_vq': >> drivers/remoteproc/remoteproc_virtio.c:107:27: error: passing argument 8 of 'vring_new_virtqueue' from incompatible pointer type [-Werror=incompatible-pointer-types] rproc_virtio_notify, callback, name); ^~~~~~~~ In file included from drivers/remoteproc/remoteproc_virtio.c:25:0: include/linux/virtio_ring.h:93:19: note: expected 'bool (*)(struct virtqueue *) {aka _Bool (*)(struct virtqueue *)}' but argument is of type 'void (*)(struct...
2018 Apr 19
0
[PATCH] virtio_ring: switch to dma_XX barriers for rpmsg
...ut 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. Yes, that one. At least keystone_rproc_kick doesn't seem to have a barrier. Paolo
2013 Oct 24
12
[PATCH V2 RFC 0/9] virtio: fix hang(loop) after hot-unplug vlan
Hi, this patch-set solves a hang situation when a vlan network device is hot-unplugged from a KVM guest. On System z there exists no handshake mechanism between host and guest when a device is hot-unplugged. The device is removed and no further I/O is possible. The guest is notified about the hard removal with a CRW machine check. As per architecture, the host must repond to any I/O operation
2013 Oct 24
12
[PATCH V2 RFC 0/9] virtio: fix hang(loop) after hot-unplug vlan
Hi, this patch-set solves a hang situation when a vlan network device is hot-unplugged from a KVM guest. On System z there exists no handshake mechanism between host and guest when a device is hot-unplugged. The device is removed and no further I/O is possible. The guest is notified about the hard removal with a CRW machine check. As per architecture, the host must repond to any I/O operation
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
2013 Apr 09
1
[PATCHv2 virtio-next] remoteproc: Add support for host virtio rings (vringh)
...++ 2 files changed, 225 insertions(+), 5 deletions(-) diff --git a/drivers/remoteproc/remoteproc_virtio.c b/drivers/remoteproc/remoteproc_virtio.c index afed9b7..d01bec4 100644 --- a/drivers/remoteproc/remoteproc_virtio.c +++ b/drivers/remoteproc/remoteproc_virtio.c @@ -41,6 +41,18 @@ static void rproc_virtio_notify(struct virtqueue *vq) rproc->ops->kick(rproc, notifyid); } +/* kick the remote processor, and let it know which vring to poke at */ +static void rproc_virtio_vringh_notify(struct vringh *vrh) +{ + struct rproc_vring *rvring = vringh_to_rvring(vrh); + struct rproc *rproc = rvring->rvde...
2013 Apr 09
1
[PATCHv2 virtio-next] remoteproc: Add support for host virtio rings (vringh)
...++ 2 files changed, 225 insertions(+), 5 deletions(-) diff --git a/drivers/remoteproc/remoteproc_virtio.c b/drivers/remoteproc/remoteproc_virtio.c index afed9b7..d01bec4 100644 --- a/drivers/remoteproc/remoteproc_virtio.c +++ b/drivers/remoteproc/remoteproc_virtio.c @@ -41,6 +41,18 @@ static void rproc_virtio_notify(struct virtqueue *vq) rproc->ops->kick(rproc, notifyid); } +/* kick the remote processor, and let it know which vring to poke at */ +static void rproc_virtio_vringh_notify(struct vringh *vrh) +{ + struct rproc_vring *rvring = vringh_to_rvring(vrh); + struct rproc *rproc = rvring->rvde...