OSDN Git Service

drm/amdgpu/sriov skip the update of SMU_TABLE_ACTIVITY_MONITOR_COEFF
authorJack Zhang <Jack.Zhang1@amd.com>
Wed, 15 Jan 2020 09:03:31 +0000 (17:03 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 16 Jan 2020 18:35:45 +0000 (13:35 -0500)
There's no need to dump ACTIVITY_MONITOR_COEFF under VF.
Therefore, Skip the update of SMU_TABLE_ACTIVITY_MONITOR_COEFF
under SRIOV VF.

Signed-off-by: Jack Zhang <Jack.Zhang1@amd.com>
Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/arcturus_ppt.c

index 1c15c6f..14ba6aa 100644 (file)
@@ -1318,6 +1318,7 @@ static int arcturus_get_power_limit(struct smu_context *smu,
 static int arcturus_get_power_profile_mode(struct smu_context *smu,
                                           char *buf)
 {
+       struct amdgpu_device *adev = smu->adev;
        DpmActivityMonitorCoeffInt_t activity_monitor;
        static const char *profile_name[] = {
                                        "BOOTUP_DEFAULT",
@@ -1351,7 +1352,7 @@ static int arcturus_get_power_profile_mode(struct smu_context *smu,
        if (result)
                return result;
 
-       if (smu_version >= 0x360d00)
+       if (smu_version >= 0x360d00 && !amdgpu_sriov_vf(adev))
                size += sprintf(buf + size, "%16s %s %s %s %s %s %s %s %s %s %s\n",
                        title[0], title[1], title[2], title[3], title[4], title[5],
                        title[6], title[7], title[8], title[9], title[10]);
@@ -1368,7 +1369,7 @@ static int arcturus_get_power_profile_mode(struct smu_context *smu,
                if (workload_type < 0)
                        continue;
 
-               if (smu_version >= 0x360d00) {
+               if (smu_version >= 0x360d00 && !amdgpu_sriov_vf(adev)) {
                        result = smu_update_table(smu,
                                                  SMU_TABLE_ACTIVITY_MONITOR_COEFF,
                                                  workload_type,
@@ -1383,7 +1384,7 @@ static int arcturus_get_power_profile_mode(struct smu_context *smu,
                size += sprintf(buf + size, "%2d %14s%s\n",
                        i, profile_name[i], (i == smu->power_profile_mode) ? "*" : " ");
 
-               if (smu_version >= 0x360d00) {
+               if (smu_version >= 0x360d00 && !amdgpu_sriov_vf(adev)) {
                        size += sprintf(buf + size, "%19s %d(%13s) %7d %7d %7d %7d %7d %7d %7d %7d %7d\n",
                                " ",
                                0,