STRUCT AMDXDNA_DRM_GET_ARRAY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct amdxdna_drm_get_array(9) β€” a lil' field guide

okay so this is from the Kernel API Manual, bestie, and it's literally the struct you use when you wanna get an information array out of the amdxdna driver. yeah. that's the whole vibe. let's get into it 🫢


🌸 NAME 🌸

struct amdxdna_drm_get_array β€” Get information array. that's it, that's the tweet. she fetches info arrays, no cap πŸ’–


✨ SYNOPSIS ✨

here's the whole struct, character for character, do NOT touch her:

struct amdxdna_drm_get_array {
    __u32 param;
    __u32 element_size;
    __u32 num_element;
    __u32 pad;
    __u64 buffer;
 };

(yeah there's a lil' extra space before the closing brace in the original, we're keeping it, that's her little quirk πŸŽ€)


πŸ¦‹ Members πŸ¦‹

🌈 param

the "what do you actually want, bestie" field. here's the supported lineup:

  • DRM_AMDXDNA_HW_CONTEXT_ALL β€” returns all created hardware contexts. the whole friend group πŸ”₯
  • DRM_AMDXDNA_HW_LAST_ASYNC_ERR β€” returns the last async error. the receipts of what went wrong most recently πŸ’€
  • DRM_AMDXDNA_BO_USAGE β€” returns usage of heap/internal/external BOs. she's nosy and she's counting πŸ‘‘

🌸 element_size

specifies the maximum element size… and then comes back with the actual element size. so she takes a suggestion and gives you the truth. iconic behavior honestly πŸ’…

⭐ num_element

same energy: specifies the maximum number of elements, and returns the actual number of elements. she under-promises, she reports accurately 🧚

πŸŽ€ pad

MBZ. and if you don't know what that means, it's "must be zero" β€” like, literally set it to zero, no cap, don't be weird about it πŸ™ˆ

πŸ’œ buffer

specifies the match conditions going in, returns the matched information array coming out. it's giving two-way street, it's giving bidirectional main character energy πŸ¦‹


πŸ“ SEE ALSO πŸ“

the kernel file where she actually lives: ./include/uapi/drm/amdxdna_accel.h

and her whole extended friend group, all of them, every last one, we don't leave a single mutual unmentioned:

  • 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_exec_cmd(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_set_state(9)
  • struct amdxdna_drm_set_power_mode(9)

k that's the whole page, mwah πŸ’‹ this lil' slice of docs lives over in ./include/uapi/drm and it's dated October 2026 β€” so mark your calendars, hydrate, and remember: pad is MBZ, always πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from