Lines Matching refs:folio

74 static void flush_aliases(struct address_space *mapping, struct folio *folio)  in flush_aliases()  argument
80 unsigned long nr = folio_nr_pages(folio); in flush_aliases()
82 pgoff = folio->index; in flush_aliases()
163 static void __flush_dcache_folio(struct folio *folio) in __flush_dcache_folio() argument
170 unsigned long start = (unsigned long)folio_address(folio); in __flush_dcache_folio()
172 __flush_dcache(start, start + folio_size(folio)); in __flush_dcache_folio()
175 void flush_dcache_folio(struct folio *folio) in flush_dcache_folio() argument
183 if (is_zero_pfn(folio_pfn(folio))) in flush_dcache_folio()
186 mapping = folio_flush_mapping(folio); in flush_dcache_folio()
190 clear_bit(PG_dcache_clean, &folio->flags); in flush_dcache_folio()
192 __flush_dcache_folio(folio); in flush_dcache_folio()
194 unsigned long start = (unsigned long)folio_address(folio); in flush_dcache_folio()
195 flush_aliases(mapping, folio); in flush_dcache_folio()
196 flush_icache_range(start, start + folio_size(folio)); in flush_dcache_folio()
198 set_bit(PG_dcache_clean, &folio->flags); in flush_dcache_folio()
214 struct folio *folio; in update_mmu_cache_range() local
229 folio = page_folio(pfn_to_page(pfn)); in update_mmu_cache_range()
230 if (!test_and_set_bit(PG_dcache_clean, &folio->flags)) in update_mmu_cache_range()
231 __flush_dcache_folio(folio); in update_mmu_cache_range()
233 mapping = folio_flush_mapping(folio); in update_mmu_cache_range()
235 flush_aliases(mapping, folio); in update_mmu_cache_range()
237 flush_icache_pages(vma, &folio->page, in update_mmu_cache_range()
238 folio_nr_pages(folio)); in update_mmu_cache_range()