drm/etnaviv: convert get_user_pages() --> pin_user_pages()
[linux-2.6-microblaze.git] / drivers / gpu / drm / etnaviv / etnaviv_gem.c
index dc9ef30..670eaaf 100644 (file)
@@ -661,7 +661,7 @@ static int etnaviv_gem_userptr_get_pages(struct etnaviv_gem_object *etnaviv_obj)
        struct etnaviv_gem_userptr *userptr = &etnaviv_obj->userptr;
        int ret, pinned = 0, npages = etnaviv_obj->base.size >> PAGE_SHIFT;
 
-       might_lock_read(&current->mm->mmap_sem);
+       might_lock_read(&current->mm->mmap_lock);
 
        if (userptr->mm != current->mm)
                return -EPERM;
@@ -675,10 +675,10 @@ static int etnaviv_gem_userptr_get_pages(struct etnaviv_gem_object *etnaviv_obj)
                uint64_t ptr = userptr->ptr + pinned * PAGE_SIZE;
                struct page **pages = pvec + pinned;
 
-               ret = get_user_pages_fast(ptr, num_pages,
+               ret = pin_user_pages_fast(ptr, num_pages,
                                          !userptr->ro ? FOLL_WRITE : 0, pages);
                if (ret < 0) {
-                       release_pages(pvec, pinned);
+                       unpin_user_pages(pvec, pinned);
                        kvfree(pvec);
                        return ret;
                }
@@ -702,7 +702,7 @@ static void etnaviv_gem_userptr_release(struct etnaviv_gem_object *etnaviv_obj)
        if (etnaviv_obj->pages) {
                int npages = etnaviv_obj->base.size >> PAGE_SHIFT;
 
-               release_pages(etnaviv_obj->pages, npages);
+               unpin_user_pages(etnaviv_obj->pages, npages);
                kvfree(etnaviv_obj->pages);
        }
 }