xe_mmio_wait32(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… xe_mmio_wait32(9) β€” Kernel API Manual

okay so bestie, welcome to the Kernel API Manual page for xe_mmio_wait32(9). This is the little poller that keeps checking a register until the masked value matches what you want, and it’s lowkey iconic. No cap, we’re keeping every argument, value, caveat, and reference exactly as it is. 🫢

🌸 NAME 🌸

xe_mmio_wait32 β€” Wait for a register to match the desired masked value ✨

πŸŽ€ SYNOPSIS πŸŽ€

the way that signature goes, fr fr:

int xe_mmio_wait32 (struct xe_mmio *mmio , struct xe_reg reg , u32 mask
       , u32 val , u32 timeout_us , u32 *out_val , bool atomic );

πŸ’… ARGUMENTS πŸ’…

  • mmio β€” MMIO target. Yep, that’s the target, periodt. πŸ’–
  • reg β€” register to read value from. The register we’re reading from, obviously. πŸ‘‘
  • mask β€” mask to be applied to the value read from the register. It gets applied to whatever value we read from the register, ngl. πŸ’…
  • val β€” desired value after applying the mask. That’s the value we want after the mask does its thing. ✨
  • timeout_us β€” time out after this period of time. Wait logic tries to be smart, applying an exponential backoff until timeout_us is reached. πŸ•°οΈ
  • out_val β€” if not NULL, points where to store the last unmasked value. If it’s not NULL, this is where that last unmasked value gets stored. πŸŽ€
  • atomic β€” needs to be true if calling from an atomic context. If you’re calling from an atomic context, this needs to be true, bestie. ⚑

✨ DESCRIPTION ✨

This function polls for the desired masked value and returns zero on success or -ETIMEDOUT if timed out. Like, it keeps checking until it gets the masked value it wants, and if it times out you get -ETIMEDOUT. πŸ’€

okay but the timeout caveat is important, bestie: timeout_us represents the minimum amount of time to wait before giving up. The actual time taken by this function can be a little more than timeout_us for different reasons, specially in non-atomic contexts. Thus, it is possible that this function succeeds even after timeout_us has passed. No cap, that’s literally how it’s documented. 😭

πŸ¦‹ SEE ALSO πŸ¦‹


that’s the whole page, bestie! sourced from ./drivers/gpu/drm/xe in the Kernel API Manual, dated October 2026. xe_mmio_wait32(9) out β€” stay hydrated and may your registers match on the first poll πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from