update_turbo_limits(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– update_turbo_limits(9) β€” like, the Kernel API Manual entry, bestie πŸ’–

okay so you found the update_turbo_limits(9) page in the Kernel API Manual and you're like "what is this" β€” don't worry, I got you. this one's short but it's so important, so let's get into it 🫢


✨ NAME ✨

update_turbo_limits β€” literally the function that gets various limits & settings from regs. that's it, that's the whole vibe. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

void update_turbo_limits (struct ips_driver *ips );

no return value, no cap β€” it's a void, she does her work and leaves. ⭐


πŸŽ€ ARGUMENTS πŸŽ€

  • ips β€” the IPS driver struct. that's the whole argument list, one (1) struct, she's low maintenance. πŸ’œ

🌸 DESCRIPTION 🌸

so here's the tea πŸ“ β€” this function updates the IPS power & temp limits, along with the turbo enable flags, based on the latest register contents. like, it reads the regs and goes "okay bestie, here's where we're at now" and refreshes everything accordingly. ✨

it's used at init time, and also for runtime BIOS support β€” and that part is the key detail: runtime BIOS support requires polling the regs for updates. for example, as a result of an AC->DC transition. yes, literally when you unplug your laptop, this is part of the chain of events that cares about it. πŸ”Œβž‘οΈπŸ”‹

LOCKING: the caller must hold turbo_status_lock β€” but outside of init. so at init you're fine, at runtime you need that lock, no exceptions, periodt. πŸ”’

πŸ”₯ SEE ALSO πŸ”₯

like damn, that's a whole friend group 😭 but fr fr, go read them, iykyk. πŸ‘‘


that's the whole page, bestie β€” go forth and turbo responsibly πŸ’…βœ¨

cute lil sign-off: this one lives over in ./drivers/platform/x86, dated October 2026. mwah, bye! πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from