STRUCT DRM_ROCKET_TASK(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’œ NAME ๐Ÿ’œ

struct drm_rocket_task โ€” the little baby unit of work that gets run on the NPU, bestie โœจ

Okay so before we even get into it, this header situation: this page lives in the Kernel API Manual, and it's all about struct drm_rocket_task. That's the vibe. Sit with it ๐Ÿซถ


๐ŸŒธ SYNOPSIS ๐ŸŒธ

struct drm_rocket_task {
    __u32 regcmd;
    __u32 regcmd_count;
};

That's the whole struct, ngl. Two __u32s. Tiny. Iconic. Absolutely carrying the NPU on its back ๐Ÿ’…


๐ŸŽ€ Members ๐ŸŽ€

  • regcmd โ€” Input, bestie: a DMA address to the NPU mapping of the register command buffer. So likeโ€ฆ it's not the buffer itself, it's where the buffer lives as far as the NPU is concerned. Location check, slay โœจ
  • regcmd_count โ€” Input again: the number of commands chilling inside that register command buffer. Like how many things you're about to do. Counting matters ๐Ÿงฎ๐Ÿ’–

๐Ÿฆ‹ Description ๐Ÿฆ‹

A task is the smallest unit of work that can be run on the NPU. That's it. That's the whole personality. Smallest. Unit. Of work. Main character energy but make it micro ๐Ÿ‘‘๐ŸŒฑ

Everything else gets built on top of this little guy. Respect the little guy fr fr ๐Ÿ˜ค๐Ÿ’œ


โญ SEE ALSO โญ

Go read these next, no cap, they're the rest of the lore ๐Ÿ“

  • Kernel file ./include/uapi/drm/rocket_accel.h โ€” that's where the struct itself lives, the source of truth ๐Ÿ’ซ
  • struct drm_rocket_create_bo(9)
  • struct drm_rocket_prep_bo(9)
  • struct drm_rocket_fini_bo(9)
  • struct drm_rocket_job(9)
  • struct drm_rocket_submit(9)

๐ŸŒˆ THE SIGN-OFF ๐ŸŒˆ

This lil superstar page comes to you from ./include/uapi/drm, dated October 2026, all polished up for the Kernel API Manual โ€” and it's titled struct drm_rocket_task(9), obviously ๐Ÿ’– Go forth and submit tasks, queen ๐Ÿš€๐ŸŽ€

๐Ÿ“ฆ where this page comes from