diff mbox series

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

Message ID 20220707200230.1657555-5-bob.beckett@collabora.com (mailing list archive)
State New, archived
Headers show
Series drm/i915: ttm for stolen | expand

Commit Message

Bob Beckett July 7, 2022, 8:02 p.m. UTC
During testing make can_mmap consider whether the region is private.

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

Comments

Matthew Auld July 8, 2022, 7:53 a.m. UTC | #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 <bob.beckett@collabora.com>
> Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> ---
>   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)
Bob Beckett July 8, 2022, 1:22 p.m. UTC | #2
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 <bob.beckett@collabora.com>
>> Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>> ---
>>   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)
Matthew Auld July 8, 2022, 1:27 p.m. UTC | #3
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@collabora.com>
>>> Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>>> ---
>>>   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)
Bob Beckett July 8, 2022, 1:31 p.m. UTC | #4
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 <bob.beckett@collabora.com>
>>>> Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>>>> ---
>>>>   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)
diff mbox series

Patch

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)