drm/i915: Reinstate the mmap ioctl for some platforms
authorThomas Hellström <thomas.hellstrom@linux.intel.com>
Thu, 24 Jun 2021 11:29:14 +0000 (13:29 +0200)
committerMatthew Auld <matthew.auld@intel.com>
Fri, 25 Jun 2021 09:08:56 +0000 (10:08 +0100)
Reinstate the mmap ioctl for all current integrated platforms.
The intention was really to have it disabled for discrete graphics
where we enforce a single mmap mode.

This was reported to break ADL-P with the media stack, which was not the
intention. Although longer term we do still plan to sunset this ioctl
even for integrated, in favour of using mmap_offset instead.

Fixes: 35cbd91eb541 ("drm/i915: Disable mmap ioctl for gen12+")
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210624112914.311984-1-thomas.hellstrom@linux.intel.com
drivers/gpu/drm/i915/gem/i915_gem_mman.c

index 6497a2d..a90f796 100644 (file)
@@ -62,10 +62,11 @@ i915_gem_mmap_ioctl(struct drm_device *dev, void *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.
+       /*
+        * mmap ioctl is disallowed for all discrete platforms,
+        * and for all platforms with GRAPHICS_VER > 12.
         */
-       if (GRAPHICS_VER(i915) >= 12 && !IS_TIGERLAKE(i915))
+       if (IS_DGFX(i915) || GRAPHICS_VER(i915) > 12)
                return -EOPNOTSUPP;
 
        if (args->flags & ~(I915_MMAP_WC))