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.