drm/i915: allocate context from LMEM
authorMatthew Auld <matthew.auld@intel.com>
Wed, 27 Jan 2021 13:14:15 +0000 (13:14 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 24 Mar 2021 18:30:36 +0000 (19:30 +0100)
Prefer allocating the context from LMEM on dgfx.

Based on a patch from Michel Thierry.

v2: flatten the chain

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20210127131417.393872-6-matthew.auld@intel.com
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/gt/intel_lrc.c

index 94f485b..1eb11b7 100644 (file)
@@ -3,6 +3,8 @@
  * Copyright © 2014 Intel Corporation
  */
 
+#include "gem/i915_gem_lmem.h"
+
 #include "gen8_engine_cs.h"
 #include "i915_drv.h"
 #include "i915_perf.h"
@@ -808,7 +810,9 @@ __lrc_alloc_state(struct intel_context *ce, struct intel_engine_cs *engine)
                context_size += PAGE_SIZE;
        }
 
-       obj = i915_gem_object_create_shmem(engine->i915, context_size);
+       obj = i915_gem_object_create_lmem(engine->i915, context_size, 0);
+       if (IS_ERR(obj))
+               obj = i915_gem_object_create_shmem(engine->i915, context_size);
        if (IS_ERR(obj))
                return ERR_CAST(obj);