[PATCH i-g-t] lib/gem_mman: Stop lying about I915_MMAP_OFFSET_GTT support

Kamil Konieczny kamil.konieczny at linux.intel.com
Fri Oct 11 08:21:47 UTC 2024


Hi Janusz,
On 2024-10-10 at 15:49:06 +0200, Janusz Krzysztofik wrote:
> A few tests depend on for_each_mmap_offset_type() helper used for
> selection of device supported mmap_offset types in loops either around
> dynamic sub-subtests or inside subtest bodies.  That helper in turn
> calls gem_has_mmap_offset_type() to omit unsupported mmap_offset types.
> Unfortunately, its code returns GTT as supported mmap_offset type also on
> new platforms that no longer support that type.  Poorly coded subtests may
> than take unexpected processing paths and return unexpected results that
> are not easy to understand and explain.
> 
> Fix it.
> 
> Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11370
> Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik at linux.intel.com>

LGTM,
Reviewed-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>

> ---
>  lib/i915/gem_mman.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/lib/i915/gem_mman.c b/lib/i915/gem_mman.c
> index 0b41ba70dd..cd0c65e213 100644
> --- a/lib/i915/gem_mman.c
> +++ b/lib/i915/gem_mman.c
> @@ -90,6 +90,8 @@ bool gem_has_mmap_offset_type(int fd, const struct mmap_offset *t)
>  	if (gem_has_mmap_offset(fd))
>  		if (gem_has_lmem(fd))
>  			return t->type == I915_MMAP_OFFSET_FIXED;
> +		else if (t->type == I915_MMAP_OFFSET_GTT)
> +			return gem_has_mappable_ggtt(fd);
>  		else
>  			return t->type != I915_MMAP_OFFSET_FIXED;
>  	else
> -- 
> 2.46.2
> 


More information about the igt-dev mailing list