STRUCT I915_TTM_MEMCPY_WORK(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct i915_ttm_memcpy_work(9) ✨

okay so this is the Kernel API Manual page for struct i915_ttm_memcpy_work, and bestie it's literally the async memcpy worker that lives under a dma-fence πŸ’…


πŸŽ€ NAME πŸŽ€

struct i915_ttm_memcpy_work β€” Async memcpy worker under a dma-fence. that's it, that's the whole vibe πŸ¦‹


🌸 SYNOPSIS 🌸

struct i915_ttm_memcpy_work {
    struct dma_fence fence;
    struct work_struct work;
    spinlock_t lock;
    struct irq_work irq_work;
    struct dma_fence_cb cb;
    struct i915_ttm_memcpy_arg arg;
    struct drm_i915_private *i915;
    struct drm_i915_gem_object *obj;
    bool memcpy_allowed;
 };

look at her. the whole struct. not one field skipped, no cap πŸ‘‘


πŸ’– Members πŸ’–

  • fence β€” The dma-fence. iconic, load-bearing, the main character of this struct fr.
  • work β€” The work struct used for the memcpy work. yes queen, go do the copying 🫢
  • lock β€” The fence lock. and just so we're clear: not used to protect anything else ATM. don't get any ideas 😭
  • irq_work β€” Low latency worker that signals the fence, because it literally can't be done from the callback for lockdep reasons. lockdep said no and we respect it πŸ’€
  • cb β€” Callback for the accelerated migration fence. slay, migrate faster ⭐
  • arg β€” The argument for the memcpy functionality.
  • i915 β€” The i915 pointer.
  • obj β€” The GEM object.
  • memcpy_allowed β€” okay so this one's important: instead of processing the arg and falling back to memcpy or memset, we wedge the device and set the obj unknown_state, to prevent any further access to the object with the CPU or GPU. and on some devices we might only be permitted to use the blitter engine for such operations. it's giving "we do a little wedging" πŸ™ˆ
ngl that last one is not a cute little flag, it's a whole escalation. read it twice. the device gets wedged, periodt πŸ”₯

🌈 SEE ALSO 🌈

go read the friends too, iykyk 🧚


and that's the page, bestie!! this one shipped from ./drivers/gpu/drm/i915/gem back in October 2026, and the whole thing is literally titled struct i915_ttm_memcpy_work(9) β€” mwah, tysm for reading, ily, go touch grass and then go read the source πŸŒΈπŸ’œπŸŽ€

πŸ“¦ where this page comes from