[Intel-gfx] [PATCH 6/7] drm/i915: don't allocate the ring in stolen if we lack aperture
Daniele Ceraolo Spurio
daniele.ceraolospurio at intel.com
Tue Oct 29 21:46:46 UTC 2019
On 10/29/19 2:58 AM, Matthew Auld wrote:
> Since we have no way access it from the CPU. For such cases just
> fallback to internal objects.
>
Since the problem is not limited to rings but it applies to all stolen
objects, wouldn't it be better to just skip the stolen initialization or
return an error from i915_gem_object_create_stolen()?
Daniele
> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> ---
> drivers/gpu/drm/i915/gt/intel_ring.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_ring.c b/drivers/gpu/drm/i915/gt/intel_ring.c
> index fa01c1407760..ece20504d240 100644
> --- a/drivers/gpu/drm/i915/gt/intel_ring.c
> +++ b/drivers/gpu/drm/i915/gt/intel_ring.c
> @@ -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))
>
More information about the Intel-gfx
mailing list