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