xe_force_wake_assert_held(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… xe_force_wake_assert_held β€” the vibe check for your forcewake domain

okay so bestie, welcome to the Kernel API Manual entry for xe_force_wake_assert_held, and honestly? it's giving "one job, and it does it." let me explain 🫢


✨ NAME ✨

xe_force_wake_assert_held β€” asserts domain is awake πŸ’€βž‘οΈπŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

void xe_force_wake_assert_held (struct xe_force_wake *fw , enum
       xe_force_wake_domains domain );

that's it. that's the whole flex. no return value, no drama, just vibes and an assertion. periodt. πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • fw β€” your xe_force_wake structure, the main character of this whole situation πŸ‘‘
  • domain β€” an xe_force_wake_domains value, and listen, it has to be apart from XE_FORCEWAKE_ALL. one domain only, no bundling, we don't do combo deals here πŸ™ˆ

🌸 DESCRIPTION 🌸

so xe_force_wake_assert_held is literally designed to confirm that one particular forcewake domain is awake. that's the whole assignment. it checks a single domain's wakefulness, and it does not verify the wakefulness of multiple domains β€” not its job, not its problem, not today 😭

which brings us to the big rule: make sure the caller doesn't input multiple domains (XE_FORCEWAKE_ALL) as a parameter. like, fr fr, don't do it. this function is for one domain, bestie. give it one domain. it will slay. give it XE_FORCEWAKE_ALL and you're just setting yourself up πŸ’€

⚠️ heads up: XE_FORCEWAKE_ALL is not a valid parameter here β€” the function is only built to assert a single domain, not a whole set of them. keep it singular, keep it cute. ✨

πŸ”₯ SEE ALSO πŸ”₯

  • the kernel file ./drivers/gpu/drm/xe/xe_force_wake.h β€” go read it, it's iconic πŸ“–
  • xe_force_wake_ref_has_domain(9) β€” the sibling function, also very much worth your time 🧚

🌈 a little sign-off 🌈

this page lives over in ./drivers/gpu/drm/xe, it's dated October 2026, and it's officially page xe_force_wake_assert_held(9) of the Kernel API Manual. ok that's the whole thing, love u, go assert some domains πŸ’–βœ¨πŸ“

πŸ“¦ where this page comes from