drm/i915/gem: Early rejection of no-aperture map_ggtt
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 5 Nov 2019 14:53:05 +0000 (14:53 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 6 Nov 2019 12:09:44 +0000 (12:09 +0000)
If the device does not have an aperture through which we can indirectly
access and detile the buffers, simply reject the ioctl. Later we can
extend the ioctl to support different modes, but as an extension the
user must opt in and explicitly control the mmap type (viz
MMAP_OFFSET_IOCTL).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191105145305.14314-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gem/i915_gem_mman.c

index e300284..d609736 100644 (file)
@@ -450,6 +450,9 @@ i915_gem_mmap_gtt(struct drm_file *file,
        struct drm_i915_gem_object *obj;
        int ret;
 
+       if (!i915_ggtt_has_aperture(&to_i915(dev)->ggtt))
+               return -ENODEV;
+
        obj = i915_gem_object_lookup(file, handle);
        if (!obj)
                return -ENOENT;