drm/i915: don't allocate the ring in stolen if we lack aperture
authorMatthew Auld <matthew.auld@intel.com>
Tue, 29 Oct 2019 09:58:55 +0000 (09:58 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 29 Oct 2019 10:35:47 +0000 (10:35 +0000)
Since we have no way access it from the CPU. For such cases just
fallback to internal objects.

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/20191029095856.25431-6-matthew.auld@intel.com
drivers/gpu/drm/i915/gt/intel_ring.c

index fa01c14..ece2050 100644 (file)
@@ -108,7 +108,9 @@ static struct i915_vma *create_ring_vma(struct i915_ggtt *ggtt, int size)
        struct drm_i915_gem_object *obj;
        struct i915_vma *vma;
 
-       obj = i915_gem_object_create_stolen(i915, size);
+       obj = ERR_PTR(-ENODEV);
+       if (i915_ggtt_has_aperture(ggtt))
+               obj = i915_gem_object_create_stolen(i915, size);
        if (IS_ERR(obj))
                obj = i915_gem_object_create_internal(i915, size);
        if (IS_ERR(obj))