]> git.baikalelectronics.ru Git - kernel.git/commit
xen/arm: introduce phys/dma translations in xen_dma_sync_for_*
authorStefano Stabellini <stefano.stabellini@xilinx.com>
Fri, 10 Jul 2020 22:34:26 +0000 (15:34 -0700)
committerJuergen Gross <jgross@suse.com>
Tue, 4 Aug 2020 05:53:52 +0000 (07:53 +0200)
commit7cc2a49c1ab680295b5f63efe29fd6cdc84f6c68
tree41d7126e31220ba1b44ebc3e32786052dfa643db
parent07282a37433ccb0eefcaadfbbb62082c48850bb1
xen/arm: introduce phys/dma translations in xen_dma_sync_for_*

xen_dma_sync_for_cpu, xen_dma_sync_for_device, xen_arch_need_swiotlb are
getting called passing dma addresses. On some platforms dma addresses
could be different from physical addresses. Before doing any operations
on these addresses we need to convert them back to physical addresses
using dma_to_phys.

Move the arch_sync_dma_for_cpu and arch_sync_dma_for_device calls from
xen_dma_sync_for_cpu/device to swiotlb-xen.c, and add a call dma_to_phys
to do address translations there.

dma_cache_maint is fixed by the next patch.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Tested-by: Corey Minyard <cminyard@mvista.com>
Tested-by: Roman Shaposhnik <roman@zededa.com>
Acked-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20200710223427.6897-10-sstabellini@kernel.org
Signed-off-by: Juergen Gross <jgross@suse.com>
arch/arm/xen/mm.c
drivers/xen/swiotlb-xen.c
include/xen/swiotlb-xen.h