sibradzic / upp

A tool for parsing, dumping and modifying data in Radeon PowerPlay tables
GNU General Public License v3.0
154 stars 24 forks source link

Arcturus (CDNA1) support #44

Closed IMbackK closed 6 months ago

IMbackK commented 7 months ago

Hi, Could you add Arcturus support? arcturus is smu v11 like navi10 but uses powerplay table version 13.0. i have attached a Arcturus table below:

arcturus_ppt.zip

sibradzic commented 6 months ago

Thanks for reporting @IMbackK , I'll take a look as soon as I'm back to a real keyboard. Can you please share the card's full VBIOS?

IMbackK commented 6 months ago

of course: arcturus_vbios.zip

sibradzic commented 6 months ago

@IMbackK please get the experimental branch and check if the extract and dump commands work for you, and if the decoded values make any sense to you:

git checkout Arcturus-support
cd src
python3 -m upp.upp -p arcturus.pp_table extract -r MI100_000.000.000.000.016113_113-D3431401-100.rom
python3 -m upp.upp -p arcturus.pp_table dump -r
python3 -m upp.upp -p arcturus.pp_table dump
IMbackK commented 6 months ago

Hi yeah these values look correct at a glance

interesting is that the initial reason why i was looking into this was that mi100s (all mi100 across all firmwares and kernel versions) never downclock the vram/uclk but the table dose include other operating points too:

  FreqTableUclk:
    FreqTableUclk 0: 600
    FreqTableUclk 1: 800
    FreqTableUclk 2: 1000
    FreqTableUclk 3: 1200

the kernel never reads these or ever changes the uclk from the bootup default (which is the top rate), which wastes a tonne of power.

anyhow thank you!

sibradzic commented 6 months ago

Support for MI100 / Arcturus / CDNA1 added in the release v0.2.2

@IMbackK In case you have access to MI2x0 VBIOS, would be very appreciated :bow: