Displaying 6 results from an estimated 6 matches for "dma_virtqueue_add_inbuf".
2015 May 01
5
[RFC 0/4] rpmsg: Fix init of DMA:able virtqueues
From: "Edgar E. Iglesias" <edgar.iglesias at xilinx.com>
I'm trying to run rpmsg and remoteproc on the ZynqMP (arm64) but I'm hitting
a DMA/mm error. The issue was discussed here:
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-March/333050.html
Russel King pointed out that the arm64 is not doing anything wrong by
returning vmapped memory (which is incompatible
2015 May 01
5
[RFC 0/4] rpmsg: Fix init of DMA:able virtqueues
From: "Edgar E. Iglesias" <edgar.iglesias at xilinx.com>
I'm trying to run rpmsg and remoteproc on the ZynqMP (arm64) but I'm hitting
a DMA/mm error. The issue was discussed here:
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-March/333050.html
Russel King pointed out that the arm64 is not doing anything wrong by
returning vmapped memory (which is incompatible
2015 May 06
2
[RFC 4/4] rpmsg: DMA map sgs passed to virtio
...ze of the buffer */
> - sg_init_one(&sg, msg, RPMSG_BUF_SIZE);
> + rpmsg_msg_sg_init(vrp, &sg, msg, RPMSG_BUF_SIZE);
>
> /* add the buffer back to the remote processor's virtqueue */
> - err = virtqueue_add_inbuf(vrp->rvq, &sg, 1, msg, GFP_KERNEL);
> + err = dma_virtqueue_add_inbuf(vrp->rvq, &sg, 1, msg, GFP_KERNEL);
> if (err < 0) {
> dev_err(dev, "failed to add a virtqueue buffer: %d\n", err);
> return err;
> @@ -1007,9 +1023,9 @@ static int rpmsg_probe(struct virtio_device *vdev)
> struct scatterlist sg;
> void *cpu_addr...
2015 May 06
2
[RFC 4/4] rpmsg: DMA map sgs passed to virtio
...ze of the buffer */
> - sg_init_one(&sg, msg, RPMSG_BUF_SIZE);
> + rpmsg_msg_sg_init(vrp, &sg, msg, RPMSG_BUF_SIZE);
>
> /* add the buffer back to the remote processor's virtqueue */
> - err = virtqueue_add_inbuf(vrp->rvq, &sg, 1, msg, GFP_KERNEL);
> + err = dma_virtqueue_add_inbuf(vrp->rvq, &sg, 1, msg, GFP_KERNEL);
> if (err < 0) {
> dev_err(dev, "failed to add a virtqueue buffer: %d\n", err);
> return err;
> @@ -1007,9 +1023,9 @@ static int rpmsg_probe(struct virtio_device *vdev)
> struct scatterlist sg;
> void *cpu_addr...
2015 May 01
0
[RFC 4/4] rpmsg: DMA map sgs passed to virtio
...;);
/* publish the real size of the buffer */
- sg_init_one(&sg, msg, RPMSG_BUF_SIZE);
+ rpmsg_msg_sg_init(vrp, &sg, msg, RPMSG_BUF_SIZE);
/* add the buffer back to the remote processor's virtqueue */
- err = virtqueue_add_inbuf(vrp->rvq, &sg, 1, msg, GFP_KERNEL);
+ err = dma_virtqueue_add_inbuf(vrp->rvq, &sg, 1, msg, GFP_KERNEL);
if (err < 0) {
dev_err(dev, "failed to add a virtqueue buffer: %d\n", err);
return err;
@@ -1007,9 +1023,9 @@ static int rpmsg_probe(struct virtio_device *vdev)
struct scatterlist sg;
void *cpu_addr = vrp->rbufs + i * RPMSG_BU...
2015 May 07
0
[RFC 4/4] rpmsg: DMA map sgs passed to virtio
...- sg_init_one(&sg, msg, RPMSG_BUF_SIZE);
> > + rpmsg_msg_sg_init(vrp, &sg, msg, RPMSG_BUF_SIZE);
> >
> > /* add the buffer back to the remote processor's virtqueue */
> > - err = virtqueue_add_inbuf(vrp->rvq, &sg, 1, msg, GFP_KERNEL);
> > + err = dma_virtqueue_add_inbuf(vrp->rvq, &sg, 1, msg, GFP_KERNEL);
> > if (err < 0) {
> > dev_err(dev, "failed to add a virtqueue buffer: %d\n", err);
> > return err;
> > @@ -1007,9 +1023,9 @@ static int rpmsg_probe(struct virtio_device *vdev)
> > struct scatterlist sg...