[PATCH 02/15] dma-buf: specify usage while adding fences to dma_resv obj v7

Christian König christian.koenig at amd.com
Thu Apr 7 13:13:05 UTC 2022


Am 07.04.22 um 15:08 schrieb Javier Martinez Canillas:
> Hello Christian,
>
> On 4/7/22 10:59, Christian König wrote:
>> Instead of distingting between shared and exclusive fences specify
>> the fence usage while adding fences.
>>
>> Rework all drivers to use this interface instead and deprecate the old one.
>>
> This patch broke compilation for the vc4 DRM driver.

My apologies for that. I've tried really hard to catch all cases, but 
looks like I missed some.

> I've this patch locally
> which seems to work but I don't know enough about the fence API to know if
> is correct.
>
> If you think is the proper fix then I can post it as a patch.

Yes, that patch looks absolutely correct to me.

Feel free to add an Reviewed-by: Christian König 
<christian.koenig at amd.com> and CC me so that I can push it to 
drm-misc-next ASAP.

Thanks,
Christian.

>
>  From 3e96db4827ef69b38927476659cbb4469a0246e6 Mon Sep 17 00:00:00 2001
> From: Javier Martinez Canillas <javierm at redhat.com>
> Date: Thu, 7 Apr 2022 14:54:07 +0200
> Subject: [PATCH] drm/vc4: Use newer fence API to fix build error
>
> The commit 73511edf8b19 ("dma-buf: specify usage while adding fences to
> dma_resv obj v7") ported all the DRM drivers to use the newer fence API
> that specifies the usage with the enum dma_resv_usage rather than doing
> an explicit shared / exclusive distinction.
>
> But the commit didn't do it properly in two callers of the vc4 driver,
> leading to build errors.
>
> Fixes: 73511edf8b19 ("dma-buf: specify usage while adding fences to dma_resv obj v7")
> Signed-off-by: Javier Martinez Canillas <javierm at redhat.com>
> ---
>   drivers/gpu/drm/vc4/vc4_gem.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c
> index 38550317e025..9eaf304fc20d 100644
> --- a/drivers/gpu/drm/vc4/vc4_gem.c
> +++ b/drivers/gpu/drm/vc4/vc4_gem.c
> @@ -546,7 +546,8 @@ vc4_update_bo_seqnos(struct vc4_exec_info *exec, uint64_t seqno)
>   		bo = to_vc4_bo(&exec->bo[i]->base);
>   		bo->seqno = seqno;
>   
> -		dma_resv_add_fence(bo->base.base.resv, exec->fence);
> +		dma_resv_add_fence(bo->base.base.resv, exec->fence,
> +				   DMA_RESV_USAGE_READ);
>   	}
>   
>   	list_for_each_entry(bo, &exec->unref_list, unref_head) {
> @@ -557,7 +558,8 @@ vc4_update_bo_seqnos(struct vc4_exec_info *exec, uint64_t seqno)
>   		bo = to_vc4_bo(&exec->rcl_write_bo[i]->base);
>   		bo->write_seqno = seqno;
>   
> -		dma_resv_add_excl_fence(bo->base.base.resv, exec->fence);
> +		dma_resv_add_fence(bo->base.base.resv, exec->fence,
> +				   DMA_RESV_USAGE_WRITE);
>   	}
>   }
>   



More information about the dri-devel mailing list