arm64/xen: fix xen-swiotlb cache flushing
authorChristoph Hellwig <hch@lst.de>
Wed, 16 Jan 2019 18:01:48 +0000 (19:01 +0100)
committerChristoph Hellwig <hch@lst.de>
Wed, 23 Jan 2019 21:14:56 +0000 (22:14 +0100)
commit60d8cd572f655aac6107a2330dced004ad1fe3d7
treeca68772a843082cf5dfa42cad2f9275cc53e4984
parent333478a7eb21245880c89aad166ad08478cc577d
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: 356da6d0cde3 ("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>
arch/arm/include/asm/xen/page-coherent.h
arch/arm64/include/asm/device.h
arch/arm64/include/asm/xen/page-coherent.h
arch/arm64/mm/dma-mapping.c
drivers/xen/swiotlb-xen.c
include/xen/arm/page-coherent.h