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)