[PATCH 5/5] drm/amd/powerplay: refine pwm1_enable callback functions on CI.

Deucher, Alexander Alexander.Deucher at amd.com
Fri May 5 14:11:07 UTC 2017


Patch 2 is missing your signed-off-by.  With that fixed, the series is:
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf Of Zhu, Rex
Sent: Friday, May 05, 2017 8:43 AM
To: amd-gfx at lists.freedesktop.org
Cc: Zhu, Rex
Subject: Fw: [PATCH 5/5] drm/amd/powerplay: refine pwm1_enable callback functions on CI.



Change-Id: Ieb05cfa95e4072357e18f631ab71780de0688008
Signed-off-by: Rex Zhu <Rex.Zhu at amd.com<mailto:Rex.Zhu at amd.com>>
---
 drivers/gpu/drm/amd/amdgpu/ci_dpm.c | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
index a6dda34..6dc1410 100644
--- a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
+++ b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
@@ -1267,30 +1267,33 @@ static int ci_dpm_set_fan_speed_percent(struct amdgpu_device *adev,

 static void ci_dpm_set_fan_control_mode(struct amdgpu_device *adev, u32 mode)
 {
-       if (mode) {
-               /* stop auto-manage */
+       switch (mode) {
+       case AMD_FAN_CTRL_NONE:
                 if (adev->pm.dpm.fan.ucode_fan_control)
                         ci_fan_ctrl_stop_smc_fan_control(adev);
-               ci_fan_ctrl_set_static_mode(adev, mode);
-       } else {
-               /* restart auto-manage */
+               ci_dpm_set_fan_speed_percent(adev, 100);
+               break;
+       case AMD_FAN_CTRL_MANUAL:
+               if (adev->pm.dpm.fan.ucode_fan_control)
+                       ci_fan_ctrl_stop_smc_fan_control(adev);
+               break;
+       case AMD_FAN_CTRL_AUTO:
                 if (adev->pm.dpm.fan.ucode_fan_control)
                         ci_thermal_start_smc_fan_control(adev);
-               else
-                       ci_fan_ctrl_set_default_mode(adev);
+               break;
+       default:
+               break;
         }
 }

 static u32 ci_dpm_get_fan_control_mode(struct amdgpu_device *adev)
 {
         struct ci_power_info *pi = ci_get_pi(adev);
-       u32 tmp;

         if (pi->fan_is_controlled_by_smc)
-               return 0;
-
-       tmp = RREG32_SMC(ixCG_FDO_CTRL2) & CG_FDO_CTRL2__FDO_PWM_MODE_MASK;
-       return (tmp >> CG_FDO_CTRL2__FDO_PWM_MODE__SHIFT);
+               return AMD_FAN_CTRL_AUTO;
+       else
+               return AMD_FAN_CTRL_MANUAL;
 }

 #if 0
--
1.9.1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20170505/6264780a/attachment-0001.html>


More information about the amd-gfx mailing list