drm/i915: Disable mmap ioctl for gen12+
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Tue, 1 Jun 2021 07:46:52 +0000 (09:46 +0200)
committerMatthew Auld <matthew.auld@intel.com>
Tue, 1 Jun 2021 08:55:45 +0000 (09:55 +0100)
The platform should exclusively use mmap_offset, one less path to worry
about for discrete.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210601074654.3103-14-thomas.hellstrom@linux.intel.com
drivers/gpu/drm/i915/gem/i915_gem_mman.c

index 8598a1c..65db290 100644 (file)
@@ -56,10 +56,17 @@ int
 i915_gem_mmap_ioctl(struct drm_device *dev, void *data,
                    struct drm_file *file)
 {
+       struct drm_i915_private *i915 = to_i915(dev);
        struct drm_i915_gem_mmap *args = data;
        struct drm_i915_gem_object *obj;
        unsigned long addr;
 
+       /* mmap ioctl is disallowed for all platforms after TGL-LP.  This also
+        * covers all platforms with local memory.
+        */
+       if (INTEL_GEN(i915) >= 12 && !IS_TIGERLAKE(i915))
+               return -EOPNOTSUPP;
+
        if (args->flags & ~(I915_MMAP_WC))
                return -EINVAL;