STRUCT AMDXDNA_DRM_CREATE_BO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct amdxdna_drm_create_bo β€” bestie edition πŸ’–

okay so this is from the Kernel API Manual, and it's literally the page for struct amdxdna_drm_create_bo(9). sit down, grab a strawberry drink πŸ“, and let's get into it β€” no cap, it's short and slay.


✨ NAME ✨

struct amdxdna_drm_create_bo β€” the struct you use to create a buffer object. that's it, that's the vibe. main character energy for your buffer 🫢


🌸 SYNOPSIS 🌸

here's the whole shape of it, exactly as it is, do not come for me about the formatting:

struct amdxdna_drm_create_bo {
    __u64 flags;
    __u64 vaddr;
    __u64 size;
    __u32 type;
    __u32 handle;
};

like… look at her. five fields. iconic. πŸ’…


πŸŽ€ Members πŸŽ€

  • flags β€” the buffer flags. and it's MBZ. yes bestie, MBZ. respect the MBZ. πŸ™ˆ
  • vaddr β€” the user VA of the buffer, if applied. also MBZ. two MBZs in one struct, we love consistency ✨
  • size β€” the size, in bytes. the actual number, the moment of truth, the whole point πŸ¦‹
  • type β€” the buffer type. which kind of buffer, iykyk 🌈
  • handle β€” the returned DRM buffer object handle. not you setting it β€” it comes back to you, like a little gift 🎁 πŸ‘‘
ngl the handle one is the cutest detail: you're not putting anything in, the kernel's handing it back. returned. periodt. πŸ”₯

🧚 SEE ALSO 🧚

okay this is the long part and yes, we're doing all of them, in order, no skipping, no "and others" β€” every single one is getting its moment:

  • the kernel file ./include/uapi/drm/amdxdna_accel.h struct
  • 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_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_get_array(9)
  • struct amdxdna_drm_set_state(9)
  • struct amdxdna_drm_set_power_mode(9)

thirty-two plus the header file. that's a whole friend group and we're not leaving anyone out πŸ’€ 🫢


and that's the whole page!! she's giving "short but thorough" and honestly? obsessed.

sign-off time ✨ this one lives over in ./include/uapi/drm, and the version/date stamp on it is October 2026. see you in the group chat, bestie β€” go create some buffer objects πŸ’œπŸŽ€

πŸ“¦ where this page comes from