Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Strix Halo CPUs #334

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Conversation

geeksville
Copy link

Hi @FlyGoat,

It was good chatting with you via email. I've made some progress on adding Strix Halo CPU support. I'm attaching this PR but I'll keep adding to it in my workspace. CPU undervolting works well (My machine can run reliablity down to about -40 0xfffd8 for coal - if I go lower than that I start to see failures in the mprime stress test)

I'm now working on adding/testing similar undervolt (and power, temperature, voltage reading) for the GPU side. We'll see how that goes...

  • Undervolting CPU with --set-coal seems to work
  • Added support for reading per cor CPU power, voltage and temperature (16 cores)
  • Basic dumping with -i or --dump-tables seems to work.

$ sudo ./ryzenadj -i
CPU Family: Strix Halo
SMU BIOS Interface Version: 25
Version: v0.16.0
PM Table Version: 64020c

Name Value Parameter
STAPM LIMIT 71.000 stapm-limit
STAPM VALUE 20.293
PPT LIMIT FAST 71.000 fast-limit
PPT VALUE FAST 28.647
PPT LIMIT SLOW 52.000 slow-limit
PPT VALUE SLOW 22.021
StapmTimeConst nan stapm-time
SlowPPTTimeConst nan slow-time
PPT LIMIT APU nan apu-slow-limit
PPT VALUE APU nan
TDC LIMIT VDD nan vrm-current
TDC VALUE VDD nan
TDC LIMIT SOC nan vrmsoc-current
TDC VALUE SOC nan
EDC LIMIT VDD nan vrmmax-current
EDC VALUE VDD nan
EDC LIMIT SOC nan vrmsocmax-current
EDC VALUE SOC nan
THM LIMIT CORE 95.000 tctl-temp
THM VALUE CORE 52.785
STT LIMIT APU 95.000 apu-skin-temp
STT VALUE APU 52.785
STT LIMIT dGPU 95.000 dgpu-skin-temp
STT VALUE dGPU 55.655
CCLK Boost SETPOINT nan power-saving /
CCLK BUSY VALUE nan max-performance

* Undervolting CPU with --set-coal seems to work
* Added support for reading per cor CPU power, voltage and temperature (16 cores)
* Basic dumping with -i or --dump-tables seems to work.

$ sudo ./ryzenadj -i
CPU Family: Strix Halo
SMU BIOS Interface Version: 25
Version: v0.16.0
PM Table Version: 64020c
|        Name         |   Value   |     Parameter      |
|---------------------|-----------|--------------------|
| STAPM LIMIT         |    71.000 | stapm-limit        |
| STAPM VALUE         |    20.293 |                    |
| PPT LIMIT FAST      |    71.000 | fast-limit         |
| PPT VALUE FAST      |    28.647 |                    |
| PPT LIMIT SLOW      |    52.000 | slow-limit         |
| PPT VALUE SLOW      |    22.021 |                    |
| StapmTimeConst      |       nan | stapm-time         |
| SlowPPTTimeConst    |       nan | slow-time          |
| PPT LIMIT APU       |       nan | apu-slow-limit     |
| PPT VALUE APU       |       nan |                    |
| TDC LIMIT VDD       |       nan | vrm-current        |
| TDC VALUE VDD       |       nan |                    |
| TDC LIMIT SOC       |       nan | vrmsoc-current     |
| TDC VALUE SOC       |       nan |                    |
| EDC LIMIT VDD       |       nan | vrmmax-current     |
| EDC VALUE VDD       |       nan |                    |
| EDC LIMIT SOC       |       nan | vrmsocmax-current  |
| EDC VALUE SOC       |       nan |                    |
| THM LIMIT CORE      |    95.000 | tctl-temp          |
| THM VALUE CORE      |    52.785 |                    |
| STT LIMIT APU       |    95.000 | apu-skin-temp      |
| STT VALUE APU       |    52.785 |                    |
| STT LIMIT dGPU      |    95.000 | dgpu-skin-temp     |
| STT VALUE dGPU      |    55.655 |                    |
| CCLK Boost SETPOINT |       nan | power-saving /     |
| CCLK BUSY VALUE     |       nan | max-performance    |
Readback for gfx clk, volt, and temperature now works.

Alas the opcode for setting cogfx is different from vangogh/hawkpoint
so no support for undervolting GPU until someone figures out
the mystery code.
@FlyGoat
Copy link
Owner

FlyGoat commented Mar 25, 2025

Thanks for contribution! Nice to talk to you.

I'll investigate rest service calls.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants