[PATCH 07/23] drm/vmwgfx: stop using dma_resv_excl_fence

Christian König christian.koenig at amd.com
Mon Mar 21 14:12:48 UTC 2022


Am 21.03.22 um 15:02 schrieb Zack Rusin:
> On Mon, 2022-03-21 at 14:58 +0100, Christian König wrote:
>> ⚠ External Email: This email originated from outside of the
>> organization. Do not click links or open attachments unless you
>> recognize the sender.
>>
>> Instead use the new dma_resv_get_singleton function.
>>
>> Signed-off-by: Christian König <christian.koenig at amd.com>
>> Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
>> Cc: VMware Graphics <linux-graphics-maintainer at vmware.com>
>> Cc: Zack Rusin <zackr at vmware.com>
>> ---
>>   drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | 6 ++++--
>>   1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
>> b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
>> index 708899ba2102..36c3b5db7e69 100644
>> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
>> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
>> @@ -1165,8 +1165,10 @@ int vmw_resources_clean(struct
>> vmw_buffer_object *vbo, pgoff_t start,
>>                  vmw_bo_fence_single(bo, NULL);
>>                  if (bo->moving)
>>                          dma_fence_put(bo->moving);
>> -               bo->moving = dma_fence_get
>> -                       (dma_resv_excl_fence(bo->base.resv));
>> +
>> +               /* TODO: This is actually a memory management
>> dependency */
>> +               return dma_resv_get_singleton(bo->base.resv, false,
>> +                                             &bo->moving);
>>          }
>>
>>          return 0;
>> --
>> 2.25.1
>>
> Sorry, I haven't had the time to go over the entire series, the patch
> looks good, but what's the memory management dependency the todo
> mentions?

Previously the function installed only the exclusive fence as moving 
fence into the BO.
Now it grabs all fences and installs them as moving fence into the BO.

But what we really need is tracking if a fence in the reservation object 
is a kernel memory management dependency or not.

Patch #19 adds that and patch #23 then finally gets rid of the whole 
bo->moving handling here because it becomes completely unnecessary.

I can drop the comment if you want or just note that it is only 
temporary until the follow up patches are merged.

Regards,
Christian.


>
> z
>



More information about the dri-devel mailing list