Messages in this thread Patch in this message | | | From | Christophe Leroy <> | Subject | [PATCH v1 05/20] powerpc/32s: Use mmu_has_feature(MMU_FTR_HPTE_TABLE) instead of checking Hash var | Date | Thu, 22 Oct 2020 06:29:30 +0000 (UTC) |
| |
We now have an early hash table on hash MMU, so no need to check Hash var to know if the Hash table is set of not.
Use mmu_has_feature(MMU_FTR_HPTE_TABLE) instead. This will allow optimisation via jump_label.
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> --- arch/powerpc/mm/book3s32/mmu.c | 2 +- arch/powerpc/mm/book3s32/tlb.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/mm/book3s32/mmu.c b/arch/powerpc/mm/book3s32/mmu.c index eceb55c12fe9..6612d2a9a1ff 100644 --- a/arch/powerpc/mm/book3s32/mmu.c +++ b/arch/powerpc/mm/book3s32/mmu.c @@ -308,7 +308,7 @@ void hash_preload(struct mm_struct *mm, unsigned long ea) { pmd_t *pmd; - if (!Hash) + if (!mmu_has_feature(MMU_FTR_HPTE_TABLE)) return; pmd = pmd_off(mm, ea); if (!pmd_none(*pmd)) diff --git a/arch/powerpc/mm/book3s32/tlb.c b/arch/powerpc/mm/book3s32/tlb.c index b6c7427daa6f..ae5dbba95805 100644 --- a/arch/powerpc/mm/book3s32/tlb.c +++ b/arch/powerpc/mm/book3s32/tlb.c @@ -36,7 +36,7 @@ void flush_hash_entry(struct mm_struct *mm, pte_t *ptep, unsigned long addr) { unsigned long ptephys; - if (Hash) { + if (mmu_has_feature(MMU_FTR_HPTE_TABLE)) { ptephys = __pa(ptep) & PAGE_MASK; flush_hash_pages(mm->context.id, addr, ptephys, 1); } @@ -49,7 +49,7 @@ EXPORT_SYMBOL(flush_hash_entry); */ void tlb_flush(struct mmu_gather *tlb) { - if (!Hash) { + if (!mmu_has_feature(MMU_FTR_HPTE_TABLE)) { /* * 603 needs to flush the whole TLB here since * it doesn't use a hash table. @@ -80,7 +80,7 @@ static void flush_range(struct mm_struct *mm, unsigned long start, unsigned int ctx = mm->context.id; start &= PAGE_MASK; - if (!Hash) { + if (!mmu_has_feature(MMU_FTR_HPTE_TABLE)) { if (end - start <= PAGE_SIZE) _tlbie(start); else @@ -122,7 +122,7 @@ void flush_tlb_mm(struct mm_struct *mm) { struct vm_area_struct *mp; - if (!Hash) { + if (!mmu_has_feature(MMU_FTR_HPTE_TABLE)) { _tlbia(); return; } @@ -143,7 +143,7 @@ void flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr) struct mm_struct *mm; pmd_t *pmd; - if (!Hash) { + if (!mmu_has_feature(MMU_FTR_HPTE_TABLE)) { _tlbie(vmaddr); return; } -- 2.25.0
| |