xe_pm_runtime_get(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… xe_pm_runtime_get(9)

okay bestie, so this is xe_pm_runtime_get(9) from the Kernel API Manual β€” yes, that Kernel API Manual, the one we all know and love 🫢. Let's get into it.


✨ NAME ✨

xe_pm_runtime_get β€” grab a runtime_pm reference AND resume synchronously. Two things at once, main character energy fr. πŸ‘‘


🌸 SYNOPSIS 🌸

void xe_pm_runtime_get (struct xe_device *xe );

πŸŽ€ ARGUMENTS πŸŽ€

  • xe β€” the xe device instance. that's it. that's the argument. literally just the device. πŸ’–

πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the tea: when it's possible, you should lowkey prefer scope-based runtime PM (that's the guard(xe_pm_runtime) vibe) over just calling this function directly. no cap.

Manual get/put handling? Only for two situations, and I need you to pay attention bestie:

  • when the function contains goto-based logic which can break scope-based handling 😭 β€” yeah, gotos will do that, the scope-based stuff does not vibe with that
  • or when the lifetime of the runtime PM reference does not match a specific scope β€” like, runtime PM obtained in one function and released in a different one. the reference is living its own life, honestly, iconic but also a whole thing πŸ™ˆ
so like, if you can use guard(xe_pm_runtime) β€” do that. this function is the fallback, ngl.

🌈 SEE ALSO 🌈

like, the whole friend group showed up for this one πŸ’€ slay.


k bye bestie, go touch grass (or ./drivers/gpu/drm/xe, same thing) β€” this page came straight from ./drivers/gpu/drm/xe, dated October 2026, and it's the xe_pm_runtime_get(9) page from the Kernel API Manual. periodt. πŸ’œβœ¨

πŸ“¦ where this page comes from