xe_mmio_wait32(9)
π 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 untiltimeout_usis reached. π°οΈout_valβ if notNULL, points where to store the last unmasked value. If itβs notNULL, this is where that last unmasked value gets stored. πatomicβ needs to betrueif calling from an atomic context. If youβre calling from an atomic context, this needs to betrue, 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_usrepresents the minimum amount of time to wait before giving up. The actual time taken by this function can be a little more thantimeout_usfor different reasons, specially in non-atomic contexts. Thus, it is possible that this function succeeds even aftertimeout_ushas passed. No cap, thatβs literally how itβs documented. π
π¦ SEE ALSO π¦
- Kernel file
./drivers/gpu/drm/xe/xe_mmio.c xe_mmio_probe_tiles(9)xe_mmio_probe_early(9)xe_mmio_init(9)xe_mmio_read64_2x32(9)xe_mmio_wait32_not(9)xe_mmio_init_vf_view(9)
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
- 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