On Wed, Jan 25, 2023 at 7:14 PM Matt Coffin <mcoffi...@gmail.com> wrote: > > On Wed Jan 11, 2023 at 7:47 AM MST, Alex Deucher wrote: > > On Wed, Jan 11, 2023 at 8:23 AM Quan, Evan <evan.q...@amd.com> wrote: > > > > > > [AMD Official Use Only - General] > > > > > > Regarding the manual fan speed setting issue targeted by this patch, the > > > SCPM feature of the new SMU13 asics prevents us from toggling the fan > > > control feature from auto to manual. > > This makes sense as a move towards using the same interface that other > platforms are most likely using. > > > > About the capability in the OD table you mentioned, it might be a > > > different issue. > > I included some info/questions below; any hints you could give to point > me in the right way to keep learning would be appreciated.
I'm following up with the SMU teams. Will get back to you when I know more. Thanks, Alex > > > > > Right. Manual fan control is no longer possible. As Evan said, you > > can adjust the automatic fan curve using the OD interface, but that is > > it. > > Sorry for the late reply; I became busy with day job. I've been working > on implementing OD support (and a sysfs interface to set *any* OD > setting by number, in contrast with pp_od_clk_voltage's pidgeon-holing > into supporting only PP_OD_DPM_TABLE_COMMAND commands), at the very > least for my own experimentation. > > The following is what I see when I read the OD table out from the SMU > (assuming that the inclusion of another VF curve setting at index 4 in > the header was a mistake, based on the values returned by the SMU). > > It seems that, at least in my case, my hardware is running in some kind > of mode that would *not* allow changing of the fan curve? Is it possble > that the header information in pm/inc/smu_v13_0_0_pptable.h is incorrect > even beyond the potential idx 4 of ODSETTINGs? > > It appears also that transferring the OD table *back* to the SMU results > in no error, but also no action taken, as subsequent reads to not > reflect any changes. I'm thinking this is due to some values read in on > the inital read of the table being invalid, but seemingly irrelevant > given what is reported by the capabilities (see: FAN_CURVE[*]). > > Is there any hints you guys could offer in terms of > > 1. what might be mal-aligned or mis-labeled in the smu_v13 pptable > header above? > 2. What pre-requisites I might be missing to allow the support for > ODCAP_FAN_CURVE? > 3. Why the apparent values for some settings in the boot table seemingly > wildly invalid? Will those somehow become valid once pre-requisites for > OD operation are met? > > I also feel like I've strayed from the original topic of the proposed > patch, and this probably belongs in it's own thread... but quite know > how to preserve any context there (sorry). > > Thanks in advance for helping out an eager outsider, > Matt > > Capabilities: > SMU_13_0_0_ODCAP_GFXCLK_LIMITS[0] true > SMU_13_0_0_ODCAP_GFXCLK_CURVE[1] true > SMU_13_0_0_ODCAP_UCLK_LIMITS[2] true > SMU_13_0_0_ODCAP_POWER_LIMIT[3] true > SMU_13_0_0_ODCAP_FAN_ACOUSTIC_LIMIT[4] true > SMU_13_0_0_ODCAP_FAN_SPEED_MIN[5] true > SMU_13_0_0_ODCAP_TEMPERATURE_FAN[6] true > SMU_13_0_0_ODCAP_TEMPERATURE_SYSTEM[7] true > SMU_13_0_0_ODCAP_MEMORY_TIMING_TUNE[8] true > SMU_13_0_0_ODCAP_FAN_ZERO_RPM_CONTROL[9] true > SMU_13_0_0_ODCAP_AUTO_UV_ENGINE[10] true > SMU_13_0_0_ODCAP_AUTO_OC_ENGINE[11] true > SMU_13_0_0_ODCAP_AUTO_OC_MEMORY[12] true > SMU_13_0_0_ODCAP_FAN_CURVE[13] false > SMU_13_0_0_ODCAP_AUTO_FAN_ACOUSTIC_LIMIT[14] true > SMU_13_0_0_ODCAP_POWER_MODE[15] false > > Limits: > SMU_13_0_0_ODSETTING_GFXCLKFMAX[0] - [500,5000] > SMU_13_0_0_ODSETTING_GFXCLKFMIN[1] - [500,5000] > SMU_13_0_0_ODSETTING_CUSTOM_GFX_VF_CURVE_A[2] - [97,1500] > SMU_13_0_0_ODSETTING_CUSTOM_GFX_VF_CURVE_B[3] - [97,1500] > SMU_13_0_0_ODSETTING_CUSTOM_CURVE_VFT_FMIN[4] - [10,15] > SMU_13_0_0_ODSETTING_UCLKFMIN[5] - [500,3200] > SMU_13_0_0_ODSETTING_UCLKFMAX[6] - [500,3200] > SMU_13_0_0_ODSETTING_POWERPERCENTAGE[7] - [25,105] > SMU_13_0_0_ODSETTING_FANRPMMIN[8] - [50,110] > SMU_13_0_0_ODSETTING_FANRPMACOUSTICLIMIT[9] - [0,1] > SMU_13_0_0_ODSETTING_FANTARGETTEMPERATURE[10] - [0,1] > SMU_13_0_0_ODSETTING_OPERATINGTEMPMAX[11] - [0,1] > SMU_13_0_0_ODSETTING_ACTIMING[12] - [0,1] > SMU_13_0_0_ODSETTING_FAN_ZERO_RPM_CONTROL[13] - [0,1] > SMU_13_0_0_ODSETTING_AUTOUVENGINE[14] - [25,100] > SMU_13_0_0_ODSETTING_AUTOOCENGINE[15] - [23,100] > SMU_13_0_0_ODSETTING_AUTOOCMEMORY[16] - [25,100] > SMU_13_0_0_ODSETTING_FAN_CURVE_TEMPERATURE_1[17] - [23,100] > SMU_13_0_0_ODSETTING_FAN_CURVE_SPEED_1[18] - [25,100] > SMU_13_0_0_ODSETTING_FAN_CURVE_TEMPERATURE_2[19] - [23,100] > SMU_13_0_0_ODSETTING_FAN_CURVE_SPEED_2[20] - [25,100] > SMU_13_0_0_ODSETTING_FAN_CURVE_TEMPERATURE_3[21] - [23,100] > SMU_13_0_0_ODSETTING_FAN_CURVE_SPEED_3[22] - [25,100] > SMU_13_0_0_ODSETTING_FAN_CURVE_TEMPERATURE_4[23] - [23,100] > SMU_13_0_0_ODSETTING_FAN_CURVE_SPEED_4[24] - [0,0] > SMU_13_0_0_ODSETTING_FAN_CURVE_TEMPERATURE_5[25] - [0,1] > SMU_13_0_0_ODSETTING_FAN_CURVE_SPEED_5[26] - [0,0] > SMU_13_0_0_ODSETTING_AUTO_FAN_ACOUSTIC_LIMIT[27] - [0,0] > SMU_13_0_0_ODSETTING_POWER_MODE[28] - [0,0] > > Boot OD Table: > GFXFLK: [600, 2945] > UCLK: [97, 1249] > FAN_CURVE[0]: 0 @ 0 > FAN_CURVE[1]: 0 @ 0 > FAN_CURVE[2]: 0 @ 0 > FAN_CURVE[3]: 0 @ 0 > FAN_CURVE[4]: 0 @ 0 > FAN_CURVE[5]: 0 @ 0 > FAN_MIN_PWM: 35 > FAN_TARGET_TEMP: 94 > FAN_ZERO_RPM_ENABLE: true > FAN_MODE: 0