Displaying 20 results from an estimated 33 matches for "virtio_rpmsg_response".
2020 Sep 10
0
[PATCH v7 3/3] vhost: add an RPMsg API
...vq->iov, ARRAY_SIZE(vq->iov), &out, &in,
+ NULL, NULL);
+ if (head < 0) {
+ vq_err(vq, "%s(): error %d getting buffer\n",
+ __func__, head);
+ return head;
+ }
+
+ /* Nothing new? */
+ if (head == vq->num)
+ return head;
+
+ if (vq == &vr->vq[VIRTIO_RPMSG_RESPONSE]) {
+ if (out) {
+ vq_err(vq, "%s(): invalid %d output in response queue\n",
+ __func__, out);
+ goto return_buf;
+ }
+
+ *cnt = in;
+ }
+
+ if (vq == &vr->vq[VIRTIO_RPMSG_REQUEST]) {
+ if (in) {
+ vq_err(vq, "%s(): invalid %d input in request queue\n",...
2020 Jul 22
0
[PATCH v4 4/4] vhost: add an RPMsg API
...vq->iov, ARRAY_SIZE(vq->iov), &out, &in,
+ NULL, NULL);
+ if (head < 0) {
+ vq_err(vq, "%s(): error %d getting buffer\n",
+ __func__, head);
+ return head;
+ }
+
+ /* Nothing new? */
+ if (head == vq->num)
+ return head;
+
+ if (vq == &vr->vq[VIRTIO_RPMSG_RESPONSE] && (out || in != 1)) {
+ vq_err(vq,
+ "%s(): invalid %d input and %d output in response queue\n",
+ __func__, in, out);
+ goto return_buf;
+ }
+
+ if (vq == &vr->vq[VIRTIO_RPMSG_REQUEST] && (in || out != 1)) {
+ vq_err(vq,
+ "%s(): i...
2020 Sep 18
0
[PATCH v7 3/3] vhost: add an RPMsg API
...> > + vq_err(vq, "%s(): error %d getting buffer\n",
> > + __func__, head);
> > + return head;
> > + }
> > +
> > + /* Nothing new? */
> > + if (head == vq->num)
> > + return head;
> > +
> > + if (vq == &vr->vq[VIRTIO_RPMSG_RESPONSE]) {
> > + if (out) {
> > + vq_err(vq, "%s(): invalid %d output in response queue\n",
> > + __func__, out);
> > + goto return_buf;
> > + }
> > +
> > + *cnt = in;
> > + }
> > +
> > + if (vq == &vr->vq[VIRTIO_...
2020 May 27
0
[PATCH v3 5/5] vhost: add an RPMsg API
...vq->iov, ARRAY_SIZE(vq->iov),
+ &out, &in, NULL, NULL);
+ if (head < 0) {
+ vq_err(vq, "%s(): error %d getting buffer\n",
+ __func__, head);
+ return head;
+ }
+
+ /* Nothing new? */
+ if (head == vq->num)
+ return head;
+
+ if (vq == &vr->vq[VIRTIO_RPMSG_RESPONSE] && (out || in != 1)) {
+ vq_err(vq,
+ "%s(): invalid %d input and %d output in response queue\n",
+ __func__, in, out);
+ goto return_buf;
+ }
+
+ if (vq == &vr->vq[VIRTIO_RPMSG_REQUEST] && (in || out != 1)) {
+ vq_err(vq,
+ "%s(): i...
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 10
0
[PATCH v5 4/4] vhost: add an RPMsg API
...> > + vq_err(vq, "%s(): error %d getting buffer\n",
> > + __func__, head);
> > + return head;
> > + }
> > +
> > + /* Nothing new? */
> > + if (head == vq->num)
> > + return head;
> > +
> > + if (vq == &vr->vq[VIRTIO_RPMSG_RESPONSE]) {
> > + if (out) {
> > + vq_err(vq, "%s(): invalid %d output in response queue\n",
> > + __func__, out);
> > + goto return_buf;
> > + }
> > +
> > + *cnt = in;
> > + }
> > +
> > + if (vq == &vr->vq[VIRTIO_...
2020 Aug 04
2
[PATCH v4 4/4] vhost: add an RPMsg API
...+ NULL, NULL);
> + if (head < 0) {
> + vq_err(vq, "%s(): error %d getting buffer\n",
> + __func__, head);
> + return head;
> + }
> +
> + /* Nothing new? */
> + if (head == vq->num)
> + return head;
> +
> + if (vq == &vr->vq[VIRTIO_RPMSG_RESPONSE] && (out || in != 1)) {
This in != 1 looks like a dependency on a specific message layout.
virtio spec says to avoid these. Using iov iters it's not too hard to do
...
> + vq_err(vq,
> + "%s(): invalid %d input and %d output in response queue\n",
> +...
2020 Aug 04
2
[PATCH v4 4/4] vhost: add an RPMsg API
...+ NULL, NULL);
> + if (head < 0) {
> + vq_err(vq, "%s(): error %d getting buffer\n",
> + __func__, head);
> + return head;
> + }
> +
> + /* Nothing new? */
> + if (head == vq->num)
> + return head;
> +
> + if (vq == &vr->vq[VIRTIO_RPMSG_RESPONSE] && (out || in != 1)) {
This in != 1 looks like a dependency on a specific message layout.
virtio spec says to avoid these. Using iov iters it's not too hard to do
...
> + vq_err(vq,
> + "%s(): invalid %d input and %d output in response queue\n",
> +...
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 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 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 Aug 25
1
[PATCH v4 4/4] vhost: add an RPMsg API
...> > + return head;
> > > > > + }
> > > > > +
> > > > > + /* Nothing new? */
> > > > > + if (head == vq->num)
> > > > > + return head;
> > > > > +
> > > > > + if (vq == &vr->vq[VIRTIO_RPMSG_RESPONSE] && (out || in != 1)) {
> > > >
> > > > This in != 1 looks like a dependency on a specific message layout.
> > > > virtio spec says to avoid these. Using iov iters it's not too hard to do
> > > > ...
> > >
> > > This is...
2020 May 27
0
[PATCH v2 5/5] vhost: add an RPMsg API
...table in virtio_rpmsg_bus.c. I am
adding a comment at the top of this file to explain that.
Thanks
Guennadi
> Aside from the checkpatch warning I already pointed out, I don't have much else.
>
> Thanks,
> Mathieu
>
> > + int ret = vhost_rpmsg_start_lock(vr, &iter, VIRTIO_RPMSG_RESPONSE,
> > + sizeof(ns));
> > +
> > + if (ret < 0)
> > + return ret;
> > +
> > + strlcpy(ns.name, name, sizeof(ns.name));
> > +
> > + ret = vhost_rpmsg_copy(vr, &iter, &ns, sizeof(ns));
> > + if (ret != sizeof(ns))
> > + vq_err...
2020 Sep 21
0
[PATCH v7 3/3] vhost: add an RPMsg API
...gt; > > > + __func__, ret);
> > > > + return false;
> > > > + }
> > > > +
> > > > + if (!iter.ept->write)
> > > > + return true;
> > > > +
> > > > + ret = vhost_rpmsg_start_lock(vr, &iter, VIRTIO_RPMSG_RESPONSE, -EINVAL);
> > > > + if (!ret)
> > > > + ret = vhost_rpmsg_finish_unlock(vr, &iter);
> > > > + if (ret < 0) {
> > > > + vq_err(vq, "%s(): RPMSG finalising failed %d\n", __func__, ret);
> > > > + return false;
> >...
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.