mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-11 11:56:48 +00:00
e058632670
The following commit: commit 815dd18788fe0d41899f51b91d0560279cf16b0d Author: Bart Van Assche <bart.vanassche@sandisk.com> Date: Fri Jan 20 13:04:04 2017 -0800 treewide: Consolidate get_dma_ops() implementations rearranges get_dma_ops in a way that xen_dma_ops are not returned when running on Xen anymore, dev->dma_ops is returned instead (see arch/arm/include/asm/dma-mapping.h:get_arch_dma_ops and include/linux/dma-mapping.h:get_dma_ops). Fix the problem by storing dev->dma_ops in dev_archdata, and setting dev->dma_ops to xen_dma_ops. This way, xen_dma_ops is returned naturally by get_dma_ops. The Xen code can retrieve the original dev->dma_ops from dev_archdata when needed. It also allows us to remove __generic_dma_ops from common headers. Signed-off-by: Stefano Stabellini <sstabellini@kernel.org> Tested-by: Julien Grall <julien.grall@arm.com> Suggested-by: Catalin Marinas <catalin.marinas@arm.com> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Cc: <stable@vger.kernel.org> [4.11+] CC: linux@armlinux.org.uk CC: catalin.marinas@arm.com CC: will.deacon@arm.com CC: boris.ostrovsky@oracle.com CC: jgross@suse.com CC: Julien Grall <julien.grall@arm.com>
40 lines
730 B
C
40 lines
730 B
C
/*
|
|
* Arch specific extensions to struct device
|
|
*
|
|
* This file is released under the GPLv2
|
|
*/
|
|
#ifndef ASMARM_DEVICE_H
|
|
#define ASMARM_DEVICE_H
|
|
|
|
struct dev_archdata {
|
|
#ifdef CONFIG_DMABOUNCE
|
|
struct dmabounce_device_info *dmabounce;
|
|
#endif
|
|
#ifdef CONFIG_IOMMU_API
|
|
void *iommu; /* private IOMMU data */
|
|
#endif
|
|
#ifdef CONFIG_ARM_DMA_USE_IOMMU
|
|
struct dma_iommu_mapping *mapping;
|
|
#endif
|
|
#ifdef CONFIG_XEN
|
|
const struct dma_map_ops *dev_dma_ops;
|
|
#endif
|
|
bool dma_coherent;
|
|
};
|
|
|
|
struct omap_device;
|
|
|
|
struct pdev_archdata {
|
|
#ifdef CONFIG_ARCH_OMAP
|
|
struct omap_device *od;
|
|
#endif
|
|
};
|
|
|
|
#ifdef CONFIG_ARM_DMA_USE_IOMMU
|
|
#define to_dma_iommu_mapping(dev) ((dev)->archdata.mapping)
|
|
#else
|
|
#define to_dma_iommu_mapping(dev) NULL
|
|
#endif
|
|
|
|
#endif
|