STRUCT DRM_IVPU_SUBMIT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct drm_ivpu_submit(9) β€” submit commands to the VPU πŸ’…

okay bestie, welcome to the Kernel API Manual corner πŸ’– today’s main character is struct drm_ivpu_submit, and the whole vibe is Submit commands to the VPU. periodt.


✨ NAME ✨

  • struct drm_ivpu_submit β€” Submit commands to the VPU

πŸŽ€ SYNOPSIS πŸŽ€

struct drm_ivpu_submit {
    __u64 buffers_ptr;
    __u32 buffer_count;
    __u32 engine;
    __u32 flags;
    __u32 commands_offset;
    __u32 priority;
};

🫢 Members 🫢

  • buffers_ptr β€” A pointer to an u32 array of GEM handles of the BOs required for this job. The number of elements in the array must be equal to the value given by buffer_count.

The first BO is the command buffer. The rest of array has to contain all BOs referenced from the command buffer.

  • buffer_count β€” Number of elements in the buffers_ptr
  • engine β€” Select the engine this job should be executed on
    • DRM_IVPU_ENGINE_COMPUTE β€” Performs Deep Learning Neural Compute Inference Operations
  • flags β€” Reserved for future use - must be zero
  • commands_offset β€” Offset inside the first buffer in buffers_ptr containing commands to be executed. The offset has to be 8-byte aligned.
  • priority β€” Priority to be set for related job command queue, can be one of the following:
    • DRM_IVPU_JOB_PRIORITY_DEFAULT
    • DRM_IVPU_JOB_PRIORITY_IDLE
    • DRM_IVPU_JOB_PRIORITY_NORMAL
    • DRM_IVPU_JOB_PRIORITY_FOCUS
    • DRM_IVPU_JOB_PRIORITY_REALTIME

πŸ¦‹ Description πŸ¦‹

Execute a single command buffer on a given VPU engine. Handles to all referenced buffer objects have to be provided in buffers_ptr.

User space may wait on job completion using DRM_IVPU_BO_WAIT ioctl.

🌈 SEE ALSO 🌈


signed, sealed, slayed by ./include/uapi/drm, dated October 2026, all for struct drm_ivpu_submit(9) πŸ«ΆπŸ’–

πŸ“¦ where this page comes from