[PATCH] drm/radeon: switch from get_user_pages to pin_user_pages
From: Seongjun Hong
Date: Thu Aug 27 2026 - 05:03:27 EST
Switch old api get_user_pages to pin_user_pages according to [1].
It guarantees these DMA pages are pinned.
[1] Documentation/core-api/pin_user_pages.rst
Signed-off-by: Seongjun Hong <hsj0512@xxxxxxxxx>
---
drivers/gpu/drm/radeon/radeon_ttm.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
index e7ab8162ac69..22fc35a0e8d8 100644
--- a/drivers/gpu/drm/radeon/radeon_ttm.c
+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
@@ -349,7 +349,7 @@ static int radeon_ttm_tt_pin_userptr(struct ttm_device *bdev, struct ttm_tt *ttm
uint64_t userptr = gtt->userptr + pinned * PAGE_SIZE;
struct page **pages = ttm->pages + pinned;
- r = get_user_pages(userptr, num_pages, write ? FOLL_WRITE : 0,
+ r = pin_user_pages(userptr, num_pages, write ? FOLL_WRITE : 0,
pages);
if (r < 0)
goto release_pages;
@@ -377,7 +377,7 @@ static int radeon_ttm_tt_pin_userptr(struct ttm_device *bdev, struct ttm_tt *ttm
kfree(ttm->sg);
release_pages:
- release_pages(ttm->pages, pinned);
+ unpin_user_pages(ttm->pages, pinned);
return r;
}
@@ -404,7 +404,7 @@ static void radeon_ttm_tt_unpin_userptr(struct ttm_device *bdev, struct ttm_tt *
set_page_dirty(page);
mark_page_accessed(page);
- put_page(page);
+ unpin_user_page(page);
}
sg_free_table(ttm->sg);
--
2.43.0