STRUCT DRM_I915_ENGINE_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 struct drm_i915_engine_info(9) β€” like, the whole kernel API manual moment 🌸

okay bestie, so this is a page straight out of the Kernel API Manual β€” yes, the real one, the struct drm_i915_engine_info(9) one, and we're gonna get through it together. grab a lil snack πŸ“, it's gonna be cute and it's gonna be thorough.


✨ NAME ✨

struct drm_i915_engine_info β€” the struct itself. that's it, that's the title, the manpage doesn't even give us a one-liner here, so we're just vibing with the name. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole shape of it, character for character, no cap:

struct drm_i915_engine_info {
    struct i915_engine_class_instance engine;
    __u32 rsvd0;
    __u64 flags;
  #define I915_ENGINE_INFO_HAS_LOGICAL_INSTANCE           (1 << 0);
    __u64 capabilities;
  #define I915_VIDEO_CLASS_CAPABILITY_HEVC                (1 << 0);
  #define I915_VIDEO_AND_ENHANCE_CLASS_CAPABILITY_SFC     (1 << 1);
    __u16 logical_instance;
    __u16 rsvd1[3];
    __u64 rsvd2[3];
 };

look at her. she's got fields, she's got #defines, she's got reserved space for days. iconic.


πŸŽ€ Members πŸŽ€

let's go through the cast, one by one, main character energy for each:

  • engine β€” the engine class and instance. this is the who-and-what of the engine, bestie. πŸ’–
  • rsvd0 β€” reserved field. it's just sitting there being reserved, respectfully. πŸ™ˆ
  • flags β€” engine flags. the lil switchboard of engine-ness. ✨
  • capabilities β€” the capabilities of this engine. what she can do. πŸ”₯
  • logical_instance β€” logical instance of engine. the logical one, not the other one. 🧚
  • rsvd1 β€” reserved fields (plural! there's a bunch). 🌸
  • rsvd2 β€” reserved fields (also plural, also a bunch). 🌈
quick vibe check: the #defines in the synopsis are the flag/capability bits β€” I915_ENGINE_INFO_HAS_LOGICAL_INSTANCE is (1 << 0), I915_VIDEO_CLASS_CAPABILITY_HEVC is (1 << 0), and I915_VIDEO_AND_ENHANCE_CLASS_CAPABILITY_SFC is (1 << 1). keep them exactly as written, they're literally the bits. πŸ’…

πŸ‘‘ Description πŸ‘‘

so what does this thing do? ok so β€” it describes one engine and its capabilities as known to the driver. that's the whole bit. one engine, its capabilities, straight from the driver's mouth. periodt. πŸ’€


πŸ’œ SEE ALSO πŸ’œ

omg the reference list is long and honestly we love her for it. every single one, bestie, no skipping:

  • the Kernel file ./tools/perf/trace/beauty/include/uapi/drm/i915_drm.h
  • uevents generated by i915 on its device node(9)
  • struct i915_user_extension(9)
  • enum drm_i915_gem_engine_class(9)
  • struct i915_engine_class_instance(9)
  • perf_events exposed by i915 through /sys/bus/event_sources/drivers/i915(9)
  • struct drm_i915_getparam(9)
  • drm_i915_getparam_t(9)
  • struct drm_i915_gem_mmap_offset(9)
  • struct drm_i915_gem_set_domain(9)
  • struct drm_i915_gem_exec_fence(9)
  • struct drm_i915_gem_execbuffer_ext_timeline_fences(9)
  • struct drm_i915_gem_execbuffer2(9)
  • struct drm_i915_gem_caching(9)
  • struct drm_i915_gem_context_create_ext(9)
  • struct drm_i915_gem_context_param(9)
  • Virtual Engine uAPI(9)
  • struct i915_context_engines_parallel_submit(9)
  • Context Engine Map uAPI(9)
  • struct drm_i915_gem_context_create_ext_setparam(9)
  • struct drm_i915_gem_vm_control(9)
  • struct drm_i915_gem_userptr(9)
  • struct drm_i915_perf_oa_config(9)
  • struct drm_i915_query_item(9)
  • struct drm_i915_query(9)
  • struct drm_i915_query_topology_info(9)
  • Engine Discovery uAPI(9)
  • struct drm_i915_query_engine_info(9)
  • struct drm_i915_query_perf_config(9)
  • enum drm_i915_gem_memory_class(9)
  • struct drm_i915_gem_memory_class_instance(9)
  • struct drm_i915_memory_region_info(9)
  • struct drm_i915_query_memory_regions(9)
  • struct drm_i915_query_guc_submission_version(9)
  • GuC HWCONFIG blob uAPI(9)
  • struct drm_i915_gem_create_ext(9)
  • struct drm_i915_gem_create_ext_memory_regions(9)
  • struct drm_i915_gem_create_ext_protected_content(9)
  • struct drm_i915_gem_create_ext_set_pat(9)

like… that's a lot of reading, but iykyk, they're all connected and they all slay. 🫢


and that's the whole page, bestie! πŸŽ€ source/version lives at ./tools/perf/trace/beauty/incl... and the date on this beauty is October 2026 β€” so yeah, mark your calendar, mwah. πŸ’–βœ¨

πŸ“¦ where this page comes from