STRUCT DRM_I915_GEM_CONTEXT_PARAM(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct drm_i915_gem_context_param β€” Context parameter to set or query. That's the whole name, bestie, and yes we're on the struct drm_i915_gem_context_param(9) page in the Kernel API Manual. It's giving "kernel struct that wants to know your context parameter" energy, and we're obsessed 🫢.


✨ SYNOPSIS ✨

okay so here's the struct, copied with love and zero creative rewriting, because the details are literally the moment:

struct drm_i915_gem_context_param {
    __u32 ctx_id;
    __u32 size;
    __u64 param;
  #define I915_CONTEXT_PARAM_BAN_PERIOD   0x1;
  #define I915_CONTEXT_PARAM_NO_ZEROMAP   0x2;
  #define I915_CONTEXT_PARAM_GTT_SIZE     0x3;
  #define I915_CONTEXT_PARAM_NO_ERROR_CAPTURE     0x4;
  #define I915_CONTEXT_PARAM_BANNABLE     0x5;
  #define I915_CONTEXT_PARAM_PRIORITY     0x6;
  #define I915_CONTEXT_MAX_USER_PRIORITY        1023 ;
  #define I915_CONTEXT_DEFAULT_PRIORITY         0;
  #define I915_CONTEXT_MIN_USER_PRIORITY        -1023 ;
  #define I915_CONTEXT_PARAM_SSEU         0x7;
  #define I915_CONTEXT_PARAM_RECOVERABLE  0x8;
  #define I915_CONTEXT_PARAM_VM           0x9;
  #define I915_CONTEXT_PARAM_ENGINES      0xa;
  #define I915_CONTEXT_PARAM_PERSISTENCE  0xb;
  #define I915_CONTEXT_PARAM_RINGSIZE     0xc;
  #define I915_CONTEXT_PARAM_PROTECTED_CONTENT    0xd;
  #define I915_CONTEXT_PARAM_LOW_LATENCY          0xe;
  #define I915_CONTEXT_PARAM_CONTEXT_IMAGE        0xf;
    __u64 value;
};

those #defines are literally part of the block, semicolons and spacing and all β€” no cap, do not come for me, I don't make the rules πŸ’….


🫢 Members 🫢

  • ctx_id β€” Context id. literally the context id, no notes.
  • size β€” Size of the parameter value. how big the value is, slay.
  • param β€” Parameter to set or query. the thing you're setting or querying, iykyk.
  • value β€” Context parameter value to be set or queried. the actual value itself, periodt.

πŸ‘€ SEE ALSO πŸ‘€

go sip some tea and read these too, bestie β€” every single reference, exactly as listed:

  • 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)
  • 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_engine_info(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)

okay that's the page, bestie! signing off from the ./tools/perf/trace/beauty/incl... corner of the Kernel API Manual, dated October 2026, with struct drm_...ontext_param(9) blowing you a little kiss πŸ’‹βœ¨

πŸ“¦ where this page comes from