|
@@ -100,13 +100,12 @@ int udl_drm_gem_mmap(struct file *filp, struct vm_area_struct *vma)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-int udl_gem_fault(struct vm_fault *vmf)
|
|
|
+vm_fault_t udl_gem_fault(struct vm_fault *vmf)
|
|
|
{
|
|
|
struct vm_area_struct *vma = vmf->vma;
|
|
|
struct udl_gem_object *obj = to_udl_bo(vma->vm_private_data);
|
|
|
struct page *page;
|
|
|
unsigned int page_offset;
|
|
|
- int ret = 0;
|
|
|
|
|
|
page_offset = (vmf->address - vma->vm_start) >> PAGE_SHIFT;
|
|
|
|
|
@@ -114,17 +113,7 @@ int udl_gem_fault(struct vm_fault *vmf)
|
|
|
return VM_FAULT_SIGBUS;
|
|
|
|
|
|
page = obj->pages[page_offset];
|
|
|
- ret = vm_insert_page(vma, vmf->address, page);
|
|
|
- switch (ret) {
|
|
|
- case -EAGAIN:
|
|
|
- case 0:
|
|
|
- case -ERESTARTSYS:
|
|
|
- return VM_FAULT_NOPAGE;
|
|
|
- case -ENOMEM:
|
|
|
- return VM_FAULT_OOM;
|
|
|
- default:
|
|
|
- return VM_FAULT_SIGBUS;
|
|
|
- }
|
|
|
+ return vmf_insert_page(vma, vmf->address, page);
|
|
|
}
|
|
|
|
|
|
int udl_gem_get_pages(struct udl_gem_object *obj)
|