Originally Posted by Vento041
So based on the table def
, could I:
- "Disable" avfs by setting ucEnableApplyAVFS_CKS_OFF_Voltage (asic table) to 0 and ucCKSVOffsetandDisable to 0b1000000 = 0x80 (inside power play for each _ATOM_Polaris_SCLK_Dependency_Record )
It seem that ucEnableApplyAVFS_CKS_OFF_Voltage to 0 isn't disableing avfs voltages, it's only disabling the ucCKSVOffsetandDisable values at powerplay so they aren't used.
I don't know what ucCKSVOffsetandDisable to 80 is doing or disableing, I don't have tested it with my 590, with my 380 I was getting higher voltages. DPM 0 seems to not have avfs voltages, but I don't know if it's related to this.
- (asic table) Check that ulEvvDefaultVddc, ulEvvNoCalcVddc do not contain funny values (to avoid them in case of fallback to those when avfs is disabled)
It seems these values are only used for manual voltages.
- (asic table) Check the whole arrays ulaTDClimitPerDPM and ulaNoCalcVddcPerDPM for the same reason as before
Am I right?
I have tested these values and I didn't see any thing, but I don't know.
Only these values are used for the auto-avfs voltages:
The rest of thes asic profiling values seems to be used for manual voltages, or that is what I see.
Also I found some info about the avfs feature here: https://lists.freedesktop.org/archiv...ne/000095.html
You can see it's using all these asic profiling values. And also you can see this two lines:
AVFS_meanNsigma.Static_Voltage_Offset[i] = (uint8_t)(sclk_table->entries[i].cks_voffset * 100 / 625); + AVFS_SclkOffset.Sclk_Offset[i] = PP_HOST_TO_SMC_US((uint16_t)(sclk_table->entries[i].sclk_offset) / 100);The first one seems to be related to the power play ucCKSVOffsetandDisable and the second ne for another powerplay values at powerplay ulScklOffset.
The second ones are also like an offset, for what I have tested, you can see here how it's working: https://www.overclock.net/forum/27974134-post5314.html