Re: [PATCH v3] drm/amdgpu: avoid force-completing uninitialized UVD rings
Christian König <[email protected]>
| Newsgroups | org.freedesktop.lists.amd-gfx |
|---|---|
| Message-ID | <[email protected]> |
On 8/19/26 08:43, Bob Zhou wrote:
> uvd_v7_0_sw_init() does not initialize the UVD decode ring for an
> SR-IOV VF. However, amdgpu_uvd_resume() unconditionally force-completes
> the decode ring when restoring its fence sequence.
>
> Skip fence completion when the fence driver is not initialized.
>
> Fixes: 043f2271e2d0 ("drm/amdgpu: mark force completed fences with -ECANCELED")
> Signed-off-by: Bob Zhou <[email protected]>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> index 228a405a94c4f..ecd7caa95d4b2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> @@ -517,7 +517,8 @@ int amdgpu_uvd_resume(struct amdgpu_device *adev)
> }
> memset_io(ptr, 0, size);
> /* to restore uvd fence seq */
> - amdgpu_fence_driver_force_completion(&adev->uvd.inst[i].ring, NULL);
> + if (adev->uvd.inst[i].ring.fence_drv.initialized)
> + amdgpu_fence_driver_force_completion(&adev->uvd.inst[i].ring, NULL);
That check should potentially be inside amdgpu_fence_driver_force_completion(), apart from that it looks good to me.
Regards,
Christian.
> }
> }
> return 0;