This is required if you try to undervolt you card. You should use this parameter with "Core Clock" setting and "Core Voltage".
DPM (Dynamic Power Management) or "Power Level" of GPU core. For RX cards it's a value from 1 to 7. Default is 5. Lower the value to downvolt.
You can set 5 or 4 for you RX 580.
I recommand you to set your AMD OC on HiveOS and put DPM (5 or 4) + Core Voltage (mV): V900 (should be stable)
You can undervolt more with V875 or V860 depending on the coins you mine.
Can you maybe help understand how exactly undervolting works under Linux ? Because when you look at Wattman in Windows, things seem pretty simple. You have 7 States and depending on the workload, the driver uses the most appropriate State. For mining, it is State 7 by default. When you launch claymore with cclock, mclock, cvddc or mvddc parameters, you basically override this by setting every state to use those values. When you look at Wattman again, you see all the States have same clock and same voltage, so no matter what the driver decides to do, you are good to go with what you wanted.
In Linux, I find it confusing that you set the State/Powertune/DPM AND the clocks and voltages. If you have your State 3 that is set to 1145Mhz@850mV in BIOS (stored as dynamic voltage in BIOS), asking for powertune 3, clock 1200Mhz and voltage 900mV should be stupid because everything in the State3 is overriden anyway. Why does this parameter appear in every Linux mining distro ? I obviously have missed something.
What is the difference between Powertune/State/DPM 3, 4, 5 when you ask for some specific clocks and memories (1215, 2175, 915mV) ?
That's a very good question and I don't have any good answer, it's look like Linux is doing what he wants...For my rig I set on HiveOS DPM to ensure my Undervolt is correct from my bios configuration.
If anyone have any link or answer it gonna be very useful.