i915_request_wait(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… i915_request_wait β€” bestie's guide to waiting on a GPU request

okay so, real talk: this is i915_request_wait from the Kernel API Manual, and it's literally the "pls finish ur homework so I can move on" function of the i915 world. Let's get into it ✨


🌸 SYNOPSIS 🌸

long i915_request_wait (struct i915_request *rq , unsigned int flags ,
       long timeout );

three args, one return value, zero drama (well… mostly, see the NOTE below πŸ‘€)


πŸŽ€ ARGUMENTS πŸŽ€

  • rq β€” the request you're waiting upon, aka the main character of this whole function πŸ’–
  • flags β€” how to wait. that's the vibe check: it tells the function which waiting mode you want πŸ¦‹
  • timeout β€” how long to wait, measured in jiffies ⏳

✨ DESCRIPTION ✨

i915_request_wait waits for the request to be completed β€” but only for a maximum of timeout jiffies. and if you pass MAX_SCHEDULE_TIMEOUT, that means an unbounded wait, i.e. no cap at all, we're here forever until it's done πŸ˜­πŸ‘‘

so what does it give back? if the request completed, you get the remaining time (in jiffies) πŸ’« β€” which, heads up, may be zero. if the request is still unfinished after the timeout expires, you get -ETIME πŸ’€

and one more: it may return -EINTR if it's called with I915_WAIT_INTERRUPTIBLE and a signal is pending before the request completes πŸ™ˆ (yes that's how it's worded, we're rolling with it)


⚠️ NOTE ⚠️

this function behaves differently from dma-fence wait semantics when timeout = 0 πŸ‘€ it returns 0 on success, and -ETIME if not signaled. not a drill, don't assume it matches the dma-fence vibe 🌈

🫢 SEE ALSO 🫢

all the siblings, all iconic, go read them too πŸ“šπŸ’…


and that's the whole thing bestie, no cap 🧚 from ./drivers/gpu/drm/i915, dated October 2026, manual page i915_request_wait(9) β€” slay, go wait on that request πŸ’–πŸŒΈπŸŽ€

πŸ“¦ where this page comes from