mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 19:00:25 +00:00
drm/via: use get_user_pages_unlocked()
Moving from get_user_pages() to get_user_pages_unlocked() simplifies the code and takes advantage of VM_FAULT_RETRY functionality when faulting in pages. Signed-off-by: Lorenzo Stoakes <lstoakes@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/20170227215008.21457-1-lstoakes@gmail.com
This commit is contained in:
parent
ac7d3af84b
commit
0eb9acda36
1 changed files with 3 additions and 7 deletions
|
@ -238,13 +238,9 @@ via_lock_all_dma_pages(drm_via_sg_info_t *vsg, drm_via_dmablit_t *xfer)
|
|||
vsg->pages = vzalloc(sizeof(struct page *) * vsg->num_pages);
|
||||
if (NULL == vsg->pages)
|
||||
return -ENOMEM;
|
||||
down_read(¤t->mm->mmap_sem);
|
||||
ret = get_user_pages((unsigned long)xfer->mem_addr,
|
||||
vsg->num_pages,
|
||||
(vsg->direction == DMA_FROM_DEVICE) ? FOLL_WRITE : 0,
|
||||
vsg->pages, NULL);
|
||||
|
||||
up_read(¤t->mm->mmap_sem);
|
||||
ret = get_user_pages_unlocked((unsigned long)xfer->mem_addr,
|
||||
vsg->num_pages, vsg->pages,
|
||||
(vsg->direction == DMA_FROM_DEVICE) ? FOLL_WRITE : 0);
|
||||
if (ret != vsg->num_pages) {
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
|
Loading…
Reference in a new issue