[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