[PATCH 23/23] drm/ttm: remove bo->moving
Christian König
christian.koenig at amd.com
Tue Apr 5 09:25:35 UTC 2022
Am 29.03.22 um 18:02 schrieb Daniel Vetter:
> On Mon, Mar 21, 2022 at 02:58:56PM +0100, Christian König wrote:
> [SNIP]
>> static unsigned long ttm_bo_io_mem_pfn(struct ttm_buffer_object *bo,
>> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
>> index f999fdd927df..c6d02c98a19a 100644
>> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
>> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
>> @@ -1163,12 +1163,6 @@ int vmw_resources_clean(struct vmw_buffer_object *vbo, pgoff_t start,
>> *num_prefault = __KERNEL_DIV_ROUND_UP(last_cleaned - res_start,
>> PAGE_SIZE);
>> vmw_bo_fence_single(bo, NULL);
>> - if (bo->moving)
>> - dma_fence_put(bo->moving);
>> -
>> - return dma_resv_get_singleton(bo->base.resv,
>> - DMA_RESV_USAGE_KERNEL,
>> - &bo->moving);
> This seems to be entirely misplaced and I'm pretty sure doesn't even
> compile interim.
Mhm, removing that is correctly placed as far as I can see.
What VMWGFX does here is to update bo->moving to please TTM, but since
we now drop the bo->moving fence from TTM and always wait for all fences
with DMA_RESV_USAGE_KERNEL before allowing CPU access that workaround
isn't necessary any more.
>> }
>>
>> return 0;
>> diff --git a/include/drm/ttm/ttm_bo_api.h b/include/drm/ttm/ttm_bo_api.h
>> index c17b2df9178b..4c7134550262 100644
>> --- a/include/drm/ttm/ttm_bo_api.h
>> +++ b/include/drm/ttm/ttm_bo_api.h
>> @@ -97,7 +97,6 @@ struct ttm_tt;
>> * @lru: List head for the lru list.
>> * @ddestroy: List head for the delayed destroy list.
>> * @swap: List head for swap LRU list.
>> - * @moving: Fence set when BO is moving
>> * @offset: The current GPU offset, which can have different meanings
>> * depending on the memory type. For SYSTEM type memory, it should be 0.
>> * @cur_placement: Hint of current placement.
>> @@ -150,7 +149,6 @@ struct ttm_buffer_object {
>> * Members protected by a bo reservation.
>> */
>>
>> - struct dma_fence *moving;
>> unsigned priority;
>> unsigned pin_count;
> Aside from the vmwgfx thing this looks good. With the vmwgfx patch split
> issue (I think it's just that) fixed:
>
> Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
Is it enough if I explain why we update VMWGFX in the commit message?
Thanks,
Christian.
>
>>
>> --
>> 2.25.1
>>
More information about the dri-devel
mailing list