Looks good to me - thanks!
Reviewed-by: David (Ming Qiang) Wu <david....@amd.com>

On 2025-08-26 12:29, Alex Deucher wrote:
ping?

On Mon, Aug 25, 2025 at 9:48 AM Alex Deucher <alexander.deuc...@amd.com> wrote:
We need to cancel any outstanding work at both suspend
and driver teardown. Move the cancel to hw_fini which
gets called in both cases.

Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c | 6 ++----
  1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c
index 86573c8d9b91e..474bfe36c0c2f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c
@@ -436,6 +436,8 @@ static int vpe_hw_fini(struct amdgpu_ip_block *ip_block)
         struct amdgpu_device *adev = ip_block->adev;
         struct amdgpu_vpe *vpe = &adev->vpe;

+       cancel_delayed_work_sync(&adev->vpe.idle_work);
+
         vpe_ring_stop(vpe);

         /* Power off VPE */
@@ -446,10 +448,6 @@ static int vpe_hw_fini(struct amdgpu_ip_block *ip_block)

  static int vpe_suspend(struct amdgpu_ip_block *ip_block)
  {
-       struct amdgpu_device *adev = ip_block->adev;
-
-       cancel_delayed_work_sync(&adev->vpe.idle_work);
-
         return vpe_hw_fini(ip_block);
  }

--
2.51.0

Reply via email to