[SOLVED] Radeon 780M: Thermal throttling to 800Mhz until entire laptop chassis cools off

Will those settings reset during firmware upgrades?

I still don’t understand how ec soft overrides impact throttling. What does smokeless_umaf fix then?

i dont know if it does reset when doing firmware upgrades, thats why i made a small fat32 partition on my boot drive with umaf in it so i can boot into it whenever i want and change it back in case a bios update does reset it, but so far i havent had any issues with it throttling again.

seems i spoke too soon…

Isn’t STAPM responsible to the 35W → 30W at prolonged max load. Does it also make the clock speed to below 1GHz based on chassis temperature?

no it does like 1.2ghz, but i also noticed its once cpu skin temperature reaches 50c thats when itll lock to 15w

Sorry, I mistook STAPM to STT control

is there no way of turning this 15w throttle thing off? once cpu skin temp hits 50~51c it just locks up, i thought it was a stapm thing at first but no. This kinda seems a bit dumb since i paid for a device with power i cant use.

set STT_SKIN_TEMPERATURE_LIMIT_APU from 10752 to 15752?

How about $ sudo ryzenadj --apu-skin-temp=90

This should set the target skin temperature to 90°C so it’s no longer a factor, only Tctl reaching 100°C will throttle

oh i did the ryzenadj thing already but it still throttled at 50c, im gonna try the stt thing tho

no doesnt seem to work, on the bright side it did need to reach 52c which i had to choke the laptop for it to even get that high, usually it sticks round 48 49c at full load so i dont think its a super big issue but its still annoying.

The thing you set in smokeless is the max the soft limits can be set, the ec (and the user using ryzenadj) the soft limits during runtime.

Where to find the setting userspace or EC throttling to 15W when skin temperature goes 52°C

Insert “godzilla having a stroke” meme, really not sure how to parse this.

Hard-coded somewhere deep in the EC firmware. Changing this firmware requires to flash it with special hardware. As an alternative you can look at this service: GitHub - AlxHnr/amd-ryzen-ignore-stapm: Disable throttling based on chassis (skin) temperature

In my experience anything above 50 makes no difference. But what makes a difference is to reapply slow and fast limits when throttling happens.

The bit in the ec I was messing with never touched anything about temperature limits. Did you ever look at an msr dump from ryzenadj when you had this throttling?

I do have a fw 13 with the 7840u and I am doing some quite messed up stuff to it and never had stuck throttling, do you have a reliable way to trigger it? Triggering it with the ccd would tell us if it’s the ec doing something weird.

Yes, but I don’t really know what to look for. But one thing I saw is the slow limit locking to 15 forever, until I stop the workload and let the chassis cools off.

  1. Put your laptop on a blanket
  2. Go to Stress My GPU | mprep’s website
  3. Click Stress TestCPU
  4. Wait ~8 minutes

Works every single time. Just note that there are two types of throttling which can happen:

  1. All cores fall below 900 MHz for a short while. After that the CPU temp declines to a stable 70ºC and stays there forever
  2. Slow limit locks to 15, all cores fall below 2.5 GHz, CPU temp declines to a stable 70ºC and stays there forever

The only ways to get out of this 70ºC cap is to either let the laptop first cool off completely, or just reapply power limits.

I don’t know what a ccd is and am not sure if I want to keep debugging the EC if there is no easy way to patch it myself. I already have a script (see above) which fixes all my throttling issues.

Well I do got a ccd so if I don’t forget I’ll see if I can reproduce it.

The 15W probably used to prevent “modern standby overheating in bags” from destroying the battery

Its more likely to prevent skin damage. When I ran my own power limits for a few hours to game with WASD keys, the tip of my middle finger was sore. It felt like when you play a guitar for the very first time and the strings tire your fingertips.

My problem is not that there is skin protection at all. My problem is that it the throttling is too excessive. Often my laptop works perfectly fine for 3+ hours of full load. But then when it throttles just one single time, it will never go back above 70ºC CPU temperature until I intervene manually. That is not proportional and I don’t see why the laptop can’t run under full load for 10+ hours or more.