Overclocking AMD Radeon 550 (2GB) not possible

I’m trying to overclock my dedicated graphics card, but it seems it’s not working.

I’ve found a post on Reddit that someone else overclocked that type of GPU with the following settings:

Core clock (MHz) 1380
Memory clock (MHz) 1850

I followed the instructions on the ArchLinux Wiki > AMDGPU > Overclocking (I’ve set the Kernel parameter amdgpu.ppfeaturemask=0xffffffff).

Inspecting my pp_od_clk_voltage gives the following:

$ cd /sys/class/drm/card1/device
$ cat pp_od_clk_voltage 
0:        214MHz        700mV
1:        547MHz        800mV
2:        786MHz        900mV
3:        902MHz       1000mV
0:        300MHz        700mV
1:        625MHz        700mV
2:       1500MHz        850mV
SCLK:     214MHz        902MHz
MCLK:     300MHz       1500MHz
VDDC:     700mV        1075mV

If I now try to write higher values, I get an invalid arguement error:

# echo 's 3 1000 1000' > pp_od_clk_voltage 
bash: echo: write error: Invalid argument

Writing lower values is ok. It seems the values have to be in OD_RANGE, which is documented in the Kernel as follows:

a list of valid ranges for sclk, mclk, and voltage labeled OD_RANGE

Finally, these are my questions:

  1. Is there a way to adjust the OD_RANGE for my GPU?
  2. Where is this value set/configured?
  3. Who determines the values for OD_RANGE? Is it written down in the Kernel or provided by the manufacturer (AMD in this case)?
  4. Is it a bad idea trying to change this value?

Values seem to be taken from Radeon PowerPlay tables.

There is a neat tool which allows editing these values: GitHub - sibradzic/upp: A tool for parsing, dumping and modifying data in Radeon PowerPlay tables
(Also available in AUR as upliftpowerplay)

I’m not sure if it’s safe to do so, but I was able to set new limits for the GPU frequencies with it.

For anyone interested, these are the commands I ran:

sudo -E env "PATH=$PATH" upp --pp-file /sys/class/drm/card1/device/pp_table set --write SclkDependencyTable/entries/3/Sclk=108200
sudo -E env "PATH=$PATH" upp --pp-file /sys/class/drm/card1/device/pp_table set --write MclkDependencyTable/entries/2/Mclk=180000

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.