[RFC 0/4] rpmsg: Fix init of DMA:able virtqueues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: "Edgar E. Iglesias" <edgar.iglesias@xxxxxxxxxx>

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 with sg_phys()). Hence this
RFC series that tries to illustrate/fix the problem in rpmsg/virtio.

Is this going in the right direction?
Any ideas or suggestions on how to better fix this?

Something that worries me a little is that it would be nice if the DMA
capability for virtio protocols was not hardcoded like this but rather
somehow selectable by the framework. I was hoping that it would be possible
to use _any_ virtio based protocol to communicate with remote-proc/DMA and
not just rpmsg.

Thanks,
Edgar


Edgar E. Iglesias (4):
  virtio_ring: Break out vring descriptor setup code
  virtio_ring: Add option for DMA mapped sgs in virtqueue_add
  virtio: Add dma variants of virtqueue_add_in and outbuf
  rpmsg: DMA map sgs passed to virtio

 drivers/rpmsg/virtio_rpmsg_bus.c | 28 ++++++++++++++++-----
 drivers/virtio/virtio_ring.c     | 53 +++++++++++++++++++++++++++++++---------
 include/linux/virtio.h           | 10 ++++++++
 3 files changed, 74 insertions(+), 17 deletions(-)

-- 
1.9.1

_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization




[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux