STRUCT AMDXDNA_DRM_SYNC_BO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct amdxdna_drm_sync_bo(9) β€” the Kernel API Manual ✨

okay so bestie, welcome to the struct amdxdna_drm_sync_bo(9) page from the Kernel API Manual β€” this is literally the little struct that tells everyone "hey, sync THIS buffer object, in THIS direction, right HERE, and it's THIS big" πŸŽ€


🌸 NAME 🌸

struct amdxdna_drm_sync_bo β€” the sync buffer object. that's it, that's the vibe πŸ’–


✨ SYNOPSIS ✨

here's the whole thing, character for character, no cap:

struct amdxdna_drm_sync_bo {
    __u32 handle;
  #define SYNC_DIRECT_TO_DEVICE   0U;
  #define SYNC_DIRECT_FROM_DEVICE 1U;
    __u32 direction;
    __u64 offset;
    __u64 size;
 };

like... look at her. so structured. so organized. main character energy fr πŸ‘‘


πŸ¦‹ Members πŸ¦‹

  • handle β€” the buffer object handle. this is the little name-tag that says which buffer object we're talking about 🫢
  • direction β€” the direction of the sync, and lowkey the whole point: it can go from the device or to the device. the two #defines up there in the synopsis are SYNC_DIRECT_TO_DEVICE (0U) and SYNC_DIRECT_FROM_DEVICE (1U), so you literally cannot get confused about which way the data is flowing πŸ’…
  • offset β€” the offset in the buffer where the syncing happens. not the whole thing, just the spot πŸ“
  • size β€” the size, in bytes. how many of them. the amount. iconic 🌈

πŸ‘‘ SEE ALSO πŸ‘‘

the kernel file itself lives at ./include/uapi/drm/amdxdna_accel.h β€” that's where the struct is at home 🏠 and here's the whole friend group, all of them:

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

like okay go off, entire amdxdna fam πŸ˜­πŸ’œ


ngl this page is short but she ate. read the SEE ALSO list if you wanna go deeper, bestie β€” that's where the lore is 🧚

and that's a wrap!! this page came out of ./include/uapi/drm and it's dated October 2026 β€” ty for coming to my TED talk, mwah πŸ’‹πŸ“ periodt.

πŸ“¦ where this page comes from