drm/ttm: fix highuser vs dma32 confusion.
Dave Airlie [Wed, 29 Jul 2009 06:56:52 +0000 (16:56 +1000)]
DMA32 and highmem are sort of exclusive.

Noticed by AndrewR on #radeon.

Signed-off-by: Dave Airlie <airlied@redhat.com>

drivers/gpu/drm/ttm/ttm_tt.c

index 9b2248a..b8b6c4a 100644 (file)
@@ -137,13 +137,15 @@ static void ttm_tt_free_page_directory(struct ttm_tt *ttm)
 
 static struct page *ttm_tt_alloc_page(unsigned page_flags)
 {
-       gfp_t gfp_flags = GFP_HIGHUSER;
+       gfp_t gfp_flags = GFP_USER;
 
        if (page_flags & TTM_PAGE_FLAG_ZERO_ALLOC)
                gfp_flags |= __GFP_ZERO;
 
        if (page_flags & TTM_PAGE_FLAG_DMA32)
                gfp_flags |= __GFP_DMA32;
+       else
+               gfp_flags |= __GFP_HIGHMEM;
 
        return alloc_page(gfp_flags);
 }