Lines Matching refs:dev_dax
17 static int check_vma(struct dev_dax *dev_dax, struct vm_area_struct *vma, in check_vma() argument
20 struct dax_region *dax_region = dev_dax->region; in check_vma()
21 struct device *dev = &dev_dax->dev; in check_vma()
24 if (!dax_alive(dev_dax->dax_dev)) in check_vma()
63 __weak phys_addr_t dax_pgoff_to_phys(struct dev_dax *dev_dax, pgoff_t pgoff, in dax_pgoff_to_phys() argument
66 struct resource *res = &dev_dax->region->res; in dax_pgoff_to_phys()
78 static vm_fault_t __dev_dax_pte_fault(struct dev_dax *dev_dax, in __dev_dax_pte_fault() argument
81 struct device *dev = &dev_dax->dev; in __dev_dax_pte_fault()
86 if (check_vma(dev_dax, vmf->vma, __func__)) in __dev_dax_pte_fault()
89 dax_region = dev_dax->region; in __dev_dax_pte_fault()
99 phys = dax_pgoff_to_phys(dev_dax, vmf->pgoff, PAGE_SIZE); in __dev_dax_pte_fault()
110 static vm_fault_t __dev_dax_pmd_fault(struct dev_dax *dev_dax, in __dev_dax_pmd_fault() argument
114 struct device *dev = &dev_dax->dev; in __dev_dax_pmd_fault()
120 if (check_vma(dev_dax, vmf->vma, __func__)) in __dev_dax_pmd_fault()
123 dax_region = dev_dax->region; in __dev_dax_pmd_fault()
147 phys = dax_pgoff_to_phys(dev_dax, pgoff, PMD_SIZE); in __dev_dax_pmd_fault()
159 static vm_fault_t __dev_dax_pud_fault(struct dev_dax *dev_dax, in __dev_dax_pud_fault() argument
163 struct device *dev = &dev_dax->dev; in __dev_dax_pud_fault()
170 if (check_vma(dev_dax, vmf->vma, __func__)) in __dev_dax_pud_fault()
173 dax_region = dev_dax->region; in __dev_dax_pud_fault()
197 phys = dax_pgoff_to_phys(dev_dax, pgoff, PUD_SIZE); in __dev_dax_pud_fault()
208 static vm_fault_t __dev_dax_pud_fault(struct dev_dax *dev_dax, in __dev_dax_pud_fault() argument
223 struct dev_dax *dev_dax = filp->private_data; in dev_dax_huge_fault() local
225 dev_dbg(&dev_dax->dev, "%s: %s (%#lx - %#lx) size = %d\n", current->comm, 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()
282 struct dev_dax *dev_dax = filp->private_data; in dev_dax_split() local
283 struct dax_region *dax_region = dev_dax->region; in dev_dax_split()
293 struct dev_dax *dev_dax = filp->private_data; in dev_dax_pagesize() local
294 struct dax_region *dax_region = dev_dax->region; in dev_dax_pagesize()
308 struct dev_dax *dev_dax = filp->private_data; in dax_mmap() local
311 dev_dbg(&dev_dax->dev, "trace\n"); in dax_mmap()
318 rc = check_vma(dev_dax, vma, __func__); in dax_mmap()
334 struct dev_dax *dev_dax = filp ? filp->private_data : NULL; in dax_get_unmapped_area() local
337 if (!dev_dax || addr) in dax_get_unmapped_area()
340 dax_region = dev_dax->region; in dax_get_unmapped_area()
372 struct dev_dax *dev_dax = dax_get_private(dax_dev); in dax_open() local
374 dev_dbg(&dev_dax->dev, "trace\n"); in dax_open()
380 filp->private_data = dev_dax; in dax_open()
388 struct dev_dax *dev_dax = filp->private_data; in dax_release() local
390 dev_dbg(&dev_dax->dev, "trace\n"); in dax_release()
409 static void dev_dax_kill(void *dev_dax) in dev_dax_kill() argument
411 kill_dev_dax(dev_dax); in dev_dax_kill()
416 struct dev_dax *dev_dax = to_dev_dax(dev); in dev_dax_probe() local
417 struct dax_device *dax_dev = dev_dax->dax_dev; in dev_dax_probe()
418 struct resource *res = &dev_dax->region->res; in dev_dax_probe()
431 dev_dax->pgmap.type = MEMORY_DEVICE_DEVDAX; in dev_dax_probe()
432 addr = devm_memremap_pages(dev, &dev_dax->pgmap); in dev_dax_probe()
454 return devm_add_action_or_reset(dev, dev_dax_kill, dev_dax); in dev_dax_probe()