]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/i915: Silently fallback to 4k scratch
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 10 Oct 2017 11:10:05 +0000 (12:10 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 10 Oct 2017 16:42:56 +0000 (17:42 +0100)
If we fail to allocate a 64k hugepage for scratch, we try again with a
normal 4k page (with some loss of efficiency at runtime). As we handle
this gracefully, we do not need a noisy allocation failure warning.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.william.auld@gmail.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171010111005.13625-1-chris@chris-wilson.co.uk
Reviewed-by: Matthew Auld <matthew.william.auld@gmail.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/i915_gem_gtt.c

index 4c605785e2b30bfa0906256c81a901d5d532c093..ca7fd34fbe8b938d8d64739ae4c112132e0d73c4 100644 (file)
@@ -538,7 +538,7 @@ setup_scratch_page(struct i915_address_space *vm, gfp_t gfp)
        if (i915_vm_is_48bit(vm) &&
            HAS_PAGE_SIZES(vm->i915, I915_GTT_PAGE_SIZE_64K)) {
                order = get_order(I915_GTT_PAGE_SIZE_64K);
-               page = alloc_pages(gfp | __GFP_ZERO, order);
+               page = alloc_pages(gfp | __GFP_ZERO | __GFP_NOWARN, order);
                if (page) {
                        addr = dma_map_page(vm->dma, page, 0,
                                            I915_GTT_PAGE_SIZE_64K,