aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/dma-mapping.c
diff options
context:
space:
mode:
authorRitesh Harjani <ritesh.harjani@gmail.com>2014-05-20 00:32:59 -0400
committerMarek Szyprowski <m.szyprowski@samsung.com>2014-05-20 07:43:26 -0400
commit006f841db1e0da8801aedc6751b563b28f9a6319 (patch)
tree267fd2f58110a184b5bf8ecd9bfc08fc3330e443 /arch/arm/mm/dma-mapping.c
parent7ee793a62fa8c544f8b844e6e87b2d8e8836b219 (diff)
arm: dma-iommu: Clean up redundant variable
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>
Diffstat (limited to 'arch/arm/mm/dma-mapping.c')
-rw-r--r--arch/arm/mm/dma-mapping.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
index 6b00be1f971e..3d43c418e41b 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -1074,6 +1074,7 @@ static inline dma_addr_t __alloc_iova(struct dma_iommu_mapping *mapping,
1074 unsigned int order = get_order(size); 1074 unsigned int order = get_order(size);
1075 unsigned int align = 0; 1075 unsigned int align = 0;
1076 unsigned int count, start; 1076 unsigned int count, start;
1077 size_t mapping_size = mapping->bits << PAGE_SHIFT;
1077 unsigned long flags; 1078 unsigned long flags;
1078 dma_addr_t iova; 1079 dma_addr_t iova;
1079 int i; 1080 int i;
@@ -1119,7 +1120,7 @@ static inline dma_addr_t __alloc_iova(struct dma_iommu_mapping *mapping,
1119 } 1120 }
1120 spin_unlock_irqrestore(&mapping->lock, flags); 1121 spin_unlock_irqrestore(&mapping->lock, flags);
1121 1122
1122 iova = mapping->base + (mapping->size * i); 1123 iova = mapping->base + (mapping_size * i);
1123 iova += start << PAGE_SHIFT; 1124 iova += start << PAGE_SHIFT;
1124 1125
1125 return iova; 1126 return iova;
@@ -1129,6 +1130,7 @@ static inline void __free_iova(struct dma_iommu_mapping *mapping,
1129 dma_addr_t addr, size_t size) 1130 dma_addr_t addr, size_t size)
1130{ 1131{
1131 unsigned int start, count; 1132 unsigned int start, count;
1133 size_t mapping_size = mapping->bits << PAGE_SHIFT;
1132 unsigned long flags; 1134 unsigned long flags;
1133 dma_addr_t bitmap_base; 1135 dma_addr_t bitmap_base;
1134 u32 bitmap_index; 1136 u32 bitmap_index;
@@ -1136,14 +1138,14 @@ static inline void __free_iova(struct dma_iommu_mapping *mapping,
1136 if (!size) 1138 if (!size)
1137 return; 1139 return;
1138 1140
1139 bitmap_index = (u32) (addr - mapping->base) / (u32) mapping->size; 1141 bitmap_index = (u32) (addr - mapping->base) / (u32) mapping_size;
1140 BUG_ON(addr < mapping->base || bitmap_index > mapping->extensions); 1142 BUG_ON(addr < mapping->base || bitmap_index > mapping->extensions);
1141 1143
1142 bitmap_base = mapping->base + mapping->size * bitmap_index; 1144 bitmap_base = mapping->base + mapping_size * bitmap_index;
1143 1145
1144 start = (addr - bitmap_base) >> PAGE_SHIFT; 1146 start = (addr - bitmap_base) >> PAGE_SHIFT;
1145 1147
1146 if (addr + size > bitmap_base + mapping->size) { 1148 if (addr + size > bitmap_base + mapping_size) {
1147 /* 1149 /*
1148 * The address range to be freed reaches into the iova 1150 * The address range to be freed reaches into the iova
1149 * range of the next bitmap. This should not happen as 1151 * range of the next bitmap. This should not happen as
@@ -1964,7 +1966,6 @@ arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size)
1964 mapping->extensions = extensions; 1966 mapping->extensions = extensions;
1965 mapping->base = base; 1967 mapping->base = base;
1966 mapping->bits = BITS_PER_BYTE * bitmap_size; 1968 mapping->bits = BITS_PER_BYTE * bitmap_size;
1967 mapping->size = mapping->bits << PAGE_SHIFT;
1968 1969
1969 spin_lock_init(&mapping->lock); 1970 spin_lock_init(&mapping->lock);
1970 1971