<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
p.msipheaderdf3d92d6, li.msipheaderdf3d92d6, div.msipheaderdf3d92d6
        {mso-style-name:msipheaderdf3d92d6;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="msipheaderdf3d92d6" style="margin:0in"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:blue">[AMD Official Use Only - General]</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">+<a id="OWAAM2C3FD9A9EF544EB3A89BBBB72AF67D08" href="mailto:Xiaohu.Meng@amd.com"><span style="font-family:"Calibri",sans-serif;text-decoration:none">@Meng, Xiaohu</span></a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi Zhuravlev,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The information of test card is as following:<o:p></o:p></p>
<p class="MsoNormal">Lspci name: [AMD/ATI] Vega 10 [Radeon Instinct MI25 MxGPU] (rev 05)<o:p></o:p></p>
<p class="MsoNormal">Firmware: ATOM BIOS: 113-D0531800-C04<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">When run test scripts compute-rocm-*/utils/run_rsmitst.sh, the below test cases fail.
<o:p></o:p></p>
<p class="MsoNormal">[  FAILED  ] 4 tests, listed below:<o:p></o:p></p>
<p class="MsoNormal">[  FAILED  ] rsmitstReadOnly.TestOverdriveRead<o:p></o:p></p>
<p class="MsoNormal">[  FAILED  ] rsmitstReadWrite.FanReadWrite<o:p></o:p></p>
<p class="MsoNormal">[  FAILED  ] rsmitstReadWrite.TestOverdriveReadWrite<o:p></o:p></p>
<p class="MsoNormal">[  FAILED  ] rsmitstReadWrite.TestPowerCapReadWrite<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best Regards,<o:p></o:p></p>
<p class="MsoNormal">Asher<o:p></o:p></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Yury Zhuravlev <stalkerg@gmail.com> <br>
<b>Sent:</b> Wednesday, October 26, 2022 9:31 AM<br>
<b>To:</b> Song, Asher <Asher.Song@amd.com><br>
<b>Cc:</b> Deucher, Alexander <Alexander.Deucher@amd.com>; Chen, Guchun <Guchun.Chen@amd.com>; Quan, Evan <Evan.Quan@amd.com>; amd-gfx@lists.freedesktop.org<br>
<b>Subject:</b> Re: [PATCH] drm/amdgpu: Revert "drm/amdgpu: getting fan speed pwm for vega10 properly"<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hello,<br>
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.<br>
My card is:  Sapphire Pulse Radeon RX Vega 56  vd6546 SA<br>
lspci name: [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] (rev c3)<br>
Firmware: ATOM BIOS: 113-376XL-UO2<br>
This patch is 100% working correct on my machine, and I tested it last 2 months.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Regards,<o:p></o:p></p>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Fri, Oct 14, 2022 at 1:15 PM Asher Song <<a href="mailto:Asher.Song@amd.com">Asher.Song@amd.com</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt">This reverts commit fe01cb24b81c0091d7e5668874d51ce913e44a97.<br>
<br>
Unfortunately, that commit causes fan monitors can't be read and written<br>
properly.<br>
<br>
Signed-off-by: Asher Song <<a href="mailto:Asher.Song@amd.com" target="_blank">Asher.Song@amd.com</a>><br>
---<br>
 .../amd/pm/powerplay/hwmgr/vega10_thermal.c   | 25 ++++++++++---------<br>
 1 file changed, 13 insertions(+), 12 deletions(-)<br>
<br>
diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c<br>
index 190af79f3236..dad3e3741a4e 100644<br>
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c<br>
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c<br>
@@ -67,21 +67,22 @@ int vega10_fan_ctrl_get_fan_speed_info(struct pp_hwmgr *hwmgr,<br>
 int vega10_fan_ctrl_get_fan_speed_pwm(struct pp_hwmgr *hwmgr,<br>
                uint32_t *speed)<br>
 {<br>
-       struct amdgpu_device *adev = hwmgr->adev;<br>
-       uint32_t duty100, duty;<br>
-       uint64_t tmp64;<br>
+       uint32_t current_rpm;<br>
+       uint32_t percent = 0;<br>
<br>
-       duty100 = REG_GET_FIELD(RREG32_SOC15(THM, 0, mmCG_FDO_CTRL1),<br>
-                               CG_FDO_CTRL1, FMAX_DUTY100);<br>
-       duty = REG_GET_FIELD(RREG32_SOC15(THM, 0, mmCG_THERMAL_STATUS),<br>
-                               CG_THERMAL_STATUS, FDO_PWM_DUTY);<br>
+       if (hwmgr->thermal_controller.fanInfo.bNoFan)<br>
+               return 0;<br>
<br>
-       if (!duty100)<br>
-               return -EINVAL;<br>
+       if (vega10_get_current_rpm(hwmgr, &current_rpm))<br>
+               return -1;<br>
+<br>
+       if (hwmgr->thermal_controller.<br>
+                       advanceFanControlParameters.usMaxFanRPM != 0)<br>
+               percent = current_rpm * 255 /<br>
+                       hwmgr->thermal_controller.<br>
+                       advanceFanControlParameters.usMaxFanRPM;<br>
<br>
-       tmp64 = (uint64_t)duty * 255;<br>
-       do_div(tmp64, duty100);<br>
-       *speed = MIN((uint32_t)tmp64, 255);<br>
+       *speed = MIN(percent, 255);<br>
<br>
        return 0;<br>
 }<br>
-- <br>
2.25.1<o:p></o:p></p>
</blockquote>
</div>
</div>
</body>
</html>