[AMD Official Use Only - General] Reviewed-by: Leo Liu <leo.liu@xxxxxxx> > -----Original Message----- > From: Wu, David <David.Wu3@xxxxxxx> > Sent: Thursday, May 9, 2024 3:59 PM > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx; Koenig, Christian > <Christian.Koenig@xxxxxxx> > Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Liu, Leo > <Leo.Liu@xxxxxxx>; Jiang, Sonny <Sonny.Jiang@xxxxxxx> > Subject: [PATCH] drm/amdgpu/vcn: set VCN5 power gating state to GATE on > suspend > > On suspend, we need to set power gating state to GATE when > VCN5 is busy, otherwise we will get following error on resume: > > [drm:amdgpu_ring_test_helper [amdgpu]] *ERROR* ring vcn_unified_0 test > failed (-110) > [drm:amdgpu_device_ip_resume_phase2 [amdgpu]] *ERROR* resume of IP > block <vcn_v5_0_0> failed -110 > amdgpu: amdgpu_device_ip_resume failed (-110). > PM: dpm_run_callback(): pci_pm_resume+0x0/0x100 returns -110 > PM: failed to resume async: error -110 > > Signed-off-by: David (Ming Qiang) Wu <David.Wu3@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c > b/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c > index 9b87d6a49b39..36d4ca645c56 100644 > --- a/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c > @@ -229,6 +229,13 @@ static int vcn_v5_0_0_hw_fini(void *handle) > for (i = 0; i < adev->vcn.num_vcn_inst; ++i) { > if (adev->vcn.harvest_config & (1 << i)) > continue; > + if (!amdgpu_sriov_vf(adev)) { > + if ((adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG) > || > + (adev->vcn.cur_state != > AMD_PG_STATE_GATE && > + RREG32_SOC15(VCN, i, regUVD_STATUS))) { > + vcn_v5_0_0_set_powergating_state(adev, > AMD_PG_STATE_GATE); > + } > + } > } > > return 0; > -- > 2.34.1