search for: vhost_rpmsg_ept

Displaying 20 results from an estimated 26 matches for "vhost_rpmsg_ept".

2020 May 27
0
[PATCH v2 5/5] vhost: add an RPMsg API
...direction */ > > +enum { > > + VIRTIO_RPMSG_RESPONSE, /* RPMsg response (host->guest) buffers */ > > + VIRTIO_RPMSG_REQUEST, /* RPMsg request (guest->host) buffers */ > > + /* Keep last */ > > + VIRTIO_RPMSG_NUM_OF_VQS, > > +}; > > + > > +struct vhost_rpmsg_ept; > > + > > +struct vhost_rpmsg_iter { > > + struct iov_iter iov_iter; > > + struct rpmsg_hdr rhdr; > > + struct vhost_virtqueue *vq; > > + const struct vhost_rpmsg_ept *ept; > > + int head; > > + void *priv; > > +}; > > + > > +struct...
2020 Sep 10
0
[PATCH v7 3/3] vhost: add an RPMsg API
...;vr->vq[VIRTIO_RPMSG_REQUEST]) { + if (in) { + vq_err(vq, "%s(): invalid %d input in request queue\n", + __func__, in); + goto return_buf; + } + + *cnt = out; + } + + return head; + +return_buf: + vhost_add_used(vq, head, 0); + + return -EINVAL; +} + +static const struct vhost_rpmsg_ept *vhost_rpmsg_ept_find(struct vhost_rpmsg *vr, int addr) +{ + unsigned int i; + + for (i = 0; i < vr->n_epts; i++) + if (vr->ept[i].addr == addr) + return vr->ept + i; + + return NULL; +} + +/* + * if len < 0, then for reading a request, the complete virtual queue buffer + * size i...
2020 May 27
0
[PATCH v3 5/5] vhost: add an RPMsg API
..._add_used() + * or vhost_discard_vq_desc(). vhost_discard_vq_desc() is + * described as "being useful for error handling," but it makes + * the thus discarded buffers "unseen," so next time we look we + * retrieve them again? + */ + return -EINVAL; +} + +static const struct vhost_rpmsg_ept *vhost_rpmsg_ept_find( + struct vhost_rpmsg *vr, int addr) +{ + unsigned int i; + + for (i = 0; i < vr->n_epts; i++) + if (vr->ept[i].addr == addr) + return vr->ept + i; + + return NULL; +} + +/* + * if len < 0, then for reading a request, the complete virtual queue buffer + *...
2020 Jul 22
0
[PATCH v4 4/4] vhost: add an RPMsg API
..._add_used() + * or vhost_discard_vq_desc(). vhost_discard_vq_desc() is + * described as "being useful for error handling," but it makes + * the thus discarded buffers "unseen," so next time we look we + * retrieve them again? + */ + return -EINVAL; +} + +static const struct vhost_rpmsg_ept *vhost_rpmsg_ept_find(struct vhost_rpmsg *vr, int addr) +{ + unsigned int i; + + for (i = 0; i < vr->n_epts; i++) + if (vr->ept[i].addr == addr) + return vr->ept + i; + + return NULL; +} + +/* + * if len < 0, then for reading a request, the complete virtual queue buffer + * size i...
2020 May 25
6
[PATCH v2 0/5] Add a vhost RPMsg API
v2: - remove "default n" from Kconfig - drop patch #6 - it depends on a different patch, that is currently an RFC - update patch #5 with a correct vhost_dev_init() prototype Linux supports RPMsg over VirtIO for "remote processor" /AMP use cases. It can however also be used for virtualisation scenarios, e.g. when using KVM to run Linux on both the host and the guests. This
2020 Sep 11
0
[PATCH v5 4/4] vhost: add an RPMsg API
...ONSE, /* RPMsg response (host->guest) buffers */ > > > > + VIRTIO_RPMSG_REQUEST, /* RPMsg request (guest->host) buffers */ > > > > + /* Keep last */ > > > > + VIRTIO_RPMSG_NUM_OF_VQS, > > > > +}; > > > > + > > > > +struct vhost_rpmsg_ept; > > > > + > > > > +struct vhost_rpmsg_iter { > > > > + struct iov_iter iov_iter; > > > > + struct rpmsg_hdr rhdr; > > > > + struct vhost_virtqueue *vq; > > > > + const struct vhost_rpmsg_ept *ept; > > > > + int hea...
2020 Sep 10
0
[PATCH v5 4/4] vhost: add an RPMsg API
...gt; + goto return_buf; > > + } > > + > > + *cnt = out; > > + } > > + > > + return head; > > + > > +return_buf: > > + vhost_add_used(vq, head, 0); > > + > > + return -EINVAL; > > +} > > + > > +static const struct vhost_rpmsg_ept *vhost_rpmsg_ept_find(struct vhost_rpmsg *vr, int addr) > > +{ > > + unsigned int i; > > + > > + for (i = 0; i < vr->n_epts; i++) > > + if (vr->ept[i].addr == addr) > > + return vr->ept + i; > > + > > + return NULL; > > +} > &g...
2020 Sep 18
0
[PATCH v7 3/3] vhost: add an RPMsg API
...gt; + goto return_buf; > > + } > > + > > + *cnt = out; > > + } > > + > > + return head; > > + > > +return_buf: > > + vhost_add_used(vq, head, 0); > > + > > + return -EINVAL; > > +} > > + > > +static const struct vhost_rpmsg_ept *vhost_rpmsg_ept_find(struct vhost_rpmsg *vr, int addr) > > +{ > > + unsigned int i; > > + > > + for (i = 0; i < vr->n_epts; i++) > > + if (vr->ept[i].addr == addr) > > + return vr->ept + i; > > + > > + return NULL; > > +} > &g...
2020 Aug 26
12
[PATCH v5 0/4] Add a vhost RPMsg API
Hi, Next update: v5: - don't hard-code message layout v4: - add endianness conversions to comply with the VirtIO standard v3: - address several checkpatch warnings - address comments from Mathieu Poirier v2: - update patch #5 with a correct vhost_dev_init() prototype - drop patch #6 - it depends on a different patch, that is currently an RFC - address comments from Pierre-Louis Bossart:
2020 Aug 26
12
[PATCH v5 0/4] Add a vhost RPMsg API
Hi, Next update: v5: - don't hard-code message layout v4: - add endianness conversions to comply with the VirtIO standard v3: - address several checkpatch warnings - address comments from Mathieu Poirier v2: - update patch #5 with a correct vhost_dev_init() prototype - drop patch #6 - it depends on a different patch, that is currently an RFC - address comments from Pierre-Louis Bossart:
2020 Sep 10
6
[PATCH v7 0/3] Add a vhost RPMsg API
Hi, Next update: v7: - remove documentation update to be send separately - address comments from Mathieu Poirier (thanks) v6: - rename include/linux/virtio_rpmsg.h -> include/linux/rpmsg/virtio.h v5: - don't hard-code message layout v4: - add endianness conversions to comply with the VirtIO standard v3: - address several checkpatch warnings - address comments from Mathieu Poirier v2:
2020 Sep 10
6
[PATCH v7 0/3] Add a vhost RPMsg API
Hi, Next update: v7: - remove documentation update to be send separately - address comments from Mathieu Poirier (thanks) v6: - rename include/linux/virtio_rpmsg.h -> include/linux/rpmsg/virtio.h v5: - don't hard-code message layout v4: - add endianness conversions to comply with the VirtIO standard v3: - address several checkpatch warnings - address comments from Mathieu Poirier v2:
2020 Sep 15
0
[PATCH v5 4/4] vhost: add an RPMsg API
...; > > > > + VIRTIO_RPMSG_REQUEST, /* RPMsg request (guest->host) buffers */ > > > > > > + /* Keep last */ > > > > > > + VIRTIO_RPMSG_NUM_OF_VQS, > > > > > > +}; > > > > > > + > > > > > > +struct vhost_rpmsg_ept; > > > > > > + > > > > > > +struct vhost_rpmsg_iter { > > > > > > + struct iov_iter iov_iter; > > > > > > + struct rpmsg_hdr rhdr; > > > > > > + struct vhost_virtqueue *vq; > > > > > > + cons...
2020 Aug 04
2
[PATCH v4 4/4] vhost: add an RPMsg API
...me we look we > + * retrieve them again? Yes. It's your decision what to do on error. if you also signal an eventfd using vq_err, then discarding will make it so userspace can poke at ring and hopefully fix it ... > + */ > + return -EINVAL; > +} > + > +static const struct vhost_rpmsg_ept *vhost_rpmsg_ept_find(struct vhost_rpmsg *vr, int addr) > +{ > + unsigned int i; > + > + for (i = 0; i < vr->n_epts; i++) > + if (vr->ept[i].addr == addr) > + return vr->ept + i; > + > + return NULL; > +} > + > +/* > + * if len < 0, then for rea...
2020 Aug 04
2
[PATCH v4 4/4] vhost: add an RPMsg API
...me we look we > + * retrieve them again? Yes. It's your decision what to do on error. if you also signal an eventfd using vq_err, then discarding will make it so userspace can poke at ring and hopefully fix it ... > + */ > + return -EINVAL; > +} > + > +static const struct vhost_rpmsg_ept *vhost_rpmsg_ept_find(struct vhost_rpmsg *vr, int addr) > +{ > + unsigned int i; > + > + for (i = 0; i < vr->n_epts; i++) > + if (vr->ept[i].addr == addr) > + return vr->ept + i; > + > + return NULL; > +} > + > +/* > + * if len < 0, then for rea...
2020 Jul 22
13
[PATCH v4 0/4] Add a vhost RPMsg API
Hi, Now that virtio-rpmsg endianness fixes have been merged we can proceed with the next step. v4: - add endianness conversions to comply with the VirtIO standard v3: - address several checkpatch warnings - address comments from Mathieu Poirier v2: - update patch #5 with a correct vhost_dev_init() prototype - drop patch #6 - it depends on a different patch, that is currently an RFC -
2020 Jul 22
13
[PATCH v4 0/4] Add a vhost RPMsg API
Hi, Now that virtio-rpmsg endianness fixes have been merged we can proceed with the next step. v4: - add endianness conversions to comply with the VirtIO standard v3: - address several checkpatch warnings - address comments from Mathieu Poirier v2: - update patch #5 with a correct vhost_dev_init() prototype - drop patch #6 - it depends on a different patch, that is currently an RFC -
2020 May 16
9
[PATCH 0/6] Add a vhost RPMsg API
Linux supports RPMsg over VirtIO for "remote processor" /AMP use cases. It can however also be used for virtualisation scenarios, e.g. when using KVM to run Linux on both the host and the guests. This patch set adds a wrapper API to facilitate writing vhost drivers for such RPMsg-based solutions. The first use case is an audio DSP virtualisation project, currently under development,
2020 May 16
9
[PATCH 0/6] Add a vhost RPMsg API
Linux supports RPMsg over VirtIO for "remote processor" /AMP use cases. It can however also be used for virtualisation scenarios, e.g. when using KVM to run Linux on both the host and the guests. This patch set adds a wrapper API to facilitate writing vhost drivers for such RPMsg-based solutions. The first use case is an audio DSP virtualisation project, currently under development,
2020 May 27
10
[PATCH v3 0/5] Add a vhost RPMsg API
v3: - address several checkpatch warnings - address comments from Mathieu Poirier v2: - update patch #5 with a correct vhost_dev_init() prototype - drop patch #6 - it depends on a different patch, that is currently an RFC - address comments from Pierre-Louis Bossart: * remove "default n" from Kconfig Linux supports RPMsg over VirtIO for "remote processor" /AMP use cases.