xref: /linux-6.15/include/linux/cacheflush.h (revision 203b7b6a)
1522a0032SMatthew Wilcox (Oracle) /* SPDX-License-Identifier: GPL-2.0 */
2522a0032SMatthew Wilcox (Oracle) #ifndef _LINUX_CACHEFLUSH_H
3522a0032SMatthew Wilcox (Oracle) #define _LINUX_CACHEFLUSH_H
4522a0032SMatthew Wilcox (Oracle) 
5522a0032SMatthew Wilcox (Oracle) #include <asm/cacheflush.h>
6522a0032SMatthew Wilcox (Oracle) 
730d024b5SHerbert Xu struct folio;
830d024b5SHerbert Xu 
9522a0032SMatthew Wilcox (Oracle) #if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
1029d26f12SMatthew Wilcox (Oracle) #ifndef flush_dcache_folio
11522a0032SMatthew Wilcox (Oracle) void flush_dcache_folio(struct folio *folio);
12522a0032SMatthew Wilcox (Oracle) #endif
13522a0032SMatthew Wilcox (Oracle) #else
flush_dcache_folio(struct folio * folio)14522a0032SMatthew Wilcox (Oracle) static inline void flush_dcache_folio(struct folio *folio)
15522a0032SMatthew Wilcox (Oracle) {
16522a0032SMatthew Wilcox (Oracle) }
1729d26f12SMatthew Wilcox (Oracle) #define flush_dcache_folio flush_dcache_folio
18522a0032SMatthew Wilcox (Oracle) #endif /* ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE */
19522a0032SMatthew Wilcox (Oracle) 
20*203b7b6aSMatthew Wilcox (Oracle) #ifndef flush_icache_pages
flush_icache_pages(struct vm_area_struct * vma,struct page * page,unsigned int nr)21*203b7b6aSMatthew Wilcox (Oracle) static inline void flush_icache_pages(struct vm_area_struct *vma,
22*203b7b6aSMatthew Wilcox (Oracle) 				     struct page *page, unsigned int nr)
23*203b7b6aSMatthew Wilcox (Oracle) {
24*203b7b6aSMatthew Wilcox (Oracle) }
25*203b7b6aSMatthew Wilcox (Oracle) #endif
26*203b7b6aSMatthew Wilcox (Oracle) 
27*203b7b6aSMatthew Wilcox (Oracle) #define flush_icache_page(vma, page)	flush_icache_pages(vma, page, 1)
28*203b7b6aSMatthew Wilcox (Oracle) 
29522a0032SMatthew Wilcox (Oracle) #endif /* _LINUX_CACHEFLUSH_H */
30