Re: [PATCH v10 04/11] drm/i915/gem: selftest should not attempt mmap of private regions

From: Matthew Auld
Date: Fri Jul 08 2022 - 09:27:25 EST


On 08/07/2022 14:22, Robert Beckett wrote:


On 08/07/2022 08:53, Matthew Auld wrote:
On 07/07/2022 21:02, Robert Beckett wrote:
During testing make can_mmap consider whether the region is private.

Do we still need this with: 938d2fd17d17 ("drm/i915/selftests: skip the mman tests for stolen") ?

huh, I guess not. That wasn't in my tree. I guess I should rebase.

Looking at it, my patch would have been preferable initially I think. Each location of the additional checks in that patch first call cam_mmap(), which I think is the most appropriate place to make the decision.

It fails at the object_create() I think (on small-BAR I mean), which is before we can call can_mmap(), passing in the object.


I could do a replacement patch that reverts that one if preferred, or we can leave it as is and I will drop this patch.




Signed-off-by: Robert Beckett <bob.beckett@xxxxxxxxxxxxx>
Reviewed-by: Thomas Hellström <thomas.hellstrom@xxxxxxxxxxxxxxx>
---
  drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
index 5bc93a1ce3e3..76181e28c75e 100644
--- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
@@ -869,6 +869,9 @@ static bool can_mmap(struct drm_i915_gem_object *obj, enum i915_mmap_type type)
      struct drm_i915_private *i915 = to_i915(obj->base.dev);
      bool no_map;
+    if (obj->mm.region && obj->mm.region->private)
+        return false;
+
      if (obj->ops->mmap_offset)
          return type == I915_MMAP_TYPE_FIXED;
      else if (type == I915_MMAP_TYPE_FIXED)