From: Matthew Auld Date: Tue, 15 Mar 2022 18:14:21 +0000 (+0000) Subject: drm/i915/stolen: consider I915_BO_ALLOC_GPU_ONLY X-Git-Tag: v6.6.17~3937^2~16^2~975 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d511d013e2869bed51191b6f70f8073e64c600a1;p=platform%2Fkernel%2Flinux-rpi.git drm/i915/stolen: consider I915_BO_ALLOC_GPU_ONLY Keep the behaviour consistent with normal lmem, where we assume CPU access if by default required. Signed-off-by: Matthew Auld Cc: Thomas Hellström Reviewed-by: Nirmoy Das Link: https://patchwork.freedesktop.org/patch/msgid/20220315181425.576828-3-matthew.auld@intel.com --- diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c index b860ec95..17f3589 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c @@ -695,6 +695,14 @@ static int _i915_gem_object_stolen_init(struct intel_memory_region *mem, if (size == 0) return -EINVAL; + /* + * With discrete devices, where we lack a mappable aperture there is no + * possible way to ever access this memory on the CPU side. + */ + if (mem->type == INTEL_MEMORY_STOLEN_LOCAL && !mem->io_size && + !(flags & I915_BO_ALLOC_GPU_ONLY)) + return -ENOSPC; + stolen = kzalloc(sizeof(*stolen), GFP_KERNEL); if (!stolen) return -ENOMEM;