Lines Matching refs:src_pfns

566 static unsigned long migrate_device_unmap(unsigned long *src_pfns,  in migrate_device_unmap()  argument
579 struct page *page = migrate_pfn_to_page(src_pfns[i]); in migrate_device_unmap()
584 if (src_pfns[i] & MIGRATE_PFN_MIGRATE) in migrate_device_unmap()
593 src_pfns[i] |= MIGRATE_PFN_COMPOUND; in migrate_device_unmap()
605 src_pfns[i] &= ~MIGRATE_PFN_MIGRATE; in migrate_device_unmap()
624 src_pfns[i] &= ~MIGRATE_PFN_MIGRATE; in migrate_device_unmap()
635 struct page *page = migrate_pfn_to_page(src_pfns[i]); in migrate_device_unmap()
638 if (!page || (src_pfns[i] & MIGRATE_PFN_MIGRATE)) in migrate_device_unmap()
644 src_pfns[i] = 0; in migrate_device_unmap()
1101 static void __migrate_device_pages(unsigned long *src_pfns, in __migrate_device_pages() argument
1112 struct page *page = migrate_pfn_to_page(src_pfns[i]); in __migrate_device_pages()
1119 src_pfns[i] &= ~MIGRATE_PFN_MIGRATE; in __migrate_device_pages()
1126 if (!(src_pfns[i] & MIGRATE_PFN_MIGRATE)) in __migrate_device_pages()
1146 if ((src_pfns[i] & MIGRATE_PFN_COMPOUND) && in __migrate_device_pages()
1148 nr = migrate_vma_nr_pages(&src_pfns[i]); in __migrate_device_pages()
1149 src_pfns[i] &= ~MIGRATE_PFN_COMPOUND; in __migrate_device_pages()
1155 src_pfns[i+j] |= MIGRATE_PFN_MIGRATE; in __migrate_device_pages()
1158 &dst_pfns[i+j], &src_pfns[i+j]); in __migrate_device_pages()
1172 if ((src_pfns[i] & MIGRATE_PFN_MIGRATE) && in __migrate_device_pages()
1173 (src_pfns[i] & MIGRATE_PFN_COMPOUND) && in __migrate_device_pages()
1177 src_pfns[i] &= ~(MIGRATE_PFN_MIGRATE | in __migrate_device_pages()
1184 src_pfns[i] &= ~(MIGRATE_PFN_MIGRATE | in __migrate_device_pages()
1188 } else if ((src_pfns[i] & MIGRATE_PFN_MIGRATE) && in __migrate_device_pages()
1190 !(src_pfns[i] & MIGRATE_PFN_COMPOUND)) { in __migrate_device_pages()
1191 src_pfns[i] &= ~MIGRATE_PFN_MIGRATE; in __migrate_device_pages()
1207 src_pfns[i] &= ~MIGRATE_PFN_MIGRATE; in __migrate_device_pages()
1215 src_pfns[i] &= ~MIGRATE_PFN_MIGRATE; in __migrate_device_pages()
1224 folio = page_folio(migrate_pfn_to_page(src_pfns[i+j])); in __migrate_device_pages()
1229 src_pfns[i+j] &= ~MIGRATE_PFN_MIGRATE; in __migrate_device_pages()
1250 void migrate_device_pages(unsigned long *src_pfns, unsigned long *dst_pfns, in migrate_device_pages() argument
1253 __migrate_device_pages(src_pfns, dst_pfns, npages, NULL); in migrate_device_pages()
1271 static void __migrate_device_finalize(unsigned long *src_pfns, in __migrate_device_finalize() argument
1283 struct page *page = migrate_pfn_to_page(src_pfns[i]); in __migrate_device_finalize()
1299 if (!(src_pfns[i] & MIGRATE_PFN_MIGRATE) || !dst) { in __migrate_device_finalize()
1333 void migrate_device_finalize(unsigned long *src_pfns, in migrate_device_finalize() argument
1336 return __migrate_device_finalize(src_pfns, dst_pfns, npages, NULL); in migrate_device_finalize()
1393 int migrate_device_range(unsigned long *src_pfns, unsigned long start, in migrate_device_range() argument
1403 src_pfns[i] = migrate_device_pfn_lock(pfn); in migrate_device_range()
1406 src_pfns[i] |= MIGRATE_PFN_COMPOUND; in migrate_device_range()
1408 src_pfns[i+j] = 0; in migrate_device_range()
1414 migrate_device_unmap(src_pfns, npages, NULL); in migrate_device_range()
1428 int migrate_device_pfns(unsigned long *src_pfns, unsigned long npages) in migrate_device_pfns() argument
1433 struct page *page = pfn_to_page(src_pfns[i]); in migrate_device_pfns()
1437 src_pfns[i] = migrate_device_pfn_lock(src_pfns[i]); in migrate_device_pfns()
1440 src_pfns[i] |= MIGRATE_PFN_COMPOUND; in migrate_device_pfns()
1442 src_pfns[i+j] = 0; in migrate_device_pfns()
1447 migrate_device_unmap(src_pfns, npages, NULL); in migrate_device_pfns()