XFX RX 590 Fatboy "weird" BIOS values - Overclock.net - An Overclocking Community

Forum Jump: 

XFX RX 590 Fatboy "weird" BIOS values

Reply
 
Thread Tools
post #1 of 19 (permalink) Old 08-11-2019, 12:25 AM - Thread Starter
AMD BIOS Alchemist
 
Vento041's Avatar
 
Join Date: Feb 2016
Location: Italy
Posts: 404
Rep: 52 (Unique: 32)
XFX RX 590 Fatboy "weird" BIOS values

Pick any RX 590 BIOS (like these ones: 1, 2, 3, 4. Mine is the last) . You'll see that some clocks are "off" by 1 or 2 MHz (either by directly reading hex values inside them or with any good BIOS editor):

  • 300
  • 909 ???
  • 1169 ???
  • 1301 ???
  • 1400
  • 1467 ???
  • 1525
  • 1580
If you enable manual single state OC (editing by number not with sliders) with Radeon Settings the number are rounded to the nearest multiple of 5, and becomes:
  • 300
  • 910
  • 1170
  • 1300
  • 1400
  • 1465
  • 1525
  • 1580
Something similar whas happening with the Shappire RX 480 Nitro+ OC 8GB, where the last step was 1342 MHz which became 1340 MHz.


It should be noted that until you do not touch the core clock OC with Radeon Settings the previous odd values are used.



