STRUCT AMDXDNA_DRM_GET_BO_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct amdxdna_drm_get_bo_info β€” Kernel API Manual, but make it make sense

okay so bestie, welcome to the kernel API manual for struct amdxdna_drm_get_bo_info. Yes that's a long name, yes it's the whole vibe, no we are not abbreviating it. πŸŽ€


✨ NAME ✨

struct amdxdna_drm_get_bo_info β€” literally just here to Get buffer object information. That's it. That's the whole job. 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

struct amdxdna_drm_get_bo_info {
    __u64 ext;
    __u64 ext_flags;
    __u32 handle;
    __u32 pad;
    __u64 map_offset;
    __u64 vaddr;
    __u64 xdna_addr;
 };

look at her. seven fields, all accounted for, no notes. πŸ’œ


🌸 Members 🌸

okay so let's go field by field, iykyk:

  • ext β€” MBZ. that's it, that's the entry. do not put anything in there, she said what she said πŸ’€
  • ext_flags β€” MBZ too. icon behaviour honestly, zero obligations ✨
  • handle β€” the DRM buffer object handle. like the little name tag your buffer wears at the party πŸŽ€
  • pad β€” MBZ. padding, must be zero, minding its own business πŸ™ˆ
  • map_offset β€” returned DRM fake offset for mmap. yes "fake", no that's not shady, that's just what it's called, we don't ask questions πŸ’…
  • vaddr β€” returned user VA of the buffer. and here's the tea: it's 0 in case the user needs mmap. so if you see a zero, that's your cue, bestie 😭
  • xdna_addr β€” returned XDNA device virtual address. the actual device-side address, returned, slaying πŸ”₯
ngl the MBZ fields are MBZ. all three of them. don't get creative, it's not the moment πŸ‘‘

⭐ SEE ALSO ⭐

the whole extended friend group, no cap:

  • 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_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)

and that's the whole page bestie, go get that buffer info, you ate πŸ’–

sign-off szn 🫢 this one's served fresh from ./include/uapi/drm, dated October 2026, and it's the struct amdxdna_drm_get_bo_info(9) page, obviously. periodt. πŸ‘‘

πŸ“¦ where this page comes from