[PATCH v3 0/3] virtio DMA API core stuff

From: Andy Lutomirski
Date: Wed Oct 28 2015 - 02:39:50 EST


This switches virtio to use the DMA API unconditionally. I'm sure
it breaks things, but it seems to work on x86 using virtio-pci, with
and without Xen, and using both the modern 1.0 variant and the
legacy variant.

Changes from v2:
- Fix really embarrassing bug. This version actually works.

Changes from v1:
- Fix an endian conversion error causing a BUG to hit.
- Fix a DMA ordering issue (swiotlb=force works now).
- Minor cleanups.

Andy Lutomirski (3):
virtio_net: Stop doing DMA from the stack
virtio_ring: Support DMA APIs
virtio_pci: Use the DMA API

drivers/net/virtio_net.c | 53 +++++++----
drivers/virtio/Kconfig | 2 +-
drivers/virtio/virtio_pci_common.h | 3 +-
drivers/virtio/virtio_pci_legacy.c | 19 +++-
drivers/virtio/virtio_pci_modern.c | 34 +++++--
drivers/virtio/virtio_ring.c | 187 ++++++++++++++++++++++++++++++-------
tools/virtio/linux/dma-mapping.h | 17 ++++
7 files changed, 246 insertions(+), 69 deletions(-)
create mode 100644 tools/virtio/linux/dma-mapping.h

--
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/