__intel_wait..._register_fw(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so bestie, this is the __intel_wait..._register_fw(9) page from the Kernel API Manual β€” and the function is literally __intel_wait_for_register_fw, which waits until register matches expected state ✨. no cap, that’s the whole vibe.


✨ SYNOPSIS ✨

int __intel_wait_for_register_fw (struct intel_uncore *uncore , i915_reg_t reg , u32 mask , u32 value , unsigned int fast_timeout_us , unsigned int slow_timeout_ms , u32 *out_value );

πŸŽ€ ARGUMENTS πŸŽ€

  • uncore β€” the struct intel_uncore 🫢
  • reg β€” the register to read πŸ‘‘
  • mask β€” mask to apply to register value πŸŽ€
  • value β€” expected value ⭐
  • fast_timeout_us β€” fast timeout in microsecond for atomic/tight wait πŸ”₯
  • slow_timeout_ms β€” slow timeout in millisecond 🌸
  • out_value β€” optional placeholder to hold registry value πŸ’…

πŸ¦‹ DESCRIPTION πŸ¦‹

This routine waits until the target register reg contains the expected value after applying the mask, i.e. it waits until:

(intel_uncore_read_fw(uncore, reg) & mask) == value

Otherwise, the wait will timeout after slow_timeout_ms milliseconds. ⏳

For atomic context slow_timeout_ms must be zero and fast_timeout_us must be not larger than 20,0000 microseconds. 😭 this part is serious, fr fr.

Note that this routine assumes the caller holds forcewake asserted, it is not suitable for very long waits. See intel_wait_for_register if you wish to wait without holding forcewake for the duration (i.e. you expect the wait to be slow). 🧚


🌸 RETURN 🌸

0 if the register matches the desired condition, or -ETIMEDOUT. πŸ’€


πŸ’… SEE ALSO πŸ’…

Kernel file ./drivers/gpu/drm/i915/intel_uncore.c πŸ“


xoxo, your Unix bestie πŸ’– β€” this page is from ./drivers/gpu/drm/i915, October 2026 edition πŸŽ€βœ¨

πŸ“¦ where this page comes from