arm64/xen: fix xen-swiotlb cache flushing
Xen-swiotlb hooks into the arm/arm64 arch code through a copy of the DMA DMA mapping operations stored in the struct device arch data. Switching arm64 to use the direct calls for the merged DMA direct / swiotlb code broke this scheme. Replace the indirect calls with direct-calls in xen-swiotlb as well to fix this problem. Fixes: 356da6d0 ("dma-mapping: bypass indirect calls for dma-direct") Reported-by:Julien Grall <julien.grall@arm.com> Signed-off-by:
Christoph Hellwig <hch@lst.de> Reviewed-by:
Stefano Stabellini <sstabellini@kernel.org>
Showing
- arch/arm/include/asm/xen/page-coherent.h 94 additions, 0 deletionsarch/arm/include/asm/xen/page-coherent.h
- arch/arm64/include/asm/device.h 0 additions, 3 deletionsarch/arm64/include/asm/device.h
- arch/arm64/include/asm/xen/page-coherent.h 76 additions, 0 deletionsarch/arm64/include/asm/xen/page-coherent.h
- arch/arm64/mm/dma-mapping.c 1 addition, 3 deletionsarch/arm64/mm/dma-mapping.c
- drivers/xen/swiotlb-xen.c 2 additions, 2 deletionsdrivers/xen/swiotlb-xen.c
- include/xen/arm/page-coherent.h 3 additions, 94 deletionsinclude/xen/arm/page-coherent.h
Please register or sign in to comment