<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<p style="font-family:Arial;font-size:10pt;color:#0000FF;margin:5pt;" align="Left">
[AMD Official Use Only]<br>
</p>
<br>
<div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Acked-by: Alex Deucher <alexander.deucher@amd.com><br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Christian König <ckoenig.leichtzumerken@gmail.com><br>
<b>Sent:</b> Tuesday, November 16, 2021 5:43 AM<br>
<b>To:</b> amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org>; Deucher, Alexander <Alexander.Deucher@amd.com><br>
<b>Subject:</b> Re: [PATCH 2/6] drm/amdgpu: stop getting excl fence separately</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Adding Alex.<br>
<br>
Once more a ping to the mailing list.<br>
<br>
Thanks,<br>
Christian.<br>
<br>
Am 11.11.21 um 09:58 schrieb Christian König:<br>
> Just a ping to the amd-gfx list.<br>
><br>
> Trivial cleanup, can anybody give me an rb for that?<br>
><br>
> Thanks,<br>
> Christian.<br>
><br>
> Am 28.10.21 um 15:26 schrieb Christian König:<br>
>> Just grab all fences for the display flip in one go.<br>
>><br>
>> Signed-off-by: Christian König <christian.koenig@amd.com><br>
>> ---<br>
>>   drivers/gpu/drm/amd/amdgpu/amdgpu.h         | 1 -<br>
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 6 +-----<br>
>>   2 files changed, 1 insertion(+), 6 deletions(-)<br>
>><br>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h <br>
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu.h<br>
>> index d58e37fd01f4..4da7eb65e744 100644<br>
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h<br>
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h<br>
>> @@ -457,7 +457,6 @@ struct amdgpu_flip_work {<br>
>>       uint64_t            base;<br>
>>       struct drm_pending_vblank_event *event;<br>
>>       struct amdgpu_bo        *old_abo;<br>
>> -    struct dma_fence        *excl;<br>
>>       unsigned            shared_count;<br>
>>       struct dma_fence        **shared;<br>
>>       struct dma_fence_cb        cb;<br>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c <br>
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c<br>
>> index dc50c05f23fc..68108f151dad 100644<br>
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c<br>
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c<br>
>> @@ -83,9 +83,6 @@ static void amdgpu_display_flip_work_func(struct <br>
>> work_struct *__work)<br>
>>       unsigned i;<br>
>>       int vpos, hpos;<br>
>>   -    if (amdgpu_display_flip_handle_fence(work, &work->excl))<br>
>> -        return;<br>
>> -<br>
>>       for (i = 0; i < work->shared_count; ++i)<br>
>>           if (amdgpu_display_flip_handle_fence(work, &work->shared[i]))<br>
>>               return;<br>
>> @@ -203,7 +200,7 @@ int amdgpu_display_crtc_page_flip_target(struct <br>
>> drm_crtc *crtc,<br>
>>           goto unpin;<br>
>>       }<br>
>>   -    r = dma_resv_get_fences(new_abo->tbo.base.resv, &work->excl,<br>
>> +    r = dma_resv_get_fences(new_abo->tbo.base.resv, NULL,<br>
>>                   &work->shared_count, &work->shared);<br>
>>       if (unlikely(r != 0)) {<br>
>>           DRM_ERROR("failed to get fences for buffer\n");<br>
>> @@ -253,7 +250,6 @@ int amdgpu_display_crtc_page_flip_target(struct <br>
>> drm_crtc *crtc,<br>
>>     cleanup:<br>
>>       amdgpu_bo_unref(&work->old_abo);<br>
>> -    dma_fence_put(work->excl);<br>
>>       for (i = 0; i < work->shared_count; ++i)<br>
>>           dma_fence_put(work->shared[i]);<br>
>>       kfree(work->shared);<br>
><br>
<br>
</div>
</span></font></div>
</div>
</body>
</html>