[PATCH] drm/amdgpu: disable gfxoff with the compute workload on gfx12

Wang, Yang(Kevin) KevinYang.Wang at amd.com
Fri Jan 10 01:49:14 UTC 2025


[AMD Official Use Only - AMD Internal Distribution Only]

Reviewed-by: Yang Wang <kevinyang.wang at amd.com>

Best Regards,
Kevin

-----Original Message-----
From: Kenneth Feng <kenneth.feng at amd.com>
Sent: Thursday, January 9, 2025 16:25
To: amd-gfx at lists.freedesktop.org
Cc: Wang, Yang(Kevin) <KevinYang.Wang at amd.com>; Feng, Kenneth <Kenneth.Feng at amd.com>
Subject: [PATCH] drm/amdgpu: disable gfxoff with the compute workload on gfx12

Disable gfxoff with the compute workload on gfx12. This is a workaround for the opencl test failure.

Signed-off-by: Kenneth Feng <kenneth.feng at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
index 2e5732dfd425..e4cf25c47509 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
@@ -715,8 +715,10 @@ int amdgpu_amdkfd_submit_ib(struct amdgpu_device *adev,  void amdgpu_amdkfd_set_compute_idle(struct amdgpu_device *adev, bool idle)  {
        enum amd_powergating_state state = idle ? AMD_PG_STATE_GATE : AMD_PG_STATE_UNGATE;
-       if (IP_VERSION_MAJ(amdgpu_ip_version(adev, GC_HWIP, 0)) == 11 &&
-           ((adev->mes.kiq_version & AMDGPU_MES_VERSION_MASK) <= 64)) {
+       if ((IP_VERSION_MAJ(amdgpu_ip_version(adev, GC_HWIP, 0)) == 11 &&
+           ((adev->mes.kiq_version & AMDGPU_MES_VERSION_MASK) <= 64)) ||
+               (IP_VERSION_MAJ(amdgpu_ip_version(adev, GC_HWIP, 0)) == 12 &&
+           ((adev->mes.kiq_version & AMDGPU_MES_VERSION_MASK) > 0x6C))) {
                pr_debug("GFXOFF is %s\n", idle ? "enabled" : "disabled");
                amdgpu_gfx_off_ctrl(adev, idle);
        } else if ((IP_VERSION_MAJ(amdgpu_ip_version(adev, GC_HWIP, 0)) == 9) &&
--
2.34.1



More information about the amd-gfx mailing list