err_event_athub and dpc recovery will corrupt VCPU buffer,
so we need to restore fw data and clear buffer in amdgpu_vcn_resume()

Signed-off-by: Ce Sun <[email protected]>
Reviewed-by: Hawking Zhang <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
index 8d8b39e6d197..d8cd5f08ef05 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
@@ -353,9 +353,9 @@ int amdgpu_vcn_suspend(struct amdgpu_device *adev, int i)
 
        cancel_delayed_work_sync(&adev->vcn.inst[i].idle_work);
 
-       /* err_event_athub will corrupt VCPU buffer, so we need to
+       /* 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)
+       if (in_ras_intr || adev->pcie_reset_ctx.in_link_reset)
                return 0;
 
        return amdgpu_vcn_save_vcpu_bo_inst(adev, i);
-- 
2.34.1

Reply via email to