arm: dma-iommu: Clean up redundant variable
PATCH v2 1/1 arm: dma-iommu: Clean up redundant variable
From: Ritesh Harjani <[email protected]>
mapping->size can be derived from mapping->bits << PAGE_SHIFT which makes mapping->size as redundant.
Clean this up.
Signed-off-by Ritesh Harjani <[email protected]>
Reported-by Will Deacon <[email protected]>
--- arch/arm/include/asm/dma-iommu.h | 1 - arch/arm/mm/dma-mapping.c | 11 ++++++----- 2 files changed, 6 insertions(+), 6 deletions(-)
arch/arm/include/asm/dma-iommu.h +0 -1
@@ -18,7 +18,6 @@ struct dma_iommu_mapping {unsigned int extensions;size_t bitmap_size;/* size of a single bitmap */ size_t bits;/* per bitmap */ -unsigned int size;/* per bitmap */ dma_addr_t base;spinlock_t lock;
arch/arm/mm/dma-mapping.c +6 -5
@@ -1074,6 +1074,7 @@ static inline dma_addr_t __alloc_iova(struct dma_iommu_mapping *mapping,unsigned int order =get_order (size);unsigned int align =0 ;unsigned int count, start; +size_t mapping_size = mapping->bits <<PAGE_SHIFT ;unsigned long flags;dma_addr_t iova;int i;
@@ -1119,7 +1120,7 @@ static inline dma_addr_t __alloc_iova(struct dma_iommu_mapping *mapping, }spin_unlock_irqrestore (&mapping->lock, flags); - iova = mapping->base + (mapping->size * i); + iova = mapping->base + (mapping_size * i); iova += start <<PAGE_SHIFT ;return iova;
@@ -1129,6 +1130,7 @@ static inline void __free_iova(struct dma_iommu_mapping *mapping, dma_addr_t addr, size_t size) {unsigned int start, count; +size_t mapping_size = mapping->bits <<PAGE_SHIFT ;unsigned long flags;dma_addr_t bitmap_base;u32 bitmap_index;
@@ -1136,14 +1138,14 @@ static inline void __free_iova(struct dma_iommu_mapping *mapping,if (!size)return ; - bitmap_index = (u32) (addr - mapping->base) / (u32 ) mapping->size; + bitmap_index = (u32) (addr - mapping->base) / (u32 ) mapping_size;BUG_ON (addr < mapping->base || bitmap_index > mapping->extensions); - bitmap_base = mapping->base + mapping->size * bitmap_index; + bitmap_base = mapping->base + mapping_size * bitmap_index; start = (addr - bitmap_base) >>PAGE_SHIFT ; -if (addr + size > bitmap_base + mapping->size) { +if (addr + size > bitmap_base + mapping_size) {/* * The address range to be freed reaches into the iova * 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) mapping->extensions = extensions; mapping->base = base; mapping->bits =BITS_PER_BYTE * bitmap_size; - mapping->size = mapping->bits <<PAGE_SHIFT ;spin_lock_init (&mapping->lock);
Signature · 1 line
1.8.1.3
PATCH v2 1/1 arm: dma-iommu: Clean up redundant variable
Hello,
Quoted 9 lines · ritesh.harjani at gmail.com
From: Ritesh Harjani <[email protected]>
mapping->sizecan be derived frommapping->bits<<PAGE_SHIFTwhich makesmapping->sizeas redundant.Clean this up.
Signed-off-by Ritesh Harjani <[email protected]>Reported-by Will Deacon <[email protected]>
Thanks for this cleanup. I will add it to my tree.
Quoted 65 lines
--- arch/arm/include/asm/dma-iommu.h | 1 - arch/arm/mm/dma-mapping.c | 11 ++++++----- 2 files changed, 6 insertions(+), 6 deletions(-)arch/arm/include/asm/dma-iommu.h +0
-1@@ -18,7 +18,6 @@ struct dma_iommu_mapping {unsigned int extensions;size_t bitmap_size;/* size of a single bitmap */ size_t bits;/* per bitmap */ -unsigned int size;/* per bitmap */ dma_addr_t base;spinlock_t lock;arch/arm/mm/dma-mapping.c +6
-4@@ -1074,6 +1074,7 @@ static inline dma_addr_t __alloc_iova(struct dma_iommu_mapping *mapping,unsigned int order =get_order (size);unsigned int align =0 ;unsigned int count, start; +size_t mapping_size = mapping->bits <<PAGE_SHIFT ;unsigned long flags;dma_addr_t iova;int i;@@ -1119,7 +1120,7 @@ static inline dma_addr_t __alloc_iova(struct dma_iommu_mapping *mapping, }spin_unlock_irqrestore (&mapping->lock, flags); - iova = mapping->base + (mapping->size * i); + iova = mapping->base + (mapping_size * i); iova += start <<PAGE_SHIFT ;return iova;@@ -1129,6 +1130,7 @@ static inline void __free_iova(struct dma_iommu_mapping *mapping, dma_addr_t addr, size_t size) {unsigned int start, count; +size_t mapping_size = mapping->bits <<PAGE_SHIFT ;unsigned long flags;dma_addr_t bitmap_base;u32 bitmap_index;@@ -1136,14 +1138,14 @@ static inline void __free_iova(struct dma_iommu_mapping *mapping,if (!size)return ; - bitmap_index = (u32) (addr - mapping->base) / (u32 ) mapping->size; + bitmap_index = (u32) (addr - mapping->base) / (u32 ) mapping_size;BUG_ON (addr < mapping->base || bitmap_index > mapping->extensions); - bitmap_base = mapping->base + mapping->size * bitmap_index; + bitmap_base = mapping->base + mapping_size * bitmap_index; start = (addr - bitmap_base) >>PAGE_SHIFT ; -if (addr + size > bitmap_base + mapping->size) { +if (addr + size > bitmap_base + mapping_size) {/* * The address range to be freed reaches into the iova * range of the next bitmap. This should not happen as
arch/arm/mm/dma-mapping.c arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size) · line 1971
Quoted 7 lines
arch/arm/mm/dma-mapping.c +0
-1@@ -1964,7 +1966,6 @@ arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size) mapping->extensions = extensions; mapping->base = base; mapping->bits =BITS_PER_BYTE * bitmap_size; - mapping->size = mapping->bits <<PAGE_SHIFT ;spin_lock_init (&mapping->lock);
Best regards
Signature · 2 lines
Marek Szyprowski, PhD Samsung R&D Institute Poland