[igt-dev] [PATCH i-g-t] tests/i915/kms_big_fb: Move intel_ibb_destroy out of test_cleanup

Karthik B S karthik.b.s at intel.com
Thu Jun 16 08:56:39 UTC 2022


On 6/16/2022 1:58 PM, Sharma, Swati2 wrote:
> LGTM
> Reviewed-by:  Swati Sharma <swati2.sharma at intel.com>

Hi Swati,

Thanks for the rb. Pushed the patch.

Thanks,
Karthik.B.S
>
> On 13-Jun-22 2:28 PM, Zbigniew Kempczyński wrote:
>> On Mon, Jun 13, 2022 at 11:54:47AM +0530, Karthik B S wrote:
>>> All the clean up functions were moved to fixture in patch "2aff4179".
>>> But this causes an assert in intel_bb_destory() after the test passes,
>>> on configurations having eDP connected.
>>>
>>> So moving the intel_bb_destroy() call back to the original function.
>>
>> Yes, calling intel_bb_destroy() in fixture is problematic. When test 
>> completes
>> we clean the allocator and initialize it from scratch for next test.
>>
>> With intel-bb and softpin during intel_bb_create() we open allocator 
>> (get ahnd)
>> which is not valid after test completes. So intel_bb_destroy() in 
>> fixture
>> will try to free all offsets for attached intel_bufs. Unfortunately 
>> allocator
>> was already reinitialized and there's no ahnd in it.
>>
>> Acked-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
>>
>> -- 
>> Zbigniew
>>
>>>
>>> Fixes: 2aff41793e5f ("tests/i915/kms_big_fb: Move cleanup code to 
>>> fixture")
>>>
>>> Signed-off-by: Karthik B S <karthik.b.s at intel.com>
>>> ---
>>>   tests/i915/kms_big_fb.c | 5 ++++-
>>>   1 file changed, 4 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/tests/i915/kms_big_fb.c b/tests/i915/kms_big_fb.c
>>> index abf974bb..d50fde45 100644
>>> --- a/tests/i915/kms_big_fb.c
>>> +++ b/tests/i915/kms_big_fb.c
>>> @@ -457,6 +457,8 @@ static bool test_pipe(data_t *data)
>>>       if (data->format == DRM_FORMAT_C8)
>>>           unset_lut(data);
>>>   +    intel_bb_destroy(data->ibb);
>>> +
>>>       return ret;
>>>   }
>>>   @@ -549,6 +551,8 @@ max_hw_stride_async_flip_test(data_t *data)
>>>       }
>>>       igt_reset_timeout();
>>>   +    intel_bb_destroy(data->ibb);
>>> +
>>>       return true;
>>>   }
>>>   @@ -763,7 +767,6 @@ static void test_cleanup(data_t *data)
>>>       igt_remove_fb(data->drm_fd, &data->big_fb_flip[1]);
>>>       igt_remove_fb(data->drm_fd, &data->small_fb);
>>>   -    intel_bb_destroy(data->ibb);
>>>       data->output = NULL;
>>>   }
>>>   --
>>> 2.22.0
>>>
>



More information about the igt-dev mailing list