disable_rpm_wakeref_asserts(9)
π disable_rpm_wakeref_asserts(9) β from the Kernel API Manual, bestie π
okay so listen, this one's from the Kernel API Manual and it's genuinely a little niche but it's SO important, so buckle up π
β¨ NAME β¨
disable_rpm_wakeref_asserts β bestie, it literally just turns off the RPM assert checks π
πΈ SYNOPSIS πΈ
void disable_rpm_wakeref_asserts (struct intel_runtime_pm *rpm );
π¦ ARGUMENTS π¦
rpmβ theintel_runtime_pmstructure. that's it, that's the whole argument π«Ά
π DESCRIPTION π
so what this bad boy does is disable the asserts that check whether we're holding an RPM wakelock reference β like, it stops asking that question entirely. but bestie, key detail: the device-not-suspended checks stay fully enabled. we're not unplugging ALL the safety rails, just that one specific one π
it's meant to be used only in special circumstances, like the very specific case where our rule about the wakelock refcount wrt. the device power state doesn't hold. iykyk.
and what's the rule, you ask? okay so, per this rule: at any point where we access the HW or want to keep the HW in an active state, we must hold an RPM wakelock reference β and that reference has to be acquired via one of the intel_runtime_pm_get helpers. periodt. that's the law π
currently there are a few special spots where this rule doesn't hold:
- the IRQ and suspend/resume handlers
- the forcewake release timer
- the GPU RPS and hangcheck works
All other users should avoid using this function. no cap, it's not for you unless you're literally one of those spots π
π¨ okay and this part MATTERS: any calls to this function must have a symmetric call to enable_rpm_wakeref_asserts. symmetric. like, you turn it off, you turn it back on. do not leave it hanging π
π₯ SEE ALSO π₯
- Kernel file
./drivers/gpu/drm/i915/intel_runtime_pm.h enable_rpm_wakeref_asserts(9)β the other half of the symmetric-call situation, go read it π§
and that's the whole vibe, bestie! this page lives in ./drivers/gpu/drm/i915, it's dated October 2026, and it's part of the Kernel API Manual β slay, go forth and be symmetric with your calls πβ¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms