On 10/7/20 9:44 AM, Daniel Vetter wrote:
...
@@ -1414,15 +1410,10 @@ void hl_unpin_host_memory(struct hl_device *hdev, 
struct hl_userptr *userptr)
                                                        userptr->sgt->nents,
                                                        userptr->dir);
- pages = frame_vector_pages(userptr->vec);
-       if (!IS_ERR(pages)) {
-               int i;
-
-               for (i = 0; i < frame_vector_count(userptr->vec); i++)
-                       set_page_dirty_lock(pages[i]);
-       }
-       put_vaddr_frames(userptr->vec);
-       frame_vector_destroy(userptr->vec);
+       for (i = 0; i < userptr->npages; i++)
+               set_page_dirty_lock(userptr->pages[i]);
+       unpin_user_pages(userptr->pages, userptr->npages);
+       kvfree(userptr->pages);

Same thing here as in patch 1: you can further simplify by using
unpin_user_pages_dirty_lock().

list_del(&userptr->job_node);

thanks,
--
John Hubbard
NVIDIA
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to