Now I do not understand why, but I think that the reasons may be one of these two:
  • Some one wrote a formula that outputted said values for this specific card and didn't bothered changing them since they makes no differences.
  • Somewhere in the code there is a "clock_mhz_value % some_other_value == 0" logic (aka. check if clock divided by something hasn't remainder) and it's important. Probably related to ASIC_ProfilingInfo table IMO.
Weirder value: the voltage associated to the 1300 (1301) MHz step is 1193 ??? While the other (next) ones are 1150 ???


Does the card needs a voltage spike while changing frequency step or something? Is there any XFX dev here? What do you think guys?


Should I simply ask XFX support? Not worryed or anything just curiosity. Of course I'm testing stuff with those adjusted values (and 1150 mV on 1300 step) but I'm still collecting data.

Zephyr R.B.R.T. (Red BIOS Rebellion Team)
(*) ATOMTableResize (*) R_Timings - Encode/Decode RX/R9 Memory Straps
(*) Sapphire RX 480 Nitro+ OC - Better Custom BIOS (*) SimpleBiosDiff
(*) Extremely short guide on EDC errors (*) jYABE - Yet Another Bios Editor (early stage of development)
Bought a XFX RX 590 Fatboy! Looking for IR 35217 datasheet! Selling my Hybrid RX 480 Nitro+ OC 8GB.


Vento041 is offline  
Sponsored Links
Advertisement
 
post #2 of 19 (permalink) Old 08-11-2019, 03:25 AM
New to Overclock.net
 
mynm's Avatar
 
Join Date: Jan 2016
Posts: 623
Rep: 54 (Unique: 20)
Hi Vento041, nice to see you again. I see the same with my 590 nitro as you can see at my first attached image. According to the attached AMD ADL sample tool I found here. You can see at the second image that there are 5 mhz steps for the clocks. So it seem these clocks are not used and are rounded by the driver.


EDITED: About the weird cores clocks, it seems that they are used, if wattman is in manual mode or if you block dpms with it, what is rounding them. But ONT and WattTool are using these clocks. This is a mess, Sorry.
Attached Thumbnails
Click image for larger version

Name:	590 5mhz steps.png
Views:	17
Size:	54.9 KB
ID:	288044  

Click image for larger version

Name:	ONTamd.png
Views:	10
Size:	32.4 KB
ID:	288046  

Attached Files
File Type: zip a.zip (31.5 KB, 4 views)

Last edited by mynm; 08-18-2019 at 11:20 AM.
mynm is offline  
post #3 of 19 (permalink) Old 08-11-2019, 03:35 AM - Thread Starter
AMD BIOS Alchemist
 
Vento041's Avatar
 
Join Date: Feb 2016
Location: Italy
Posts: 404
Rep: 52 (Unique: 32)
Quote: Originally Posted by mynm View Post
Hi Vento041, nice to see you again. I see the same with my 590 nitro as you can see at my first attached image. According to the attached AMD ADL sample tool I found here. You can see at the second image that there are 5 mhz steps for the clocks. So it seem these clocks are not used and are rounded by the driver.
NOICE! May I ask for another test?
  • Close oc and monitoring related program (GPU-Z, HWiNFO, ...). Also from aoutstart.
  • From Radeon Settings just hit Reset and Save.
  • Reboot.
  • Run that cmd line again.

Zephyr R.B.R.T. (Red BIOS Rebellion Team)
(*) ATOMTableResize (*) R_Timings - Encode/Decode RX/R9 Memory Straps
(*) Sapphire RX 480 Nitro+ OC - Better Custom BIOS (*) SimpleBiosDiff
(*) Extremely short guide on EDC errors (*) jYABE - Yet Another Bios Editor (early stage of development)
Bought a XFX RX 590 Fatboy! Looking for IR 35217 datasheet! Selling my Hybrid RX 480 Nitro+ OC 8GB.


Vento041 is offline  
Sponsored Links
Advertisement
 
post #5 of 19 (permalink) Old 08-11-2019, 12:20 PM - Thread Starter
AMD BIOS Alchemist
 
Vento041's Avatar
 
Join Date: Feb 2016
Location: Italy
Posts: 404
Rep: 52 (Unique: 32)
Quote: Originally Posted by mynm View Post
Doing it I see the same clock values at cmd and wattman.

Ty :3 No I've only to find out why 1193 mV to a middle core step xD

Zephyr R.B.R.T. (Red BIOS Rebellion Team)
(*) ATOMTableResize (*) R_Timings - Encode/Decode RX/R9 Memory Straps
(*) Sapphire RX 480 Nitro+ OC - Better Custom BIOS (*) SimpleBiosDiff
(*) Extremely short guide on EDC errors (*) jYABE - Yet Another Bios Editor (early stage of development)
Bought a XFX RX 590 Fatboy! Looking for IR 35217 datasheet! Selling my Hybrid RX 480 Nitro+ OC 8GB.


Vento041 is offline  
post #6 of 19 (permalink) Old 08-11-2019, 12:52 PM
New to Overclock.net
 
mynm's Avatar
 
Join Date: Jan 2016
Posts: 623
Rep: 54 (Unique: 20)
The 1193mV for a middle core step, like the one 1.206V fot the level 3 that you can se for my gpu, is only used if voltage control is set to manual (avfs off). If voltage control is set to auto (avfs on) it is lower. I think is better to use the auto ones as it have avfs enables and is using a 25mv margin depending on the temps.



Manual and auto voltages are different and have to be changed into bios in different ways. I know how to change all these voltages via asic profiling info, and powerplay tables. If you want I can help you to do it.
mynm is offline  
post #7 of 19 (permalink) Old 08-12-2019, 01:56 AM - Thread Starter
AMD BIOS Alchemist
 
Vento041's Avatar
 
Join Date: Feb 2016
Location: Italy
Posts: 404
Rep: 52 (Unique: 32)
Quote: Originally Posted by mynm View Post
The 1193mV for a middle core step, like the one 1.206V fot the level 3 that you can se for my gpu, is only used if voltage control is set to manual (avfs off). If voltage control is set to auto (avfs on) it is lower. I think is better to use the auto ones as it have avfs enables and is using a 25mv margin depending on the temps.



Manual and auto voltages are different and have to be changed into bios in different ways. I know how to change all these voltages via asic profiling info, and powerplay tables. If you want I can help you to do it.

Ok nice I've been out of the games too much :3




Zephyr R.B.R.T. (Red BIOS Rebellion Team)
(*) ATOMTableResize (*) R_Timings - Encode/Decode RX/R9 Memory Straps
(*) Sapphire RX 480 Nitro+ OC - Better Custom BIOS (*) SimpleBiosDiff
(*) Extremely short guide on EDC errors (*) jYABE - Yet Another Bios Editor (early stage of development)
Bought a XFX RX 590 Fatboy! Looking for IR 35217 datasheet! Selling my Hybrid RX 480 Nitro+ OC 8GB.


Vento041 is offline  
post #8 of 19 (permalink) Old 08-12-2019, 11:33 AM
New to Overclock.net
 
mynm's Avatar
 
Join Date: Jan 2016
Posts: 623
Rep: 54 (Unique: 20)
Ok, so for mi 590 auto mode is going like this. My gpu dpm 7 clock is 1545mV with 1.187V and 1.212V (is the 25mv avfs margin) for a 67.7% ASIC Quality.

Increasing dpm 7 to 1560 the avfs margin is 0 and is using 1.212V that is the usMaxVoltage_0_25mv at asic profiling table. If you want more than that voltage you only have to increase the voltage like is explained at hellms conversion thread, but you can use any voltage is not "25mV steps only". I don't know how exactly it's working but it seems that it's working always using and svid2 voltage like 1.19375V, so 119375x4= 477500 so 4775 to hex is 12 A7. With my 380 was working only like this, but with the 590 it seems is working x4 with 1.212v, that is an svid2 voltage of 1.2125, so I don't know.

Increasin this voltage if you are at your max ASIC Quality core clock (mine is 1560mhz like I said, but it's noy stable with 1.212v), avfs margin will be increased.

There is another way to adjust voltages. Using the per dpm ucCKSVOffsetandDisable values at powerplay table. Mine are hex 26, so dec 38, and it seems is rounded * to rounded to the upper number and using the 6.25mv steps like a VOI voltage offset, so it is increasing 37.5 mV the default ASIC voltage. It seems that you can only use positive numbers. Your 590 is using hex 32, so dec 50mv. So you can undervolt -50mv for all or an specific dpm. Or increase the voltages up to the 1.212v max voltage. It seems tha the hex 80 value at dpm 0 is disabling this, it is 1000 0000 in bits and bit 7 to 1 is to disabling this, so it seems that you can't use numbers with 1 at bit 7.

To adjust the ucCKSVOffsetandDisable values you can use my OverdriveNTool "version" at PPtable editor.
If you want to change core clocks and uses avfs auto voltage you have to use the auto button.


But caution there is a fans config bug for my 590 and maybe for the rest of polaris gpus, with this ONT version 0.2.8 beta 11 version and the tede 0.2.8 ONT version. It seems that if you apply one setting, fans are spinning up to lower speeds like 1200rpm. The only way I see to do the fans to go ok, is to disable the fan area with Ctrl and two clicks on it. Before that you can apply the setting without problem.

Last edited by mynm; 08-12-2019 at 11:46 AM.
mynm is offline  
post #9 of 19 (permalink) Old 08-12-2019, 12:04 PM - Thread Starter
AMD BIOS Alchemist
 
Vento041's Avatar
 
Join Date: Feb 2016
Location: Italy
Posts: 404
Rep: 52 (Unique: 32)
@mymm


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 )

- (asic table) Check that ulEvvDefaultVddc, ulEvvNoCalcVddc do not contain funny values (to avoid them in case of fallback to those when avfs is disabled)
- (asic table) Check the whole arrays ulaTDClimitPerDPM and ulaNoCalcVddcPerDPM for the same reason as before


Am I right?

Zephyr R.B.R.T. (Red BIOS Rebellion Team)
(*) ATOMTableResize (*) R_Timings - Encode/Decode RX/R9 Memory Straps
(*) Sapphire RX 480 Nitro+ OC - Better Custom BIOS (*) SimpleBiosDiff
(*) Extremely short guide on EDC errors (*) jYABE - Yet Another Bios Editor (early stage of development)
Bought a XFX RX 590 Fatboy! Looking for IR 35217 datasheet! Selling my Hybrid RX 480 Nitro+ OC 8GB.


Vento041 is offline  
post #10 of 19 (permalink) Old 08-12-2019, 12:53 PM
New to Overclock.net
 
mynm's Avatar
 
Join Date: Jan 2016
Posts: 623
Rep: 54 (Unique: 20)
Quote: Originally Posted by Vento041 View Post
@mymm

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.


Quote:
- (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.
Quote:
- (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:


ULONG ulAVFS_meanNsigma_Acontant0;


ULONG ulAVFS_meanNsigma_Acontant1; ULONG ulAVFS_meanNsigma_Acontant2; USHORT usAVFS_meanNsigma_DC_tol_sigma; USHORT usAVFS_meanNsigma_Platform_mean; USHORT usAVFS_meanNsigma_Platform_sigma; ULONG ulGB_VDROOP_TABLE_CKSOFF_a0; ULONG ulGB_VDROOP_TABLE_CKSOFF_a1; ULONG ulGB_VDROOP_TABLE_CKSOFF_a2; ULONG ulGB_VDROOP_TABLE_CKSON_a0; ULONG ulGB_VDROOP_TABLE_CKSON_a1; ULONG ulGB_VDROOP_TABLE_CKSON_a2; ULONG ulAVFSGB_FUSE_TABLE_CKSOFF_m1; USHORT usAVFSGB_FUSE_TABLE_CKSOFF_m2; ULONG ulAVFSGB_FUSE_TABLE_CKSOFF_b; ULONG ulAVFSGB_FUSE_TABLE_CKSON_m1; USHORT usAVFSGB_FUSE_TABLE_CKSON_m2; ULONG ulAVFSGB_FUSE_TABLE_CKSON_b; USHORT usMaxVoltage_0_25mv; UCHAR ucEnableGB_VDROOP_TABLE_CKSOFF; UCHAR ucEnableGB_VDROOP_TABLE_CKSON; UCHAR ucEnableGB_FUSE_TABLE_CKSOFF; UCHAR ucEnableGB_FUSE_TABLE_CKSON; USHORT usPSM_Age_ComFactor; UCHAR ucEnableApplyAVFS_CKS_OFF_Voltage; UCHAR ucReserved;
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.
mynm is offline  
Reply

Quick Reply
Message:
Options

Register Now

In order to be able to post messages on the Overclock.net - An Overclocking Community forums, you must first register.
Please enter your desired user name, your email address and other required details in the form below.
User Name:
If you do not want to register, fill this field only and the name will be used as user name for your post.
Password
Please enter a password for your user account. Note that passwords are case-sensitive.
Password:
Confirm Password:
Email Address
Please enter a valid email address for yourself.
Email Address:

Log-in



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page


Forum Jump: 

Posting Rules  
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off