During testing make can_mmap consider whether the region is private.
Signed-off-by: Robert Beckett <[email protected]>
Reviewed-by: Thomas Hellström <[email protected]>
---
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)
--
2.25.1
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") ?
>
> Signed-off-by: Robert Beckett <[email protected]>
> Reviewed-by: Thomas Hellström <[email protected]>
> ---
> 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)
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 <[email protected]>
>>> Reviewed-by: Thomas Hellström <[email protected]>
>>> ---
>>> 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)
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.
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 <[email protected]>
>> Reviewed-by: Thomas Hellström <[email protected]>
>> ---
>> 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)
On 08/07/2022 14:27, Matthew Auld wrote:
> 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.
ah, okay. That makes sense to keep as is then.
I'll drop this patch.
Thanks.
>
>>
>> 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 <[email protected]>
>>>> Reviewed-by: Thomas Hellström <[email protected]>
>>>> ---
>>>> 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)