Lines Matching defs:vmf

60 static void dax_set_mapping(struct vm_fault *vmf, unsigned long pfn,
64 struct file *filp = vmf->vma->vm_file;
72 pgoff = linear_page_index(vmf->vma,
73 ALIGN_DOWN(vmf->address, fault_size));
87 struct vm_fault *vmf)
94 if (check_vma(dev_dax, vmf->vma, __func__))
106 phys = dax_pgoff_to_phys(dev_dax, vmf->pgoff, PAGE_SIZE);
108 dev_dbg(dev, "pgoff_to_phys(%#lx) failed\n", vmf->pgoff);
114 dax_set_mapping(vmf, pfn, fault_size);
116 return vmf_insert_page_mkwrite(vmf, pfn_to_page(pfn),
117 vmf->flags & FAULT_FLAG_WRITE);
121 struct vm_fault *vmf)
123 unsigned long pmd_addr = vmf->address & PMD_MASK;
130 if (check_vma(dev_dax, vmf->vma, __func__))
145 if (pmd_addr < vmf->vma->vm_start ||
146 (pmd_addr + PMD_SIZE) > vmf->vma->vm_end)
149 pgoff = linear_page_index(vmf->vma, pmd_addr);
158 dax_set_mapping(vmf, pfn, fault_size);
160 return vmf_insert_folio_pmd(vmf, page_folio(pfn_to_page(pfn)),
161 vmf->flags & FAULT_FLAG_WRITE);
166 struct vm_fault *vmf)
168 unsigned long pud_addr = vmf->address & PUD_MASK;
176 if (check_vma(dev_dax, vmf->vma, __func__))
191 if (pud_addr < vmf->vma->vm_start ||
192 (pud_addr + PUD_SIZE) > vmf->vma->vm_end)
195 pgoff = linear_page_index(vmf->vma, pud_addr);
204 dax_set_mapping(vmf, pfn, fault_size);
206 return vmf_insert_folio_pud(vmf, page_folio(pfn_to_page(pfn)),
207 vmf->flags & FAULT_FLAG_WRITE);
211 struct vm_fault *vmf)
217 static vm_fault_t dev_dax_huge_fault(struct vm_fault *vmf, unsigned int order)
219 struct file *filp = vmf->vma->vm_file;
225 (vmf->flags & FAULT_FLAG_WRITE) ? "write" : "read",
226 vmf->address & ~((1UL << (order + PAGE_SHIFT)) - 1), order);
230 rc = __dev_dax_pte_fault(dev_dax, vmf);
232 rc = __dev_dax_pmd_fault(dev_dax, vmf);
234 rc = __dev_dax_pud_fault(dev_dax, vmf);
243 static vm_fault_t dev_dax_fault(struct vm_fault *vmf)
245 return dev_dax_huge_fault(vmf, 0);