On Wed, Aug 20, 2025 at 3:29 PM Wu, David <david....@amd.com> wrote:
>
> [AMD Official Use Only - AMD Internal Distribution Only]
>
>
> one thing I noticed:
>    amdgpu_vcn_suspend() also gets called in vcn_v2_5_sw_fini() for example
>    where there isn't cancel_delayed_work_sync() call. Does the removal work 
> in this case?

The sw callbacks are not supposed to touch any hardware, so that's
wrong to begin with.  That said, this should never end up doing
anything because we've already cancelled the delayed worker in hw_fini
and after hw_fini the hw is stopped so no work should be outstanding.

Alex

>
> David
> On 8/20/2025 2:36 PM, Alex Deucher wrote:
>
> Ping?
>
> On Wed, Aug 13, 2025 at 3:37 PM Alex Deucher <alexander.deuc...@amd.com> 
> wrote:
>
> We already call this in the hw_fini() methods for all
> VCN instances, so no need to call it again in
> amdgpu_vcn_suspend().
>
> Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> index 9a76e11d1c184..fd8ebf4b5a824 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> @@ -357,8 +357,6 @@ int amdgpu_vcn_suspend(struct amdgpu_device *adev, int i)
>         if (adev->vcn.harvest_config & (1 << i))
>                 return 0;
>
> -       cancel_delayed_work_sync(&adev->vcn.inst[i].idle_work);
> -
>         /* err_event_athub and dpc recovery will corrupt VCPU buffer, so we 
> need to
>          * restore fw data and clear buffer in amdgpu_vcn_resume() */
>         if (in_ras_intr || adev->pcie_reset_ctx.in_link_reset)
> --
> 2.50.1
>
>

Reply via email to