 006f841db1
			
		
	
	
	006f841db1
	
	
	
		
			
			mapping->size can be derived from mapping->bits << PAGE_SHIFT which makes mapping->size as redundant. Clean this up. Signed-off-by: Ritesh Harjani <ritesh.harjani@gmail.com> Reported-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			930 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			930 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef ASMARM_DMA_IOMMU_H
 | |
| #define ASMARM_DMA_IOMMU_H
 | |
| 
 | |
| #ifdef __KERNEL__
 | |
| 
 | |
| #include <linux/mm_types.h>
 | |
| #include <linux/scatterlist.h>
 | |
| #include <linux/dma-debug.h>
 | |
| #include <linux/kmemcheck.h>
 | |
| #include <linux/kref.h>
 | |
| 
 | |
| struct dma_iommu_mapping {
 | |
| 	/* iommu specific data */
 | |
| 	struct iommu_domain	*domain;
 | |
| 
 | |
| 	unsigned long		**bitmaps;	/* array of bitmaps */
 | |
| 	unsigned int		nr_bitmaps;	/* nr of elements in array */
 | |
| 	unsigned int		extensions;
 | |
| 	size_t			bitmap_size;	/* size of a single bitmap */
 | |
| 	size_t			bits;		/* per bitmap */
 | |
| 	dma_addr_t		base;
 | |
| 
 | |
| 	spinlock_t		lock;
 | |
| 	struct kref		kref;
 | |
| };
 | |
| 
 | |
| struct dma_iommu_mapping *
 | |
| arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size);
 | |
| 
 | |
| void arm_iommu_release_mapping(struct dma_iommu_mapping *mapping);
 | |
| 
 | |
| int arm_iommu_attach_device(struct device *dev,
 | |
| 					struct dma_iommu_mapping *mapping);
 | |
| void arm_iommu_detach_device(struct device *dev);
 | |
| 
 | |
| #endif /* __KERNEL__ */
 | |
| #endif
 |