STRUCT AMDXDNA_DRM_EXEC_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct amdxdna_drm_exec_cmd πŸ’…

okay bestie, so this is a page from the Kernel API Manual β€” like, the official lore β€” and it's all about struct amdxdna_drm_exec_cmd, which is literally the "Execute command." struct. yes that's its whole NAME and it ate πŸ’…


✨ SYNOPSIS ✨

here's the whole vibe, character for character, do not touch:

struct amdxdna_drm_exec_cmd {
    __u64 ext;
    __u64 ext_flags;
    __u32 hwctx;
    __u32 type;
    __u64 cmd_handles;
    __u64 args;
    __u32 cmd_count;
    __u32 arg_count;
    __u64 seq;
 };

πŸŽ€ Members πŸŽ€

okay so every single one of these fields, no skipping, this is the whole cast πŸ‘‘

  • ext β€” MBZ. that's it. that's the whole field. MBZ, as in must be zero β€” it's giving "don't even try it, bestie" πŸ™ˆ
  • ext_flags β€” also MBZ. same energy, zero cap. leave it alone πŸ’€
  • hwctx β€” the hardware context handle. your lil backstage pass to the hardware vibe check 🎟️
  • type β€” one of the command types in enum amdxdna_cmd_type. pick your fighter ✨
  • cmd_handles β€” an array of command handles, or just the single command handle itself if there's literally only one (yes, it multitasks, main character energy fr fr) πŸ‘‘
  • args β€” array of arguments for all the command handles. group chat for args 🫢
  • cmd_count β€” how many command handles are in the cmd_handles array. count 'em πŸ”’
  • arg_count β€” how many arguments are in the args array. also count 'em πŸ”’
  • seq β€” the returned sequence number for this command. it comes back to you, that's the whole point πŸ¦‹
⚠️ quick reminder that ext and ext_flags are MBZ β€” must be zero β€” like, do not put stuff in there, it's not that kind of field, ngl 😭

🌈 SEE ALSO 🌈

the kernel file to know, and the entire extended universe of structs iykyk:

  • Kernel file ./include/uapi/drm/amdxdna_accel.h
  • struct amdxdna_drm_create_hwctx(9)
  • struct amdxdna_drm_destroy_hwctx(9)
  • struct amdxdna_cu_config(9)
  • struct amdxdna_hwctx_param_config_cu(9)
  • struct amdxdna_drm_config_hwctx(9)
  • struct amdxdna_drm_va_entry(9)
  • struct amdxdna_drm_va_tbl(9)
  • struct amdxdna_drm_create_bo(9)
  • struct amdxdna_drm_get_bo_info(9)
  • struct amdxdna_drm_sync_bo(9)
  • struct amdxdna_drm_wait_cmd(9)
  • struct amdxdna_drm_query_aie_status(9)
  • struct amdxdna_drm_query_aie_version(9)
  • struct amdxdna_drm_query_aie_tile_metadata(9)
  • struct amdxdna_drm_query_aie_metadata(9)
  • struct amdxdna_drm_query_clock(9)
  • struct amdxdna_drm_query_clock_metadata(9)
  • struct amdxdna_drm_query_sensor(9)
  • struct amdxdna_drm_query_hwctx(9)
  • struct amdxdna_drm_get_power_mode(9)
  • struct amdxdna_drm_query_firmware_version(9)
  • struct amdxdna_drm_get_resource_info(9)
  • struct amdxdna_drm_attribute_state(9)
  • struct amdxdna_drm_query_telemetry_header(9)
  • struct amdxdna_drm_get_info(9)
  • struct amdxdna_drm_hwctx_entry(9)
  • struct amdxdna_async_error(9)
  • struct amdxdna_drm_bo_usage(9)
  • struct amdxdna_drm_get_array(9)
  • struct amdxdna_drm_set_state(9)
  • struct amdxdna_drm_set_power_mode(9)

and that's the post 🫢 this whole thing lives in ./include/uapi/drm, dated October 2026, and it's forever filed under struct amdxdna_drm_exec_cmd(9). slay, go execute some commands, mwah πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from