Lines Matching refs:folio

199 void __flush_dcache_folio(struct address_space *mapping, struct folio *folio)  in __flush_dcache_folio()  argument
206 if (!folio_test_highmem(folio)) { in __flush_dcache_folio()
207 __cpuc_flush_dcache_area(folio_address(folio), in __flush_dcache_folio()
208 folio_size(folio)); in __flush_dcache_folio()
212 for (i = 0; i < folio_nr_pages(folio); i++) { in __flush_dcache_folio()
213 void *addr = kmap_local_folio(folio, in __flush_dcache_folio()
219 for (i = 0; i < folio_nr_pages(folio); i++) { in __flush_dcache_folio()
220 void *addr = kmap_high_get(folio_page(folio, i)); in __flush_dcache_folio()
223 kunmap_high(folio_page(folio, i)); in __flush_dcache_folio()
235 flush_pfn_alias(folio_pfn(folio), folio_pos(folio)); in __flush_dcache_folio()
238 static void __flush_dcache_aliases(struct address_space *mapping, struct folio *folio) in __flush_dcache_aliases() argument
250 pgoff = folio->index; in __flush_dcache_aliases()
251 pgoff_end = pgoff + folio_nr_pages(folio) - 1; in __flush_dcache_aliases()
267 pfn = folio_pfn(folio); in __flush_dcache_aliases()
268 nr = folio_nr_pages(folio); in __flush_dcache_aliases()
288 struct folio *folio; in __sync_icache_dcache() local
298 folio = page_folio(pfn_to_page(pfn)); in __sync_icache_dcache()
299 if (folio_test_reserved(folio)) in __sync_icache_dcache()
303 mapping = folio_flush_mapping(folio); in __sync_icache_dcache()
307 if (!test_and_set_bit(PG_dcache_clean, &folio->flags)) in __sync_icache_dcache()
308 __flush_dcache_folio(mapping, folio); in __sync_icache_dcache()
334 void flush_dcache_folio(struct folio *folio) in flush_dcache_folio() argument
342 if (is_zero_pfn(folio_pfn(folio))) in flush_dcache_folio()
346 if (test_bit(PG_dcache_clean, &folio->flags)) in flush_dcache_folio()
347 clear_bit(PG_dcache_clean, &folio->flags); in flush_dcache_folio()
351 mapping = folio_flush_mapping(folio); in flush_dcache_folio()
354 mapping && !folio_mapped(folio)) in flush_dcache_folio()
355 clear_bit(PG_dcache_clean, &folio->flags); in flush_dcache_folio()
357 __flush_dcache_folio(mapping, folio); in flush_dcache_folio()
359 __flush_dcache_aliases(mapping, folio); in flush_dcache_folio()
362 set_bit(PG_dcache_clean, &folio->flags); in flush_dcache_folio()