]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
arm: dma-iommu: Clean up redundant variable
authorRitesh Harjani <ritesh.harjani@gmail.com>
Tue, 20 May 2014 04:32:59 +0000 (10:02 +0530)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Tue, 20 May 2014 11:43:26 +0000 (13:43 +0200)
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>
arch/arm/include/asm/dma-iommu.h
arch/arm/mm/dma-mapping.c

index eec0a12c5c1d8123e156436344fffddb949a8f37..8e3fcb924db6f13fcf0c5c08f6c8bb6cdc28a36b 100644 (file)
@@ -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;
index 6b00be1f971e15958cc40c369c88ca872f645aa6..3d43c418e41bfa857a16e4237fa6ed9c51180511 100644 (file)
@@ -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);