drm/amdgpu: skip the invalid workload type
authorPerry Yuan <perry.yuan@amd.com>
Thu, 23 Feb 2023 07:10:45 +0000 (15:10 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 7 Mar 2023 19:22:39 +0000 (14:22 -0500)
If some invalid workload types exposed by the power profile sysfs node,
it will be failed to set the unsuported profiles.
So we can skip to show the invalid workload type in the profiles list to
avoid that failure happen.

Acked-by: Kenneth Feng <kenneth.feng@amd.com>
Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Perry Yuan <perry.yuan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c

index 27448ff..e9766fe 100644 (file)
@@ -1587,7 +1587,9 @@ static int smu_v13_0_0_get_power_profile_mode(struct smu_context *smu,
                workload_type = smu_cmn_to_asic_specific_index(smu,
                                                               CMN2ASIC_MAPPING_WORKLOAD,
                                                               i);
-               if (workload_type < 0)
+               if (workload_type == -ENOTSUPP)
+                       continue;
+               else if (workload_type < 0)
                        return -EINVAL;
 
                result = smu_cmn_update_table(smu,
index 9e1967d..1b2c824 100644 (file)
@@ -1479,7 +1479,9 @@ static int smu_v13_0_7_get_power_profile_mode(struct smu_context *smu, char *buf
                workload_type = smu_cmn_to_asic_specific_index(smu,
                                                               CMN2ASIC_MAPPING_WORKLOAD,
                                                               i);
-               if (workload_type < 0) {
+               if (workload_type == -ENOTSUPP)
+                       continue;
+               else if (workload_type < 0) {
                        result = -EINVAL;
                        goto out;
                }