STRUCT AMDXDNA_DRM_CONFIG_HWCTX(9)
π struct amdxdna_drm_config_hwctx β Kernel API Manual
okay bestie, so this is the page for struct amdxdna_drm_config_hwctx, from the Kernel API Manual, and it's literally the "configure my hardware context" struct β¨ β the whole point is telling the driver how you want your hwctx set up. it's short, it's iconic, it's giving quiet luxury, and we're gonna go through every single field together π«Ά
β¨ NAME β¨
struct amdxdna_drm_config_hwctx β configure hardware context π
πΈ SYNOPSIS πΈ
struct amdxdna_drm_config_hwctx {
__u32 handle;
__u32 param_type;
__u64 param_val;
__u32 param_val_size;
__u32 pad;
};
that's the whole glow-up right there, no cap π
π¦ Members π¦
the five fields, in order, we do not skip π§
handleβ the hardware context handle. this is your little ID bracelet for the hwctx you're talking about πparam_typeβ a value fromenum amdxdna_drm_config_hwctx_param. it says which structure you're passing in throughparam_val. it's the "hey bestie, this is what's in the box" field π¦param_valβ a structure specified by theparam_typestruct member. yeah, the naming is a little silly, but she slays πparam_val_sizeβ the size of the parameter buffer thatparam_valpoints to. and there's a cute little loophole: ifparam_valis not a pointer, the driver can ignore this whole thing πpadβ MBZ. that is the entire description. MBZ. iykyk π
β Note β
real talk for a sec, because this is the part you don't wanna skip: ifparam_valis a pointer pointing to a buffer, the maximum size of that buffer is4KiB(PAGE_SIZE)π₯ so don't get cute and send her a giant buffer β she will not be amused π
π SEE ALSO π
the kernel file ./include/uapi/drm/amdxdna_accel.h, plus this whole extended friend group of structs ππ:
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_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_get_array(9)struct amdxdna_drm_set_state(9)struct amdxdna_drm_set_power_mode(9)
and that's the page, bestie!! π«Ά this little love letter lives in ./include/uapi/drm, and the version vibes are dated October 2026. go configure that hardware context β main character energy only π
β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms