Merge patch series "Add non-coherent DMA support for AX45MP"
[platform/kernel/linux-rpi.git] / drivers / dax / device.c
index 30665a3..93ebedc 100644 (file)
@@ -228,32 +228,26 @@ static vm_fault_t __dev_dax_pud_fault(struct dev_dax *dev_dax,
 }
 #endif /* !CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD */
 
-static vm_fault_t dev_dax_huge_fault(struct vm_fault *vmf,
-               enum page_entry_size pe_size)
+static vm_fault_t dev_dax_huge_fault(struct vm_fault *vmf, unsigned int order)
 {
        struct file *filp = vmf->vma->vm_file;
        vm_fault_t rc = VM_FAULT_SIGBUS;
        int id;
        struct dev_dax *dev_dax = filp->private_data;
 
-       dev_dbg(&dev_dax->dev, "%s: %s (%#lx - %#lx) size = %d\n", current->comm,
+       dev_dbg(&dev_dax->dev, "%s: %s (%#lx - %#lx) order:%d\n", current->comm,
                        (vmf->flags & FAULT_FLAG_WRITE) ? "write" : "read",
-                       vmf->vma->vm_start, vmf->vma->vm_end, pe_size);
+                       vmf->vma->vm_start, vmf->vma->vm_end, order);
 
        id = dax_read_lock();
-       switch (pe_size) {
-       case PE_SIZE_PTE:
+       if (order == 0)
                rc = __dev_dax_pte_fault(dev_dax, vmf);
-               break;
-       case PE_SIZE_PMD:
+       else if (order == PMD_ORDER)
                rc = __dev_dax_pmd_fault(dev_dax, vmf);
-               break;
-       case PE_SIZE_PUD:
+       else if (order == PUD_ORDER)
                rc = __dev_dax_pud_fault(dev_dax, vmf);
-               break;
-       default:
+       else
                rc = VM_FAULT_SIGBUS;
-       }
 
        dax_read_unlock(id);
 
@@ -262,7 +256,7 @@ static vm_fault_t dev_dax_huge_fault(struct vm_fault *vmf,
 
 static vm_fault_t dev_dax_fault(struct vm_fault *vmf)
 {
-       return dev_dax_huge_fault(vmf, PE_SIZE_PTE);
+       return dev_dax_huge_fault(vmf, 0);
 }
 
 static int dev_dax_may_split(struct vm_area_struct *vma, unsigned long addr)