powerpc/mm/hash: Remove the superfluous bitwise operation when find hpte group
[linux-2.6-block.git] / arch / powerpc / mm / hash64_64k.c
index e601d95c3b20271d7b9cc6483cab402d51d80436..3afa253d7f52a7273c33b4401e7e90ae429ce596 100644 (file)
@@ -154,7 +154,7 @@ htab_insert_hpte:
        }
        hash = hpt_hash(vpn, shift, ssize);
 repeat:
-       hpte_group = ((hash & htab_hash_mask) * HPTES_PER_GROUP) & ~0x7UL;
+       hpte_group = (hash & htab_hash_mask) * HPTES_PER_GROUP;
 
        /* Insert into the hash table, primary slot */
        slot = mmu_hash_ops.hpte_insert(hpte_group, vpn, pa, rflags, 0,
@@ -165,7 +165,7 @@ repeat:
        if (unlikely(slot == -1)) {
                bool soft_invalid;
 
-               hpte_group = ((~hash & htab_hash_mask) * HPTES_PER_GROUP) & ~0x7UL;
+               hpte_group = (~hash & htab_hash_mask) * HPTES_PER_GROUP;
                slot = mmu_hash_ops.hpte_insert(hpte_group, vpn, pa,
                                                rflags, HPTE_V_SECONDARY,
                                                MMU_PAGE_4K, MMU_PAGE_4K,
@@ -193,8 +193,7 @@ repeat:
                         * that we do not get the same soft-invalid slot.
                         */
                        if (soft_invalid || (mftb() & 0x1))
-                               hpte_group = ((hash & htab_hash_mask) *
-                                             HPTES_PER_GROUP) & ~0x7UL;
+                               hpte_group = (hash & htab_hash_mask) * HPTES_PER_GROUP;
 
                        mmu_hash_ops.hpte_remove(hpte_group);
                        /*
@@ -288,7 +287,7 @@ int __hash_page_64K(unsigned long ea, unsigned long access,
                hash = hpt_hash(vpn, shift, ssize);
 
 repeat:
-               hpte_group = ((hash & htab_hash_mask) * HPTES_PER_GROUP) & ~0x7UL;
+               hpte_group = (hash & htab_hash_mask) * HPTES_PER_GROUP;
 
                /* Insert into the hash table, primary slot */
                slot = mmu_hash_ops.hpte_insert(hpte_group, vpn, pa, rflags, 0,
@@ -298,7 +297,7 @@ repeat:
                 * Primary is full, try the secondary
                 */
                if (unlikely(slot == -1)) {
-                       hpte_group = ((~hash & htab_hash_mask) * HPTES_PER_GROUP) & ~0x7UL;
+                       hpte_group = (~hash & htab_hash_mask) * HPTES_PER_GROUP;
                        slot = mmu_hash_ops.hpte_insert(hpte_group, vpn, pa,
                                                        rflags,
                                                        HPTE_V_SECONDARY,
@@ -306,8 +305,8 @@ repeat:
                                                        MMU_PAGE_64K, ssize);
                        if (slot == -1) {
                                if (mftb() & 0x1)
-                                       hpte_group = ((hash & htab_hash_mask) *
-                                                     HPTES_PER_GROUP) & ~0x7UL;
+                                       hpte_group = (hash & htab_hash_mask) *
+                                                       HPTES_PER_GROUP;
                                mmu_hash_ops.hpte_remove(hpte_group);
                                /*
                                 * FIXME!! Should be try the group from which we removed ?