Lines Matching defs:folio
198 inline void flush_dcache_folio_impl(struct folio *folio)
200 unsigned int i, nr = folio_nr_pages(folio);
209 __flush_dcache_page(folio_address(folio) + i * PAGE_SIZE,
211 folio_flush_mapping(folio) != NULL));
213 if (folio_flush_mapping(folio) != NULL &&
226 #define dcache_dirty_cpu(folio) \
227 (((folio)->flags >> PG_dcache_cpu_shift) & PG_dcache_cpu_mask)
229 static inline void set_dcache_dirty(struct folio *folio, int this_cpu)
246 : "r" (mask), "r" (non_cpu_bits), "r" (&folio->flags)
250 static inline void clear_dcache_dirty_cpu(struct folio *folio, unsigned long cpu)
268 : "r" (cpu), "r" (mask), "r" (&folio->flags),
292 struct folio *folio = page_folio(page);
295 pg_flags = folio->flags;
305 flush_dcache_folio_impl(folio);
307 smp_flush_dcache_folio_impl(folio, cpu);
309 clear_dcache_dirty_cpu(folio, cpu);
463 void flush_dcache_folio(struct folio *folio)
465 unsigned long pfn = folio_pfn(folio);
481 mapping = folio_flush_mapping(folio);
483 bool dirty = test_bit(PG_dcache_dirty, &folio->flags);
485 int dirty_cpu = dcache_dirty_cpu(folio);
489 smp_flush_dcache_folio_impl(folio, dirty_cpu);
491 set_dcache_dirty(folio, this_cpu);
498 flush_dcache_folio_impl(folio);
2297 * folio->flags usage will work.
2300 * cpu number starting at bit 32 in the folio->flags. Also,