linux/drivers/virtio
Robin Murphy f7f6634d23 virtio_mmio: Set DMA masks appropriately
Once DMA API usage is enabled, it becomes apparent that virtio-mmio is
inadvertently relying on the default 32-bit DMA mask, which leads to
problems like rapidly exhausting SWIOTLB bounce buffers.

Ensure that we set the appropriate 64-bit DMA mask whenever possible,
with the coherent mask suitably limited for the legacy vring as per
a0be1db430 ("virtio_pci: Limit DMA mask to 44 bits for legacy virtio
devices").

Cc: Andy Lutomirski <luto@kernel.org>
Cc: Michael S. Tsirkin <mst@redhat.com>
Reported-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Fixes: b42111382f ("virtio_mmio: Use the DMA API if enabled")
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2017-01-25 00:33:10 +02:00
..
Kconfig docs: fix locations of several documents that got moved 2016-10-24 08:12:35 -02:00
Makefile Add virtio-input driver. 2015-03-29 12:13:52 +10:30
virtio_balloon.c virtio: update balloon size in balloon "probe" 2016-10-31 00:21:41 +02:00
virtio_input.c virtio: make find_vqs() checkpatch.pl-friendly 2016-01-12 20:47:06 +02:00
virtio_mmio.c virtio_mmio: Set DMA masks appropriately 2017-01-25 00:33:10 +02:00
virtio_pci_common.c virtio_pci: split vp_try_to_find_vqs into INTx and MSI-X variants 2016-12-16 00:12:49 +02:00
virtio_pci_common.h virtio_pci: use pci_alloc_irq_vectors 2016-12-16 00:12:47 +02:00
virtio_pci_legacy.c virtio_pci: Limit DMA mask to 44 bits for legacy virtio devices 2016-10-31 00:21:39 +02:00
virtio_pci_modern.c virtio_pci_modern: fix complaint by sparse 2016-12-15 06:39:46 +02:00
virtio_ring.c virtio_ring: fix description of virtqueue_get_buf 2016-12-16 00:13:38 +02:00
virtio.c virtio: fix memory leak of virtio ida cache layers 2015-12-07 17:28:01 +02:00