Lines Matching refs:vmf
77 struct vm_fault *vmf, pfn_t *pfn) in __dev_dax_pte_fault() argument
83 if (check_vma(dev_dax, vmf->vma, __func__)) in __dev_dax_pte_fault()
95 phys = dax_pgoff_to_phys(dev_dax, vmf->pgoff, PAGE_SIZE); in __dev_dax_pte_fault()
97 dev_dbg(dev, "pgoff_to_phys(%#lx) failed\n", vmf->pgoff); in __dev_dax_pte_fault()
103 return vmf_insert_mixed(vmf->vma, vmf->address, *pfn); in __dev_dax_pte_fault()
107 struct vm_fault *vmf, pfn_t *pfn) in __dev_dax_pmd_fault() argument
109 unsigned long pmd_addr = vmf->address & PMD_MASK; in __dev_dax_pmd_fault()
115 if (check_vma(dev_dax, vmf->vma, __func__)) in __dev_dax_pmd_fault()
130 if (pmd_addr < vmf->vma->vm_start || in __dev_dax_pmd_fault()
131 (pmd_addr + PMD_SIZE) > vmf->vma->vm_end) in __dev_dax_pmd_fault()
134 pgoff = linear_page_index(vmf->vma, pmd_addr); in __dev_dax_pmd_fault()
143 return vmf_insert_pfn_pmd(vmf, *pfn, vmf->flags & FAULT_FLAG_WRITE); in __dev_dax_pmd_fault()
148 struct vm_fault *vmf, pfn_t *pfn) in __dev_dax_pud_fault() argument
150 unsigned long pud_addr = vmf->address & PUD_MASK; in __dev_dax_pud_fault()
157 if (check_vma(dev_dax, vmf->vma, __func__)) in __dev_dax_pud_fault()
172 if (pud_addr < vmf->vma->vm_start || in __dev_dax_pud_fault()
173 (pud_addr + PUD_SIZE) > vmf->vma->vm_end) in __dev_dax_pud_fault()
176 pgoff = linear_page_index(vmf->vma, pud_addr); in __dev_dax_pud_fault()
185 return vmf_insert_pfn_pud(vmf, *pfn, vmf->flags & FAULT_FLAG_WRITE); in __dev_dax_pud_fault()
189 struct vm_fault *vmf, pfn_t *pfn) in __dev_dax_pud_fault() argument
195 static vm_fault_t dev_dax_huge_fault(struct vm_fault *vmf, in dev_dax_huge_fault() argument
198 struct file *filp = vmf->vma->vm_file; in dev_dax_huge_fault()
206 (vmf->flags & FAULT_FLAG_WRITE) ? "write" : "read", in dev_dax_huge_fault()
207 vmf->vma->vm_start, vmf->vma->vm_end, pe_size); in dev_dax_huge_fault()
213 rc = __dev_dax_pte_fault(dev_dax, vmf, &pfn); in dev_dax_huge_fault()
217 rc = __dev_dax_pmd_fault(dev_dax, vmf, &pfn); in dev_dax_huge_fault()
221 rc = __dev_dax_pud_fault(dev_dax, vmf, &pfn); in dev_dax_huge_fault()
237 pgoff = linear_page_index(vmf->vma, vmf->address in dev_dax_huge_fault()
254 static vm_fault_t dev_dax_fault(struct vm_fault *vmf) in dev_dax_fault() argument
256 return dev_dax_huge_fault(vmf, PE_SIZE_PTE); in dev_dax_fault()