[PATCH] drm/amdgpu: Revert "drm/amdgpu: getting fan speed pwm for vega10 properly"

Alex Deucher alexdeucher at gmail.com
Wed Oct 26 14:38:11 UTC 2022


On Wed, Oct 26, 2022 at 5:07 AM Yury Zhuravlev <stalkerg at gmail.com> wrote:
>
> Hello Asher,
>
> Thanks for the information, is it open-source tests? Can I reproduce it?
>
> Also, it seems like Radeon Instinct MI25 was released before Radeon RX Vega, is it possible that they have different PowerPlay subsystems?

Same silicon, same powerplay implementation.

Alex

> On my Vega56, all these registers from vega20 are working very well.
> Seems like we should split implementation somehow.
>
> Regards,
>
> On Wed, Oct 26, 2022 at 3:51 PM Song, Asher <Asher.Song at amd.com> wrote:
>>
>> [AMD Official Use Only - General]
>>
>>
>>
>> + at Meng, Xiaohu
>>
>>
>>
>> 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 <stalkerg at gmail.com>
>> Sent: Wednesday, October 26, 2022 9:31 AM
>> To: Song, Asher <Asher.Song at amd.com>
>> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Chen, Guchun <Guchun.Chen at amd.com>; Quan, Evan <Evan.Quan at amd.com>; amd-gfx at 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.Song at 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.Song at 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


More information about the amd-gfx mailing list