STRUCT DRM_I915_ENGINE_INFO(9)
πΈ 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_INSTANCEis(1 << 0),I915_VIDEO_CLASS_CAPABILITY_HEVCis(1 << 0), andI915_VIDEO_AND_ENHANCE_CLASS_CAPABILITY_SFCis(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
- 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