drm/i915: Allocate scratch page from stolen
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 1 Jul 2016 16:23:19 +0000 (17:23 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 1 Jul 2016 19:59:45 +0000 (20:59 +0100)
With the last direct CPU access to the scratch page removed, we can now
allocate it from our small amount of reserved system pages (stolen
memory).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1467390209-3576-10-git-send-email-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_ringbuffer.c

index 7ccfb1e57d121fa3af45606290f33e916e1b8730..3bc968b7aedcf1bf34c087469ca64240e9c43124 100644 (file)
@@ -665,7 +665,9 @@ int intel_init_pipe_control(struct intel_engine_cs *engine)
 
        WARN_ON(engine->scratch.obj);
 
-       obj = i915_gem_object_create(engine->i915->dev, 4096);
+       obj = i915_gem_object_create_stolen(engine->i915->dev, 4096);
+       if (!obj)
+               obj = i915_gem_object_create(engine->i915->dev, 4096);
        if (IS_ERR(obj)) {
                DRM_ERROR("Failed to allocate scratch page\n");
                ret = PTR_ERR(obj);