STRUCT DRM_XE_QUERY_UC_FW_VERSION(9)
π struct drm_xe_query_uc_fw_version β NAME β¨
okay so bestie, this is struct drm_xe_query_uc_fw_version from the Kernel API Manual (the manual name is right there in the header, we're not copying that whole line, we're better than that π) β and it does exactly one iconic thing: query a micro-controller firmware version. that's it. that's the whole job. and it ate. π
π¦ SYNOPSIS π¦
here's the whole struct, character for character, no cap:
struct drm_xe_query_uc_fw_version {
#define XE_QUERY_UC_TYPE_GUC_SUBMISSION 0;
#define XE_QUERY_UC_TYPE_HUC 1;
__u16 uc_type;
__u16 pad;
__u32 branch_ver;
__u32 major_ver;
__u32 minor_ver;
__u32 patch_ver;
__u32 pad2;
__u64 reserved;
};
πΈ Members πΈ
okay let's meet the cast, because every single one of these field names is a whole personality:
uc_typeβ the micro-controller type you wanna query the firmware version for π (this is the main character of the struct, honestly)padβ MBZ. that's it. MBZ. (you know what MBZ means, bestie β must be zero, do not touch, it's giving "reserved parking spot" π)branch_verβ the branch uc fw version πΏmajor_verβ the major uc fw version βminor_verβ the minor uc fw version π¦patch_verβ the patch uc fw version π©Ήpad2β MBZ again. also must be zero. also do not touch. twice the padding, twice the discipline πreservedβ Reserved. literally its whole job is to sit there and be reserved π
β¨ Description β¨
so the way this works: you hand it a uc_type, and it hands you back the branch, major, minor and patch version of the micro-controller firmware. that's the whole flow. very "give me one thing, get four things" of it. π₯
fr fr though β this is the classic "you ask politely with one field, it answers with the receipts" situation, and honestly? iconic.
π SEE ALSO π
grab a snack, because this list is LONG and we are NOT skipping a single one of these, bestie. every single reference, in order, exactly as it appears:
Kernel file ./include/uapi/drm/xe_drm.h β and then: Xe Device Block Diagram(9), Xe uAPI Overview(9), Xe IOCTL Extensions(9), struct drm_xe_user_extension(9), struct drm_xe_ext_set_property(9), struct drm_xe_engine_class_instance(9), struct drm_xe_engine(9), struct drm_xe_query_engines(9), enum drm_xe_memory_class(9), struct drm_xe_mem_region(9), struct drm_xe_query_mem_regions(9), struct drm_xe_query_config(9), struct drm_xe_gt(9), struct drm_xe_query_gt_list(9), struct drm_xe_query_topology_mask(9), struct drm_xe_query_engine_cycles(9), struct drm_xe_query_pxp_status(9), struct drm_xe_device_query(9), struct drm_xe_gem_create(9), struct drm_xe_gem_mmap_offset(9), struct drm_xe_vm_create(9), struct drm_xe_vm_destroy(9), struct drm_xe_vm_bind_op(9), struct drm_xe_vm_bind(9), struct drm_xe_vm_get_property(9), struct drm_xe_exec_queue_create(9), struct drm_xe_exec_queue_destroy(9), struct drm_xe_exec_queue_get_property(9), struct drm_xe_sync(9), struct drm_xe_exec(9), struct drm_xe_wait_user_fence(9), enum drm_xe_observation_type(9), enum drm_xe_observation_op(9), struct drm_xe_observation_param(9), enum drm_xe_observation_ioctls(9), enum drm_xe_oa_unit_type(9), struct drm_xe_oa_unit(9), struct drm_xe_query_oa_units(9), enum drm_xe_oa_format_type(9), enum drm_xe_oa_property_id(9), struct drm_xe_oa_config(9), struct drm_xe_oa_stream_status(9), struct drm_xe_oa_stream_info(9), enum drm_xe_pxp_session_type(9), enum drm_xe_eu_stall_property_id(9), struct drm_xe_query_eu_stall(9), struct drm_xe_madvise(9), struct drm_xe_mem_range_attr(9), struct drm_xe_vm_query_mem_range_attr(9), struct drm_xe_exec_queue_set_property(9), Xe DRM RAS(9), enum drm_xe_ras_error_severity(9), enum drm_xe_ras_error_component(9).
like I said. LONG. but we read all of them. we're thorough like that. π«Ά
ok and that's the whole page, bestie!! this one lives at./include/uapi/drmand the source date on it is October 2026 β so yeah, shoutout to./include/uapi/drm, October 2026, and thestruct drm_...c_fw_version(9)footer energy that brought us here. mwah π go query some firmware versions responsibly πβ¨π
π¦ 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