STRUCT DRM_XE_EXT_SET_PROPERTY(9)
π NAME π
struct drm_xe_ext_set_property β the generic set-property extension, bestie. This is the little struct that lets you bolt a set_property operation onto, like, any of Xe's IOCTLs. Obsessed.
Oh and real quick β this whole thing lives in the Kernel API Manual, so. Yeah. That's the vibe.
β¨ SYNOPSIS β¨
struct drm_xe_ext_set_property {
struct drm_xe_user_extension base;
__u32 property;
__u32 pad;
union {
__u64 value;
__u64 ptr;
};
__u64 reserved[2];
};
π Members π
baseβ the base user extension, your foundational lil entry point π«Άpropertyβ the property you're setting. like, the actual thing you came here to dopadβ MBZ. that's "must be zero," bestie, so put a0in there and move on π{unnamed_union}β an anonymous union, literally has no name, main character energy honestlyvalueβ the property value, right there inlineptrβ a pointer to a user value, for when you're feeling indirect πreservedβ Reserved. leave it alone. no cap π
π Description π
Okay so picture this: a generic struct, right? And what it does is it lets any of Xe's IOCTL be extended with a set_property operation. That's it. That's the whole serve. One struct, all the IOCTLs, iconic behavior β¨π§
π SEE ALSO π
Kernel file ./include/uapi/drm/xe_drm.h β plus a whole friend group of cross-references:
Xe Device Block Diagram(9)Xe uAPI Overview(9)Xe IOCTL Extensions(9)struct drm_xe_user_extension(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_uc_fw_version(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)
π¦ that's the whole page, bestie. go set some properties. iykyk.
kisses, this page came from ./include/uapi/drm and it's dated October 2026 β catch you in the next release, mwah ππΈ
π¦ 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