drm/amd/pm: change return value in aldebaran_get_power_limit()
authorKevin Wang <kevin1.wang@amd.com>
Wed, 11 Aug 2021 08:03:40 +0000 (16:03 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 16 Aug 2021 19:17:35 +0000 (15:17 -0400)
v1:
1. change return value to avoid smu driver probe fails when FEATURE_PPT is
not enabled.
2. if FEATURE_PPT is not enabled, set power limit value to 0.

v2:
instead dev_err with dev_warn

Signed-off-by: Kevin Wang <kevin1.wang@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c

index de4f0c4..7510588 100644 (file)
@@ -1193,8 +1193,19 @@ static int aldebaran_get_power_limit(struct smu_context *smu,
        uint32_t power_limit = 0;
        int ret;
 
-       if (!smu_cmn_feature_is_enabled(smu, SMU_FEATURE_PPT_BIT))
-               return -EINVAL;
+       if (!smu_cmn_feature_is_enabled(smu, SMU_FEATURE_PPT_BIT)) {
+               if (current_power_limit)
+                       *current_power_limit = 0;
+               if (default_power_limit)
+                       *default_power_limit = 0;
+               if (max_power_limit)
+                       *max_power_limit = 0;
+
+               dev_warn(smu->adev->dev,
+                       "PPT feature is not enabled, power values can't be fetched.");
+
+               return 0;
+       }
 
        /* Valid power data is available only from primary die.
         * For secondary die show the value as 0.