summaryrefslogtreecommitdiff
path: root/include/asm-generic/cacheflush.h
diff options
context:
space:
mode:
authorMatthew Wilcox (Oracle) <willy@infradead.org>2020-12-16 11:06:33 -0500
committerMatthew Wilcox (Oracle) <willy@infradead.org>2021-10-18 07:49:36 -0400
commit08b0b0059bf1c2e8637f724cc7cc4d29b1e808de (patch)
tree795315583bdbd72e41a2509662d48f377d477893 /include/asm-generic/cacheflush.h
parent646010009d3541b8cb4f803dcb4b8d0da2f22579 (diff)
downloadlinux-08b0b0059bf1c2e8637f724cc7cc4d29b1e808de.tar.gz
mm: Add flush_dcache_folio()
This is a default implementation which calls flush_dcache_page() on each page in the folio. If architectures can do better, they should implement their own version of it. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Acked-by: Vlastimil Babka <vbabka@suse.cz>
Diffstat (limited to 'include/asm-generic/cacheflush.h')
-rw-r--r--include/asm-generic/cacheflush.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/asm-generic/cacheflush.h b/include/asm-generic/cacheflush.h
index 4a674db4e1fa..fedc0dfa4877 100644
--- a/include/asm-generic/cacheflush.h
+++ b/include/asm-generic/cacheflush.h
@@ -49,9 +49,15 @@ static inline void flush_cache_page(struct vm_area_struct *vma,
static inline void flush_dcache_page(struct page *page)
{
}
+
+static inline void flush_dcache_folio(struct folio *folio) { }
#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
+#define ARCH_IMPLEMENTS_FLUSH_DCACHE_FOLIO
#endif
+#ifndef ARCH_IMPLEMENTS_FLUSH_DCACHE_FOLIO
+void flush_dcache_folio(struct folio *folio);
+#endif
#ifndef flush_dcache_mmap_lock
static inline void flush_dcache_mmap_lock(struct address_space *mapping)