[PATCH 1/3] drm/amdgpu: ungate power gating when system suspend
Yuan, Perry
Perry.Yuan at amd.com
Tue Oct 24 14:47:11 UTC 2023
[AMD Official Use Only - General]
Hi Kevin, Kenneth,
Thanks for the review and ack, will pick it up in v2.
Regards.
Perry
> -----Original Message-----
> From: Wang, Yang(Kevin) <KevinYang.Wang at amd.com>
> Sent: Tuesday, October 24, 2023 4:15 PM
> To: Feng, Kenneth <Kenneth.Feng at amd.com>; Yuan, Perry
> <Perry.Yuan at amd.com>; Zhang, Yifan <Yifan1.Zhang at amd.com>;
> Limonciello, Mario <Mario.Limonciello at amd.com>
> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; amd-
> gfx at lists.freedesktop.org
> Subject: RE: [PATCH 1/3] drm/amdgpu: ungate power gating when system
> suspend
>
> [AMD Official Use Only - General]
>
> Acked-by: Yang Wang <kevinyang.wang at amd.com>
>
> Best Regards,
> Kevin
>
> -----Original Message-----
> From: Feng, Kenneth <Kenneth.Feng at amd.com>
> Sent: Tuesday, October 24, 2023 2:33 PM
> To: Yuan, Perry <Perry.Yuan at amd.com>; Zhang, Yifan
> <Yifan1.Zhang at amd.com>; Limonciello, Mario
> <Mario.Limonciello at amd.com>
> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Wang, Yang(Kevin)
> <KevinYang.Wang at amd.com>; amd-gfx at lists.freedesktop.org
> Subject: RE: [PATCH 1/3] drm/amdgpu: ungate power gating when system
> suspend
>
> [AMD Official Use Only - General]
>
> Reviewed-by: Kenneth Feng <kenneth.feng at amd.com>
>
>
> -----Original Message-----
> From: Yuan, Perry <Perry.Yuan at amd.com>
> Sent: Tuesday, October 24, 2023 10:33 AM
> To: Zhang, Yifan <Yifan1.Zhang at amd.com>; Feng, Kenneth
> <Kenneth.Feng at amd.com>; Limonciello, Mario
> <Mario.Limonciello at amd.com>
> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Wang, Yang(Kevin)
> <KevinYang.Wang at amd.com>; amd-gfx at lists.freedesktop.org
> Subject: [PATCH 1/3] drm/amdgpu: ungate power gating when system
> suspend
>
> [Why] During suspend, if GFX DPM is enabled and GFXOFF feature is enabled
> the system may get hung. So, it is suggested to disable GFXOFF feature
> during suspend and enable it after resume.
>
> [How] Update the code to disable GFXOFF feature during suspend and
> enable it after resume.
>
> [ 311.396526] amdgpu 0000:03:00.0: amdgpu: SMU: I'm not done with your
> previous command: SMN_C2PMSG_66:0x0000001E
> SMN_C2PMSG_82:0x00000000 [ 311.396530] amdgpu 0000:03:00.0: amdgpu:
> Fail to disable dpm features!
> [ 311.396531] [drm:amdgpu_device_ip_suspend_phase2 [amdgpu]]
> *ERROR* suspend of IP block <smu> failed -62
>
> Signed-off-by: Perry Yuan <perry.yuan at amd.com>
> Signed-off-by: Kun Liu <kun.liu2 at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
> b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
> index d9ccacd06fba..6399bc71c56d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
> @@ -3498,6 +3498,8 @@ static void gfx_v10_0_ring_invalidate_tlbs(struct
> amdgpu_ring *ring, static void
> gfx_v10_0_update_spm_vmid_internal(struct amdgpu_device *adev,
> unsigned int vmid);
>
> +static int gfx_v10_0_set_powergating_state(void *handle,
> + enum amd_powergating_state state);
> static void gfx10_kiq_set_resources(struct amdgpu_ring *kiq_ring, uint64_t
> queue_mask) {
> amdgpu_ring_write(kiq_ring, PACKET3(PACKET3_SET_RESOURCES, 6));
> @@ -7172,6 +7174,13 @@ static int gfx_v10_0_hw_fini(void *handle)
> amdgpu_irq_put(adev, &adev->gfx.priv_reg_irq, 0);
> amdgpu_irq_put(adev, &adev->gfx.priv_inst_irq, 0);
>
> + /* WA added for Vangogh asic fixing the SMU suspend failure
> + * It needs to set power gating again during gfxoff control
> + * otherwise the gfxoff disallowing will be failed to set.
> + */
> + if (amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(10, 3, 1))
> + gfx_v10_0_set_powergating_state(handle,
> AMD_PG_STATE_UNGATE);
> +
> if (!adev->no_hw_access) {
> if (amdgpu_async_gfx_ring) {
> if (amdgpu_gfx_disable_kgq(adev, 0))
> --
> 2.34.1
>
>
More information about the amd-gfx
mailing list