Lines Matching refs:vmf
79 struct vm_fault *vmf, pfn_t *pfn) in __dev_dax_pte_fault() argument
86 if (check_vma(dev_dax, vmf->vma, __func__)) in __dev_dax_pte_fault()
99 phys = dax_pgoff_to_phys(dev_dax, vmf->pgoff, PAGE_SIZE); in __dev_dax_pte_fault()
101 dev_dbg(dev, "pgoff_to_phys(%#lx) failed\n", vmf->pgoff); in __dev_dax_pte_fault()
107 return vmf_insert_mixed(vmf->vma, vmf->address, *pfn); in __dev_dax_pte_fault()
111 struct vm_fault *vmf, pfn_t *pfn) in __dev_dax_pmd_fault() argument
113 unsigned long pmd_addr = vmf->address & PMD_MASK; in __dev_dax_pmd_fault()
120 if (check_vma(dev_dax, vmf->vma, __func__)) in __dev_dax_pmd_fault()
142 if (pmd_addr < vmf->vma->vm_start || in __dev_dax_pmd_fault()
143 (pmd_addr + PMD_SIZE) > vmf->vma->vm_end) in __dev_dax_pmd_fault()
146 pgoff = linear_page_index(vmf->vma, pmd_addr); in __dev_dax_pmd_fault()
155 return vmf_insert_pfn_pmd(vmf, *pfn, vmf->flags & FAULT_FLAG_WRITE); in __dev_dax_pmd_fault()
160 struct vm_fault *vmf, pfn_t *pfn) in __dev_dax_pud_fault() argument
162 unsigned long pud_addr = vmf->address & PUD_MASK; in __dev_dax_pud_fault()
170 if (check_vma(dev_dax, vmf->vma, __func__)) in __dev_dax_pud_fault()
192 if (pud_addr < vmf->vma->vm_start || in __dev_dax_pud_fault()
193 (pud_addr + PUD_SIZE) > vmf->vma->vm_end) in __dev_dax_pud_fault()
196 pgoff = linear_page_index(vmf->vma, pud_addr); in __dev_dax_pud_fault()
205 return vmf_insert_pfn_pud(vmf, *pfn, vmf->flags & FAULT_FLAG_WRITE); in __dev_dax_pud_fault()
209 struct vm_fault *vmf, pfn_t *pfn) in __dev_dax_pud_fault() argument
215 static vm_fault_t dev_dax_huge_fault(struct vm_fault *vmf, in dev_dax_huge_fault() argument
218 struct file *filp = vmf->vma->vm_file; in dev_dax_huge_fault()
226 (vmf->flags & FAULT_FLAG_WRITE) ? "write" : "read", in dev_dax_huge_fault()
227 vmf->vma->vm_start, vmf->vma->vm_end, pe_size); in dev_dax_huge_fault()
233 rc = __dev_dax_pte_fault(dev_dax, vmf, &pfn); in dev_dax_huge_fault()
237 rc = __dev_dax_pmd_fault(dev_dax, vmf, &pfn); in dev_dax_huge_fault()
241 rc = __dev_dax_pud_fault(dev_dax, vmf, &pfn); in dev_dax_huge_fault()
257 pgoff = linear_page_index(vmf->vma, vmf->address in dev_dax_huge_fault()
274 static vm_fault_t dev_dax_fault(struct vm_fault *vmf) in dev_dax_fault() argument
276 return dev_dax_huge_fault(vmf, PE_SIZE_PTE); in dev_dax_fault()