Commit 67730272 authored by Michael Ellerman's avatar Michael Ellerman

powerpc/mm/radix: Drop unneeded NULL check

We call these functions with non-NULL mm or vma. Hence we can skip the
NULL check in these functions. We also remove now unused function
__local_flush_hugetlb_page().
Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
[mpe: Drop the checks with is_vm_hugetlb_page() as noticed by Nick]
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 402e172a
...@@ -40,12 +40,6 @@ static inline void flush_hugetlb_page(struct vm_area_struct *vma, ...@@ -40,12 +40,6 @@ static inline void flush_hugetlb_page(struct vm_area_struct *vma,
return radix__flush_hugetlb_page(vma, vmaddr); return radix__flush_hugetlb_page(vma, vmaddr);
} }
static inline void __local_flush_hugetlb_page(struct vm_area_struct *vma,
unsigned long vmaddr)
{
if (radix_enabled())
return radix__local_flush_hugetlb_page(vma, vmaddr);
}
#else #else
static inline pte_t *hugepd_page(hugepd_t hpd) static inline pte_t *hugepd_page(hugepd_t hpd)
......
...@@ -164,7 +164,7 @@ void radix__local_flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmadd ...@@ -164,7 +164,7 @@ void radix__local_flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmadd
unsigned long ap = mmu_get_ap(psize); unsigned long ap = mmu_get_ap(psize);
preempt_disable(); preempt_disable();
pid = mm ? mm->context.id : 0; pid = mm->context.id;
if (pid != MMU_NO_CONTEXT) if (pid != MMU_NO_CONTEXT)
_tlbiel_va(vmaddr, pid, ap, RIC_FLUSH_TLB); _tlbiel_va(vmaddr, pid, ap, RIC_FLUSH_TLB);
preempt_enable(); preempt_enable();
...@@ -174,11 +174,10 @@ void radix__local_flush_tlb_page(struct vm_area_struct *vma, unsigned long vmadd ...@@ -174,11 +174,10 @@ void radix__local_flush_tlb_page(struct vm_area_struct *vma, unsigned long vmadd
{ {
#ifdef CONFIG_HUGETLB_PAGE #ifdef CONFIG_HUGETLB_PAGE
/* need the return fix for nohash.c */ /* need the return fix for nohash.c */
if (vma && is_vm_hugetlb_page(vma)) if (is_vm_hugetlb_page(vma))
return __local_flush_hugetlb_page(vma, vmaddr); return radix__local_flush_hugetlb_page(vma, vmaddr);
#endif #endif
radix__local_flush_tlb_page_psize(vma ? vma->vm_mm : NULL, vmaddr, radix__local_flush_tlb_page_psize(vma->vm_mm, vmaddr, mmu_virtual_psize);
mmu_virtual_psize);
} }
EXPORT_SYMBOL(radix__local_flush_tlb_page); EXPORT_SYMBOL(radix__local_flush_tlb_page);
...@@ -232,7 +231,7 @@ void radix__flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr, ...@@ -232,7 +231,7 @@ void radix__flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr,
unsigned long ap = mmu_get_ap(psize); unsigned long ap = mmu_get_ap(psize);
preempt_disable(); preempt_disable();
pid = mm ? mm->context.id : 0; pid = mm->context.id;
if (unlikely(pid == MMU_NO_CONTEXT)) if (unlikely(pid == MMU_NO_CONTEXT))
goto bail; goto bail;
if (!mm_is_thread_local(mm)) if (!mm_is_thread_local(mm))
...@@ -246,11 +245,10 @@ void radix__flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr, ...@@ -246,11 +245,10 @@ void radix__flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr,
void radix__flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr) void radix__flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr)
{ {
#ifdef CONFIG_HUGETLB_PAGE #ifdef CONFIG_HUGETLB_PAGE
if (vma && is_vm_hugetlb_page(vma)) if (is_vm_hugetlb_page(vma))
return flush_hugetlb_page(vma, vmaddr); return radix__flush_hugetlb_page(vma, vmaddr);
#endif #endif
radix__flush_tlb_page_psize(vma ? vma->vm_mm : NULL, vmaddr, radix__flush_tlb_page_psize(vma->vm_mm, vmaddr, mmu_virtual_psize);
mmu_virtual_psize);
} }
EXPORT_SYMBOL(radix__flush_tlb_page); EXPORT_SYMBOL(radix__flush_tlb_page);
...@@ -330,7 +328,7 @@ void radix__flush_tlb_range_psize(struct mm_struct *mm, unsigned long start, ...@@ -330,7 +328,7 @@ void radix__flush_tlb_range_psize(struct mm_struct *mm, unsigned long start,
preempt_disable(); preempt_disable();
pid = mm ? mm->context.id : 0; pid = mm->context.id;
if (unlikely(pid == MMU_NO_CONTEXT)) if (unlikely(pid == MMU_NO_CONTEXT))
goto err_out; goto err_out;
...@@ -361,7 +359,7 @@ void radix__flush_tlb_collapsed_pmd(struct mm_struct *mm, unsigned long addr) ...@@ -361,7 +359,7 @@ void radix__flush_tlb_collapsed_pmd(struct mm_struct *mm, unsigned long addr)
unsigned long pid, end; unsigned long pid, end;
pid = mm ? mm->context.id : 0; pid = mm->context.id;
if (unlikely(pid == MMU_NO_CONTEXT)) if (unlikely(pid == MMU_NO_CONTEXT))
goto no_context; goto no_context;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment