[AMD Official Use Only - AMD Internal Distribution Only]

>-----Original Message-----
>From: amd-gfx <[email protected]> On Behalf Of Mario
>Limonciello
>Sent: Friday, October 10, 2025 2:29 AM
>To: Limonciello, Mario <[email protected]>; amd-
>[email protected]
>Cc: Robert Beckett <[email protected]>
>Subject: [PATCH v5 2/4] drm/amd: Remove second call to set_power_limit()
>
>The min/max limits only make sense for default PPT. Restructure
>smu_set_power_limit() to only use them in that case.
>
>Signed-off-by: Mario Limonciello <[email protected]>

Reviewed-by: Lijo Lazar <[email protected]>

Thanks,
Lijo

>---
>v5:
> * Re-order calls so that limit of "0" always resets to default limit
>   for all parts
>---
> drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 21 +++++++++------------
> 1 file changed, 9 insertions(+), 12 deletions(-)
>
>diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
>b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
>index 1c5f37cd5b75..a55f94b91bc9 100644
>--- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
>+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
>@@ -2966,20 +2966,17 @@ static int smu_set_power_limit(void *handle,
>uint32_t limit_type, uint32_t limit
>       if (!smu->pm_enabled || !smu->adev->pm.dpm_enabled)
>               return -EOPNOTSUPP;
>
>-      if (limit_type != SMU_DEFAULT_PPT_LIMIT)
>-              if (smu->ppt_funcs->set_power_limit)
>-                      return smu->ppt_funcs->set_power_limit(smu,
>limit_type, limit);
>-
>-      if ((limit > smu->max_power_limit) || (limit < smu->min_power_limit)) {
>-              dev_err(smu->adev->dev,
>-                      "New power limit (%d) is out of range [%d,%d]\n",
>-                      limit, smu->min_power_limit, smu->max_power_limit);
>-              return -EINVAL;
>+      if (limit_type == SMU_DEFAULT_PPT_LIMIT) {
>+              if (!limit)
>+                      limit = smu->current_power_limit;
>+              if ((limit > smu->max_power_limit) || (limit < smu-
>>min_power_limit)) {
>+                      dev_err(smu->adev->dev,
>+                              "New power limit (%d) is out of range
>[%d,%d]\n",
>+                              limit, smu->min_power_limit, smu-
>>max_power_limit);
>+                      return -EINVAL;
>+              }
>       }
>
>-      if (!limit)
>-              limit = smu->current_power_limit;
>-
>       if (smu->ppt_funcs->set_power_limit) {
>               ret = smu->ppt_funcs->set_power_limit(smu, limit_type, limit);
>               if (!ret && !(smu->user_dpm_profile.flags &
>SMU_DPM_USER_PROFILE_RESTORE))
>--
>2.51.0

<<attachment: winmail.dat>>

Reply via email to