diff options
author | Matthew Auld <matthew.auld@intel.com> | 2022-03-15 21:14:21 +0300 |
---|---|---|
committer | Matthew Auld <matthew.auld@intel.com> | 2022-03-16 20:50:32 +0300 |
commit | d511d013e2869bed51191b6f70f8073e64c600a1 (patch) | |
tree | 70446cbd7cb08072a77225a00b497ef4641946f6 /drivers/gpu/drm/i915/gem/i915_gem_stolen.c | |
parent | b8ca8fef58d4656859a46a9d0e84821d3b6551b1 (diff) | |
download | linux-d511d013e2869bed51191b6f70f8073e64c600a1.tar.xz |
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 <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220315181425.576828-3-matthew.auld@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/gem/i915_gem_stolen.c')
-rw-r--r-- | drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c index b860ec954104..17f35892ab7e 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; |