We use cacheable accesses on our end of the virtio ring, so make sure the guest is aware of that, and thus doesn't try to use non-cacheable DMA buffers, by including the dma-coherent property on its DT node. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> --- virtio/mmio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/virtio/mmio.c b/virtio/mmio.c index 5174455c6c90..f0af4bd1145a 100644 --- a/virtio/mmio.c +++ b/virtio/mmio.c @@ -252,6 +252,7 @@ void generate_virtio_mmio_fdt_node(void *fdt, _FDT(fdt_begin_node(fdt, dev_name)); _FDT(fdt_property_string(fdt, "compatible", "virtio,mmio")); _FDT(fdt_property(fdt, "reg", reg_prop, sizeof(reg_prop))); + _FDT(fdt_property(fdt, "dma-coherent", NULL, 0)); generate_irq_prop(fdt, vmmio->irq, IRQ_TYPE_EDGE_RISING); _FDT(fdt_end_node(fdt)); } -- 2.11.0.dirty