drm/amdgpu: Use function for IP version check
[linux-block.git] / drivers / gpu / drm / amd / pm / swsmu / smu12 / renoir_ppt.c
index 8a8ba25c9ad7cc29437103b22d58555cd8afbe31..8908bbb3ff1f14cd9bff517bda1eae315b4e0b6d 100644 (file)
@@ -262,15 +262,15 @@ static int renoir_get_profiling_clk_mask(struct smu_context *smu,
                        /* mclk levels are in reverse order */
                        *mclk_mask = NUM_MEMCLK_DPM_LEVELS - 1;
        } else if (level == AMD_DPM_FORCED_LEVEL_PROFILE_PEAK) {
-               if(sclk_mask)
+               if (sclk_mask)
                        /* The sclk as gfxclk and has three level about max/min/current */
                        *sclk_mask = 3 - 1;
 
-               if(mclk_mask)
+               if (mclk_mask)
                        /* mclk levels are in reverse order */
                        *mclk_mask = 0;
 
-               if(soc_mask)
+               if (soc_mask)
                        *soc_mask = NUM_SOCCLK_DPM_LEVELS - 1;
        }
 
@@ -1197,9 +1197,13 @@ static int renoir_get_smu_metrics_data(struct smu_context *smu,
        case METRICS_AVERAGE_VCNACTIVITY:
                *value = metrics->AverageUvdActivity / 100;
                break;
-       case METRICS_AVERAGE_SOCKETPOWER:
-               if (((adev->ip_versions[MP1_HWIP][0] == IP_VERSION(12, 0, 1)) && (adev->pm.fw_version >= 0x40000f)) ||
-               ((adev->ip_versions[MP1_HWIP][0] == IP_VERSION(12, 0, 0)) && (adev->pm.fw_version >= 0x373200)))
+       case METRICS_CURR_SOCKETPOWER:
+               if (((amdgpu_ip_version(adev, MP1_HWIP, 0) ==
+                     IP_VERSION(12, 0, 1)) &&
+                    (adev->pm.fw_version >= 0x40000f)) ||
+                   ((amdgpu_ip_version(adev, MP1_HWIP, 0) ==
+                     IP_VERSION(12, 0, 0)) &&
+                    (adev->pm.fw_version >= 0x373200)))
                        *value = metrics->CurrentSocketPower << 8;
                else
                        *value = (metrics->CurrentSocketPower << 8) / 1000;
@@ -1297,9 +1301,9 @@ static int renoir_read_sensor(struct smu_context *smu,
                                                  (uint32_t *)data);
                *size = 4;
                break;
-       case AMDGPU_PP_SENSOR_GPU_POWER:
+       case AMDGPU_PP_SENSOR_GPU_INPUT_POWER:
                ret = renoir_get_smu_metrics_data(smu,
-                                                 METRICS_AVERAGE_SOCKETPOWER,
+                                                 METRICS_CURR_SOCKETPOWER,
                                                  (uint32_t *)data);
                *size = 4;
                break;
@@ -1315,6 +1319,7 @@ static int renoir_read_sensor(struct smu_context *smu,
                                                  (uint32_t *)data);
                *size = 4;
                break;
+       case AMDGPU_PP_SENSOR_GPU_AVG_POWER:
        default:
                ret = -EOPNOTSUPP;
                break;