STRUCT DRM_ROCKET_PREP_BO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct drm_rocket_prep_bo(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ β€” this is the page for struct drm_rocket_prep_bo, and it's literally the ioctl argument for starting CPU ownership of the BO. yes, THE argument. main character struct energy fr fr πŸŽ€


🌸 NAME 🌸

struct drm_rocket_prep_bo β€” the ioctl argument for starting CPU ownership of the BO. that's the whole vibe. that's the assignment. πŸ’…


✨ SYNOPSIS ✨

struct drm_rocket_prep_bo {
    __u32 handle;
    __u32 reserved;
    __s64 timeout_ns;
 };

look at her. three members. flawless. no notes. πŸ‘‘


πŸ¦‹ Members πŸ¦‹

  • handle β€” Input: the GEM handle of the buffer object. this is the which buffer field, iykyk πŸ”₯
  • reserved β€” Reserved, must be zero. and like... she MEANS it, bestie. not "probably zero", not "zero-ish". zero. don't be quirky with this one 🫢
  • timeout_ns β€” Input: the amount of time to wait for NPU jobs. yes the _ns is nanoseconds, she's precise like that ⭐

🧚 Description 🧚

so what does she actually do? she takes care of waiting for any NPU jobs that might still be using the NPU β€” like, all of them, no job left behind 😭 β€” and then she performs cache synchronization. that's it, that's the whole job. waiting + syncing. iconic behaviour honestly 🌈

ngl this is the "bestie hold on, let me make sure nothing's still touching the NPU" step. cache sync included. do not skip her. πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

  • Kernel file ./include/uapi/drm/rocket_accel.h
  • struct drm_rocket_create_bo(9)
  • struct drm_rocket_fini_bo(9)
  • struct drm_rocket_task(9)
  • struct drm_rocket_job(9)
  • struct drm_rocket_submit(9)

go read the whole friend group, they're all linked and they all slay in their own way πŸ’œπŸ¦‹πŸŒΈ


and that's the page, bestie!! πŸŽ€ this one lives in ./include/uapi/drm, dated October 2026 β€” mwah, go prep that BO, ily, bye πŸ’–βœ¨πŸ“

πŸ“¦ where this page comes from