drm/amdgpu: Fix Arcturus fan speed reporting
authorKent Russell <kent.russell@amd.com>
Thu, 5 Nov 2020 15:15:08 +0000 (10:15 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 5 Nov 2020 19:23:06 +0000 (14:23 -0500)
Arcturus doesn't have a fan. The assumption of "if the manual fan
control bit isn't set, it's on automatic mode" does not hold true if the
fan is missing, and results in exposing an invalid value for fan speed.

The SMU metrics table accurately reflects the lack of fan and will
return 0 for the fan speed. Trying to use the
smu_v11_0_get_fan_speed_rpm function will return invalid data, so just
stick with the SMU metrics for Arcturus

Signed-off-by: Kent Russell <kent.russell@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c

index d96048e..4fd850e 100644 (file)
@@ -1139,14 +1139,9 @@ static int arcturus_get_fan_speed_rpm(struct smu_context *smu,
        if (!speed)
                return -EINVAL;
 
-       switch (smu_v11_0_get_fan_control_mode(smu)) {
-       case AMD_FAN_CTRL_AUTO:
-               return arcturus_get_smu_metrics_data(smu,
-                                                    METRICS_CURR_FANSPEED,
-                                                    speed);
-       default:
-               return smu_v11_0_get_fan_speed_rpm(smu, speed);
-       }
+       return arcturus_get_smu_metrics_data(smu,
+                                            METRICS_CURR_FANSPEED,
+                                            speed);
 }
 
 static int arcturus_get_fan_parameters(struct smu_context *smu)