Lines Matching refs:iov_pfn
2365 unsigned long iov_pfn, in hardware_largepage_caps() argument
2378 pfnmerge = iov_pfn | phy_pfn; in hardware_largepage_caps()
2391 static int __domain_mapping(struct dmar_domain *domain, unsigned long iov_pfn, in __domain_mapping() argument
2402 BUG_ON(!domain_pfn_supported(domain, iov_pfn + nr_pages - 1)); in __domain_mapping()
2431 sg->dma_address = ((dma_addr_t)iov_pfn << VTD_PAGE_SHIFT) + pgoff; in __domain_mapping()
2438 largepage_lvl = hardware_largepage_caps(domain, iov_pfn, phys_pfn, sg_res); in __domain_mapping()
2440 first_pte = pte = pfn_to_dma_pte(domain, iov_pfn, &largepage_lvl); in __domain_mapping()
2451 end_pfn = iov_pfn + nr_superpages * lvl_pages - 1; in __domain_mapping()
2459 dma_pte_free_pagetable(domain, iov_pfn, end_pfn, in __domain_mapping()
2473 iov_pfn, tmp, (unsigned long long)pteval); in __domain_mapping()
2487 iov_pfn += lvl_pages; in __domain_mapping()
2517 static int domain_mapping(struct dmar_domain *domain, unsigned long iov_pfn, in domain_mapping() argument
2525 ret = __domain_mapping(domain, iov_pfn, sg, phys_pfn, nr_pages, prot); in domain_mapping()
2531 __mapping_notify_one(iommu, domain, iov_pfn, nr_pages); in domain_mapping()
2537 static inline int domain_sg_mapping(struct dmar_domain *domain, unsigned long iov_pfn, in domain_sg_mapping() argument
2541 return domain_mapping(domain, iov_pfn, sg, 0, nr_pages, prot); in domain_sg_mapping()
2544 static inline int domain_pfn_mapping(struct dmar_domain *domain, unsigned long iov_pfn, in domain_pfn_mapping() argument
2548 return domain_mapping(domain, iov_pfn, NULL, phys_pfn, nr_pages, prot); in domain_pfn_mapping()