arc: implement the new page table range API
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Wed, 2 Aug 2023 15:13:36 +0000 (16:13 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 24 Aug 2023 23:20:20 +0000 (16:20 -0700)
commitac4cfaccedac891d29560ddfb64cb5c1e710e1e1
tree03f10d6af1936ca585b86dc39ab4f1d5b1988df6
parent63497b716be30fb268b2358836efb4bb9e615f15
arc: implement the new page table range API

Add PFN_PTE_SHIFT, update_mmu_cache_range(), flush_dcache_folio()
and flush_icache_pages().

Change the PG_dc_clean flag from being per-page to per-folio (which means
it cannot always be set as we don't know that all pages in this folio were
cleaned).  Enhance the internal flush routines to take the number of pages
to flush.

Link: https://lkml.kernel.org/r/20230802151406.3735276-9-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Cc: Vineet Gupta <vgupta@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
arch/arc/include/asm/cacheflush.h
arch/arc/include/asm/pgtable-bits-arcv2.h
arch/arc/include/asm/pgtable-levels.h
arch/arc/mm/cache.c
arch/arc/mm/tlb.c