[PATCH v2] drm/amdgpu: complete gfxoff allow signal during suspend without delay

Harsh Jain harsh.jain at amd.com
Mon Nov 7 05:59:47 UTC 2022


change guarantees that gfxoff is allowed before moving further in
s2idle sequence to add more reliablity about gfxoff in amdgpu IP's
suspend flow

Signed-off-by: Harsh Jain <harsh.jain at amd.com>

---

v2: replaced flush_work with direct call to amdgpu_dpm_set_powergating_by_smu
and edited title
---

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
index 9546adc8a76f..a843804a94e0 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
@@ -584,8 +584,11 @@ void amdgpu_gfx_off_ctrl(struct amdgpu_device *adev, bool enable)
 		    !adev->gfx.gfx_off_state) {
 			/* If going to s2idle, no need to wait */
 			if (adev->in_s0ix)
-				delay = GFX_OFF_NO_DELAY;
-			schedule_delayed_work(&adev->gfx.gfx_off_delay_work,
+				if (!amdgpu_dpm_set_powergating_by_smu(adev,
+						AMD_IP_BLOCK_TYPE_GFX, true))
+					adev->gfx.gfx_off_state = true;
+			else
+				schedule_delayed_work(&adev->gfx.gfx_off_delay_work,
 					      delay);
 		}
 	} else {
-- 
2.25.1



More information about the amd-gfx mailing list