drivers/gpu/drm/via: convert put_page() to put_user_page*()
authorJohn Hubbard <jhubbard@nvidia.com>
Mon, 23 Sep 2019 22:35:07 +0000 (15:35 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 24 Sep 2019 22:54:08 +0000 (15:54 -0700)
For pages that were retained via get_user_pages*(), release those pages
via the new put_user_page*() routines, instead of via put_page() or
release_pages().

This is part a tree-wide conversion, as described in fc1d8e7cca2d ("mm:
introduce put_user_page*(), placeholder versions").

Also reverse the order of a comparison, in order to placate checkpatch.pl.

Link: http://lkml.kernel.org/r/20190724044537.10458-3-jhubbard@nvidia.com
Signed-off-by: John Hubbard <jhubbard@nvidia.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/gpu/drm/via/via_dmablit.c

index feaa538..3db000a 100644 (file)
@@ -174,7 +174,6 @@ via_map_blit_for_device(struct pci_dev *pdev,
 static void
 via_free_sg_info(struct pci_dev *pdev, drm_via_sg_info_t *vsg)
 {
-       struct page *page;
        int i;
 
        switch (vsg->state) {
@@ -189,13 +188,8 @@ via_free_sg_info(struct pci_dev *pdev, drm_via_sg_info_t *vsg)
                kfree(vsg->desc_pages);
                /* fall through */
        case dr_via_pages_locked:
-               for (i = 0; i < vsg->num_pages; ++i) {
-                       if (NULL != (page = vsg->pages[i])) {
-                               if (!PageReserved(page) && (DMA_FROM_DEVICE == vsg->direction))
-                                       SetPageDirty(page);
-                               put_page(page);
-                       }
-               }
+               put_user_pages_dirty_lock(vsg->pages, vsg->num_pages,
+                                         (vsg->direction == DMA_FROM_DEVICE));
                /* fall through */
        case dr_via_pages_alloc:
                vfree(vsg->pages);