projects
/
platform
/
kernel
/
linux-rpi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
19c329f
)
drm/ttm: stop using GFP_TRANSHUGE_LIGHT
author
Christian König
<christian.koenig@amd.com>
Wed, 13 Jan 2021 13:02:04 +0000
(14:02 +0100)
committer
Christian König
<christian.koenig@amd.com>
Mon, 18 Jan 2021 08:26:21 +0000
(09:26 +0100)
The only flag we really need is __GFP_NOMEMALLOC, highmem depends on
dma32 and moveable/compound should never be set in the first place.
Signed-off-by: Christian König <christian.koenig@amd.com>
Link:
https://patchwork.freedesktop.org/patch/413812/
Link:
https://patchwork.freedesktop.org/patch/413964/
Fixes:
d099fc8f540a
("drm/ttm: new TT backend allocation pool v3")
Reported-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/ttm/ttm_pool.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/ttm/ttm_pool.c
b/drivers/gpu/drm/ttm/ttm_pool.c
index
8cd776a
..
11e0313
100644
(file)
--- a/
drivers/gpu/drm/ttm/ttm_pool.c
+++ b/
drivers/gpu/drm/ttm/ttm_pool.c
@@
-79,12
+79,13
@@
static struct page *ttm_pool_alloc_page(struct ttm_pool *pool, gfp_t gfp_flags,
struct page *p;
void *vaddr;
- if (order) {
- gfp_flags |= GFP_TRANSHUGE_LIGHT | __GFP_NORETRY |
+ /* Don't set the __GFP_COMP flag for higher order allocations.
+ * Mapping pages directly into an userspace process and calling
+ * put_page() on a TTM allocated page is illegal.
+ */
+ if (order)
+ gfp_flags |= __GFP_NOMEMALLOC | __GFP_NORETRY |
__GFP_KSWAPD_RECLAIM;
- gfp_flags &= ~__GFP_MOVABLE;
- gfp_flags &= ~__GFP_COMP;
- }
if (!pool->use_dma_alloc) {
p = alloc_pages(gfp_flags, order);