I’ve been doing some research trying to find the best way to overlock a XFX AMD Radeon RX 570.  Before starting  we start check the clocks to make sure our adjustment are properly done.

cat /sys/kernel/debug/dri/2/amdgpu_pm_info

my default output is

GFX Clocks and Power:
	1750 MHz (MCLK)
	1286 MHz (SCLK)
	90.63 W (VDDC)
	16.0 W (VDDCI)
	117.181 W (max GPU)
	118.165 W (average GPU)

First we’ll overclock the core frequency, if we cat

cat /sys/class/drm/card0/device/pp_sclk_od

output is 0 which means no overclocking

The way this works, if I enter a number, the core frequency is over clocked by the number entered as a %, we can enter a  number between 0 and 20, if I put in 5 that means 5% over clock from the GPU’s core frequency.  Example

echo 5 > /sys/class/drm/card0/device/pp_sclk_od

Same thing works for memory over clocking

cat /sys/class/drm/card0/device/pp_mclk_od

also returns the default value of 0, no overclocking, now lets see what we can do.

echo 5 >  /sys/class/drm/card0/device/pp_mclk_od

Now checking the clock speeds of our GPU afterwards

GFX Clocks and Power:
	1837 MHz (MCLK)
	1337 MHz (SCLK)
	85.18 W (VDDC)
	16.0 W (VDDCI)
	124.50 W (max GPU)
	113.120 W (average GPU)

that looks like it worked, I pushed mine a little more

echo 10 > /sys/class/drm/card0/device/pp_sclk_od

Then checked

cat /sys/class/drm/card0/device/pp_dpm_sclk

This gives me

0: 300Mhz 
1: 588Mhz 
2: 952Mhz 
3: 1076Mhz 
4: 1143Mhz 
5: 1208Mhz 
6: 1250Mhz 
7: 1414Mhz *

What I find is interesting, we started with the hashrate of 22Mh/s and it didn’t incrase

ETH: GPU0 22.108 Mh/s, GPU1 22.125 Mh/s

So i’m still investigating what to do.

I’ll let you know once I find another way to overclock.  I’m thinking the other option is to mod the bios like other people are doing but I just don’t normally recommend changing the bios.