Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
[cascardo/linux.git] / arch / powerpc / platforms / pseries / lpar.c
index fbfcef5..34e6423 100644 (file)
@@ -431,16 +431,17 @@ static void __pSeries_lpar_hugepage_invalidate(unsigned long *slot,
                spin_unlock_irqrestore(&pSeries_lpar_tlbie_lock, flags);
 }
 
-static void pSeries_lpar_hugepage_invalidate(struct mm_struct *mm,
-                                      unsigned char *hpte_slot_array,
-                                      unsigned long addr, int psize)
+static void pSeries_lpar_hugepage_invalidate(unsigned long vsid,
+                                            unsigned long addr,
+                                            unsigned char *hpte_slot_array,
+                                            int psize, int ssize)
 {
-       int ssize = 0, i, index = 0;
+       int i, index = 0;
        unsigned long s_addr = addr;
        unsigned int max_hpte_count, valid;
        unsigned long vpn_array[PPC64_HUGE_HPTE_BATCH];
        unsigned long slot_array[PPC64_HUGE_HPTE_BATCH];
-       unsigned long shift, hidx, vpn = 0, vsid, hash, slot;
+       unsigned long shift, hidx, vpn = 0, hash, slot;
 
        shift = mmu_psize_defs[psize].shift;
        max_hpte_count = 1U << (PMD_SHIFT - shift);
@@ -453,15 +454,6 @@ static void pSeries_lpar_hugepage_invalidate(struct mm_struct *mm,
 
                /* get the vpn */
                addr = s_addr + (i * (1ul << shift));
-               if (!is_kernel_addr(addr)) {
-                       ssize = user_segment_size(addr);
-                       vsid = get_vsid(mm->context.id, addr, ssize);
-                       WARN_ON(vsid == 0);
-               } else {
-                       vsid = get_kernel_vsid(addr, mmu_kernel_ssize);
-                       ssize = mmu_kernel_ssize;
-               }
-
                vpn = hpt_vpn(addr, vsid, ssize);
                hash = hpt_hash(vpn, shift, ssize);
                if (hidx & _PTEIDX_SECONDARY)