You can change the frequencies and voltage by modifying the file /sys/class/drm/card0/device/pp_od_clk_voltage
first: This holds the presets for pp_dpm_sclk
and pp_dpm_mclk
.
Second check the current settings:
sudo cat /sys/class/drm/card0/device/pp_od_clk_voltage
You should see something similar to this:
OD_SCLK:
0: 300MHz 750mV
1: 588MHz 765mV
2: 980MHz 987mV
3: 1100MHz 950mV
4: 1100MHz 950mV
5: 1100MHz 950mV
6: 1100MHz 950mV
7: 1100MHz 950mV
OD_MCLK:
0: 300MHz 750mV
1: 1000MHz 800mV
2: 1970MHz 950mV
OD_RANGE:
SCLK: 300MHz 2000MHz
MCLK: 300MHz 2250MHz
VDDC: 750mV 1150mV
Example to set 1280Mhz at 950mV (check your output above for possible ranges!):
sudo echo "s 7 1280 950" > /sys/class/drm/card0/device/pp_od_clk_voltage
Then to apply the changes:
sudo echo 0 > /sys/class/drm/card0/device/pp_sclk_od
sudo echo 1 > /sys/class/drm/card0/device/pp_sclk_od
These are all the settings I use on my crypto mining card which is an AMD Radeon RX570 in case it's useful to anyone.
echo 1 > /sys/class/drm/card0/device/hwmon/hwmon0/pwm1_enable
echo manual > /sys/class/drm/card0/device/power_dpm_force_performance_level
echo 200 > /sys/class/drm/card0/device/hwmon/hwmon0/pwm1 # Fan speed
echo 4 > /sys/class/drm/card0/device/pp_power_profile_mode # Compute Mode
echo "s 3 1100 950" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 4 1100 950" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 5 1100 950" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 6 1100 950" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "s 7 1100 950" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo "m 2 1985 950" > /sys/class/drm/card0/device/pp_od_clk_voltage
echo 0 > /sys/class/drm/card0/device/pp_sclk_od
echo 1 > /sys/class/drm/card0/device/pp_sclk_od
echo 0 > /sys/class/drm/card0/device/pp_mclk_od
echo 1 > /sys/class/drm/card0/device/pp_mclk_od