forked from mirrors/linux
		
	Copy the arm64 code that uses the dma-direct/swiotlb helpers for DMA on-coherent devices. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			706 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			706 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0-only */
 | 
						|
/*
 | 
						|
 * Arch specific extensions to struct device
 | 
						|
 */
 | 
						|
#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
 | 
						|
	unsigned int dma_coherent:1;
 | 
						|
	unsigned int dma_ops_setup:1;
 | 
						|
};
 | 
						|
 | 
						|
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
 |