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)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Mon, 28 Jun 2021 11:43:56 +0000 (07:43 -0400)
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
(cherry picked from commit d3f3baa3562a5d09f3e87f5fdf84952112807753)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/gem/i915_gem_mman.c

index ee0bf88..2153267 100644 (file)
@@ -61,10 +61,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))