On 04-Feb-26 10:51 AM, Wang, Yang(Kevin) wrote:
[AMD Official Use Only - AMD Internal Distribution Only]
I think you are confusing concepts. How do you explain the EXIT/MANUAL case
according to your logic?
I don't understand.
[1217924.810528] amdgpu 0000:44:00.0: amdgpu: Invalid performance level 512
[1217924.810537] amdgpu 0000:44:00.0: amdgpu: Failed to set performance
level 512
As per this error message, the user tried to set a performance level
which is invalid for the SOC. That is the correct behavior.
Thanks,
Lijo
Best Regards,
Kevin
-----Original Message-----
From: Lazar, Lijo <[email protected]>
Sent: Wednesday, February 4, 2026 12:49 PM
To: Wang, Yang(Kevin) <[email protected]>; [email protected]
Cc: Deucher, Alexander <[email protected]>; Zhang, Hawking
<[email protected]>; Feng, Kenneth <[email protected]>
Subject: Re: [PATCH] drm/amd/pm: fix missing handle PERF_DETERMINISM level in smu13
& 14 & 15
On 04-Feb-26 9:38 AM, Wang, Yang(Kevin) wrote:
[AMD Official Use Only - AMD Internal Distribution Only]
The term "invalid" in the dmesg log may cause ambiguity for customers.
I don't see anything wrong with that, it says it is not a valid mode this SOC.
Similarly, modes like AMD_DPM_FORCED_LEVEL_PROFILE_PEAK,
AMD_DPM_FORCED_LEVEL_PROFILE_STANDARD etc. are not valid on Aldebaran.
The software-defined performance levels shall be properly handled by all pm
swsmu/powerplay backends.
I don't see anything wrong in returning invalid for something which is
definitely invalid.
In addition, the kgd interface should provide a consistent set of APIs to
ensure that user-space programs (e.g., amd-smi) can invoke these interfaces
without issues.
That is missing a query interface for valid modes. It doesn't mean not
returning invalid for something that is definitely invalid.
Thanks,
Lijo
Best Regards,
Kevin
-----Original Message-----
From: Lazar, Lijo <[email protected]>
Sent: Wednesday, February 4, 2026 11:52 AM
To: Wang, Yang(Kevin) <[email protected]>;
[email protected]
Cc: Deucher, Alexander <[email protected]>; Zhang, Hawking
<[email protected]>; Feng, Kenneth <[email protected]>
Subject: Re: [PATCH] drm/amd/pm: fix missing handle PERF_DETERMINISM
level in smu13 & 14 & 15
On 04-Feb-26 9:17 AM, Yang Wang wrote:
add missing performance level AMD_DPM_FORCED_LEVEL_PERF_DETERMINISM in
smu13,14,15.
kernel dmesg log:
[1217924.810528] amdgpu 0000:44:00.0: amdgpu: Invalid performance
level 512 [1217924.810537] amdgpu 0000:44:00.0: amdgpu: Failed to set
performance level 512
Fixes: 6be6424684cb ("drm/amd/pm: Enable performance determinism on
aldebaran")
Determinism level is only available for specific SOCs, so the the error message
is still valid.
Thanks,
Lijo
Signed-off-by: Yang Wang <[email protected]>
---
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c | 1 +
drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c | 1 +
drivers/gpu/drm/amd/pm/swsmu/smu15/smu_v15_0.c | 1 +
3 files changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
index 63a65ea802fd..d17d6cd71028 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
@@ -1659,6 +1659,7 @@ int smu_v13_0_set_performance_level(struct smu_context
*smu,
break;
case AMD_DPM_FORCED_LEVEL_MANUAL:
case AMD_DPM_FORCED_LEVEL_PROFILE_EXIT:
+ case AMD_DPM_FORCED_LEVEL_PERF_DETERMINISM:
return 0;
default:
dev_err(adev->dev, "Invalid performance level %d\n",
level); diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c
b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c
index 7dc6687c3693..68ecba0d5e0b 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c
@@ -1321,6 +1321,7 @@ int smu_v14_0_set_performance_level(struct smu_context
*smu,
break;
case AMD_DPM_FORCED_LEVEL_MANUAL:
case AMD_DPM_FORCED_LEVEL_PROFILE_EXIT:
+ case AMD_DPM_FORCED_LEVEL_PERF_DETERMINISM:
return 0;
default:
dev_err(adev->dev, "Invalid performance level %d\n",
level); diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu15/smu_v15_0.c
b/drivers/gpu/drm/amd/pm/swsmu/smu15/smu_v15_0.c
index a2854d528bab..1860bd0f1091 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu15/smu_v15_0.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu15/smu_v15_0.c
@@ -1210,6 +1210,7 @@ int smu_v15_0_set_performance_level(struct smu_context
*smu,
break;
case AMD_DPM_FORCED_LEVEL_MANUAL:
case AMD_DPM_FORCED_LEVEL_PROFILE_EXIT:
+ case AMD_DPM_FORCED_LEVEL_PERF_DETERMINISM:
return 0;
default:
dev_err(adev->dev, "Invalid performance level %d\n",
level);