search for: vhost_rpmsg_iter

Displaying 20 results from an estimated 29 matches for "vhost_rpmsg_iter".

2020 May 27
0
[PATCH v2 5/5] vhost: add an RPMsg API
...> > create mode 100644 drivers/vhost/rpmsg.c > > create mode 100644 drivers/vhost/vhost_rpmsg.h [snip] > > +/* send namespace */ > > +int vhost_rpmsg_ns_announce(struct vhost_rpmsg *vr, const char *name, > > + unsigned int src) > > +{ > > + struct vhost_rpmsg_iter iter = { > > + .rhdr = { > > + .src = 0, > > + .dst = RPMSG_NS_ADDR, > > + .flags = RPMSG_NS_CREATE, /* rpmsg_recv_single() */ > > + }, > > + }; > > + struct rpmsg_ns_msg ns = { > > + .addr = src, > > + .flags = RPMSG_NS_CREATE, /* for...
2020 Sep 10
0
[PATCH v7 3/3] vhost: add an RPMsg API
...ept[i].addr == addr) + return vr->ept + i; + + return NULL; +} + +/* + * if len < 0, then for reading a request, the complete virtual queue buffer + * size is prepared, for sending a response, the length in the iterator is used + */ +int vhost_rpmsg_start_lock(struct vhost_rpmsg *vr, struct vhost_rpmsg_iter *iter, + unsigned int qid, ssize_t len) + __acquires(vq->mutex) +{ + struct vhost_virtqueue *vq = vr->vq + qid; + unsigned int cnt; + ssize_t ret; + size_t tmp; + + if (qid >= VIRTIO_RPMSG_NUM_OF_VQS) + return -EINVAL; + + iter->vq = vq; + + mutex_lock(&vq->mutex); + vhost_...
2020 May 27
0
[PATCH v3 5/5] vhost: add an RPMsg API
...addr == addr) + return vr->ept + i; + + return NULL; +} + +/* + * if len < 0, then for reading a request, the complete virtual queue buffer + * size is prepared, for sending a response, the length in the iterator is used + */ +int vhost_rpmsg_start_lock(struct vhost_rpmsg *vr, + struct vhost_rpmsg_iter *iter, + unsigned int qid, ssize_t len) + __acquires(vq->mutex) +{ + struct vhost_virtqueue *vq = vr->vq + qid; + size_t tmp; + + if (qid >= VIRTIO_RPMSG_NUM_OF_VQS) + return -EINVAL; + + iter->vq = vq; + + mutex_lock(&vq->mutex); + vhost_disable_notify(&vr->dev, vq)...
2020 Jul 22
0
[PATCH v4 4/4] vhost: add an RPMsg API
...ept[i].addr == addr) + return vr->ept + i; + + return NULL; +} + +/* + * if len < 0, then for reading a request, the complete virtual queue buffer + * size is prepared, for sending a response, the length in the iterator is used + */ +int vhost_rpmsg_start_lock(struct vhost_rpmsg *vr, struct vhost_rpmsg_iter *iter, + unsigned int qid, ssize_t len) + __acquires(vq->mutex) +{ + struct vhost_virtqueue *vq = vr->vq + qid; + size_t tmp; + + if (qid >= VIRTIO_RPMSG_NUM_OF_VQS) + return -EINVAL; + + iter->vq = vq; + + mutex_lock(&vq->mutex); + vhost_disable_notify(&vr->dev, vq)...
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 10
0
[PATCH v5 4/4] vhost: add an RPMsg API
...> +} > > + > > +/* > > + * if len < 0, then for reading a request, the complete virtual queue buffer > > + * size is prepared, for sending a response, the length in the iterator is used > > + */ > > +int vhost_rpmsg_start_lock(struct vhost_rpmsg *vr, struct vhost_rpmsg_iter *iter, > > + unsigned int qid, ssize_t len) > > + __acquires(vq->mutex) > > +{ > > + struct vhost_virtqueue *vq = vr->vq + qid; > > + unsigned int cnt; > > + ssize_t ret; > > + size_t tmp; > > + > > + if (qid >= VIRTIO_RPMSG_NUM_OF...
2020 Sep 18
0
[PATCH v7 3/3] vhost: add an RPMsg API
...> +} > > + > > +/* > > + * if len < 0, then for reading a request, the complete virtual queue buffer > > + * size is prepared, for sending a response, the length in the iterator is used > > + */ > > +int vhost_rpmsg_start_lock(struct vhost_rpmsg *vr, struct vhost_rpmsg_iter *iter, > > + unsigned int qid, ssize_t len) > > + __acquires(vq->mutex) > > +{ > > + struct vhost_virtqueue *vq = vr->vq + qid; > > + unsigned int cnt; > > + ssize_t ret; > > + size_t tmp; > > + > > + if (qid >= VIRTIO_RPMSG_NUM_OF...
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 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 11
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; > > > > + const struct vhost_rpmsg_ept *ept; > > > > + int head; > > > > + void *priv; > > > > > >...
2020 Aug 04
2
[PATCH v4 4/4] vhost: add an RPMsg API
...i; > + > + return NULL; > +} > + > +/* > + * if len < 0, then for reading a request, the complete virtual queue buffer > + * size is prepared, for sending a response, the length in the iterator is used > + */ > +int vhost_rpmsg_start_lock(struct vhost_rpmsg *vr, struct vhost_rpmsg_iter *iter, > + unsigned int qid, ssize_t len) > + __acquires(vq->mutex) > +{ > + struct vhost_virtqueue *vq = vr->vq + qid; > + size_t tmp; > + > + if (qid >= VIRTIO_RPMSG_NUM_OF_VQS) > + return -EINVAL; > + > + iter->vq = vq; > + > + mutex_lock(&am...
2020 Aug 04
2
[PATCH v4 4/4] vhost: add an RPMsg API
...i; > + > + return NULL; > +} > + > +/* > + * if len < 0, then for reading a request, the complete virtual queue buffer > + * size is prepared, for sending a response, the length in the iterator is used > + */ > +int vhost_rpmsg_start_lock(struct vhost_rpmsg *vr, struct vhost_rpmsg_iter *iter, > + unsigned int qid, ssize_t len) > + __acquires(vq->mutex) > +{ > + struct vhost_virtqueue *vq = vr->vq + qid; > + size_t tmp; > + > + if (qid >= VIRTIO_RPMSG_NUM_OF_VQS) > + return -EINVAL; > + > + iter->vq = vq; > + > + mutex_lock(&am...
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 Sep 15
0
[PATCH v5 4/4] vhost: add an RPMsg API
...*/ > > > > > > + /* 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; > > >...
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.