STRUCT DRM_XE_EXT_SET_PROPERTY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 do
  • pad β€” MBZ. that's "must be zero," bestie, so put a 0 in there and move on πŸ’€
  • {unnamed_union} β€” an anonymous union, literally has no name, main character energy honestly
  • value β€” the property value, right there inline
  • ptr β€” 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