[AMD Official Use Only - General]

+@Meng, Xiaohu<mailto:xiaohu.m...@amd.com>

Hi Zhuravlev,

The information of test card is as following:
Lspci name: [AMD/ATI] Vega 10 [Radeon Instinct MI25 MxGPU] (rev 05)
Firmware: ATOM BIOS: 113-D0531800-C04

When run test scripts compute-rocm-*/utils/run_rsmitst.sh, the below test cases 
fail.
[  FAILED  ] 4 tests, listed below:
[  FAILED  ] rsmitstReadOnly.TestOverdriveRead
[  FAILED  ] rsmitstReadWrite.FanReadWrite
[  FAILED  ] rsmitstReadWrite.TestOverdriveReadWrite
[  FAILED  ] rsmitstReadWrite.TestPowerCapReadWrite

Best Regards,
Asher
From: Yury Zhuravlev <stalk...@gmail.com>
Sent: Wednesday, October 26, 2022 9:31 AM
To: Song, Asher <asher.s...@amd.com>
Cc: Deucher, Alexander <alexander.deuc...@amd.com>; Chen, Guchun 
<guchun.c...@amd.com>; Quan, Evan <evan.q...@amd.com>; 
amd-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/amdgpu: Revert "drm/amdgpu: getting fan speed pwm for 
vega10 properly"

Hello,
Can you write here your card name and firmware version? Without this patch, my 
fan sensors are broken, and it's sensitive to my pc case with water cooling.
My card is:  Sapphire Pulse Radeon RX Vega 56  vd6546 SA
lspci name: [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] (rev c3)
Firmware: ATOM BIOS: 113-376XL-UO2
This patch is 100% working correct on my machine, and I tested it last 2 months.
Regards,

On Fri, Oct 14, 2022 at 1:15 PM Asher Song 
<asher.s...@amd.com<mailto:asher.s...@amd.com>> wrote:
This reverts commit fe01cb24b81c0091d7e5668874d51ce913e44a97.

Unfortunately, that commit causes fan monitors can't be read and written
properly.

Signed-off-by: Asher Song <asher.s...@amd.com<mailto:asher.s...@amd.com>>
---
 .../amd/pm/powerplay/hwmgr/vega10_thermal.c   | 25 ++++++++++---------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c 
b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c
index 190af79f3236..dad3e3741a4e 100644
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c
@@ -67,21 +67,22 @@ int vega10_fan_ctrl_get_fan_speed_info(struct pp_hwmgr 
*hwmgr,
 int vega10_fan_ctrl_get_fan_speed_pwm(struct pp_hwmgr *hwmgr,
                uint32_t *speed)
 {
-       struct amdgpu_device *adev = hwmgr->adev;
-       uint32_t duty100, duty;
-       uint64_t tmp64;
+       uint32_t current_rpm;
+       uint32_t percent = 0;

-       duty100 = REG_GET_FIELD(RREG32_SOC15(THM, 0, mmCG_FDO_CTRL1),
-                               CG_FDO_CTRL1, FMAX_DUTY100);
-       duty = REG_GET_FIELD(RREG32_SOC15(THM, 0, mmCG_THERMAL_STATUS),
-                               CG_THERMAL_STATUS, FDO_PWM_DUTY);
+       if (hwmgr->thermal_controller.fanInfo.bNoFan)
+               return 0;

-       if (!duty100)
-               return -EINVAL;
+       if (vega10_get_current_rpm(hwmgr, &current_rpm))
+               return -1;
+
+       if (hwmgr->thermal_controller.
+                       advanceFanControlParameters.usMaxFanRPM != 0)
+               percent = current_rpm * 255 /
+                       hwmgr->thermal_controller.
+                       advanceFanControlParameters.usMaxFanRPM;

-       tmp64 = (uint64_t)duty * 255;
-       do_div(tmp64, duty100);
-       *speed = MIN((uint32_t)tmp64, 255);
+       *speed = MIN(percent, 255);

        return 0;
 }
--
2.25.1

Reply via email to