diff mbox series

[v3] drm/i915: Reinstate the mmap ioctl for some platforms

Message ID 20210628092106.55270-1-thomas.hellstrom@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series [v3] drm/i915: Reinstate the mmap ioctl for some platforms | expand

Commit Message

Thomas Hellström June 28, 2021, 9:21 a.m. UTC
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 fixes media on rkl/adl.

v2:
- Added a R-B.
- Fixed up the code comment a bit.
v3:
- Added an A-B.
- Point out in the commit message that there was an issue with media on
  rkl/adl.

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>
---
 drivers/gpu/drm/i915/gem/i915_gem_mman.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Matthew Auld June 28, 2021, 10:59 a.m. UTC | #1
On 28/06/2021 10:21, Thomas Hellström wrote:
> 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 fixes media on rkl/adl.
> 
> v2:
> - Added a R-B.
> - Fixed up the code comment a bit.
> v3:
> - Added an A-B.
> - Point out in the commit message that there was an issue with media on
>    rkl/adl.
> 
> 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>

I already pushed v2 of this last week with the following amended:

"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."

> ---
>   drivers/gpu/drm/i915/gem/i915_gem_mman.c | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
> index 6497a2dbdab9..a90f796e85c0 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
> @@ -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))
>
Thomas Hellström June 28, 2021, 11:01 a.m. UTC | #2
On 6/28/21 12:59 PM, Matthew Auld wrote:
> On 28/06/2021 10:21, Thomas Hellström wrote:
>> 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 fixes media on rkl/adl.
>>
>> v2:
>> - Added a R-B.
>> - Fixed up the code comment a bit.
>> v3:
>> - Added an A-B.
>> - Point out in the commit message that there was an issue with media on
>>    rkl/adl.
>>
>> 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>
>
> I already pushed v2 of this last week with the following amended:
>
> "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."
>
Ah, OK.

Thanks.

Thomas
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
index 6497a2dbdab9..a90f796e85c0 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
@@ -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))