STRUCT DRM_I915_GETPARAM(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct drm_i915_getparam(9)

okay so bestie, welcome to the Kernel API Manual section, because we're talking about struct drm_i915_getparam(9) today and honestly? it's giving "tiny struct, big responsibilities." πŸŽ€


✨ NAME ✨

struct drm_i915_getparam β€” the driver parameter query structure. that's it, that's the whole vibe. you hand it a parameter, it hands you back a value. a little query-and-response moment. πŸ¦‹


🌸 SYNOPSIS 🌸

like, literally this is the whole thing:

struct drm_i915_getparam {
    __s32 param;
    int __user *value;
 };

look at her. two fields. main character energy with zero filler. ✨


πŸ’– Members πŸ’–

bestie, let's meet the cast:

  • param β€” the driver parameter you're querying. this is the "hey, what's the deal with this" field. you pick the thing you wanna know about. πŸ”
  • value β€” the address of the memory where the queried value should be put. so like, you bring the empty container and the kernel fills it up. iconic division of labour. 🫢
⚠️ WARNING: using pointers instead of fixed-size u64 means we need to write compat32 code. Don't repeat this mistake. no cap, this is a genuine "learn from our pain" moment β€” the manpage is literally telling you not to do the thing. respect the warning. πŸ’€

🌈 SEE ALSO 🌈

okay this list is long and I'm obsessed, go read all of it:

  • 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)
  • 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_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)

like, she knows everyone. networking queen. πŸ‘‘


and that's the page!! mwah πŸ’‹ this one came from ./tools/perf/trace/beauty/incl... (yes it's truncated in the source, not my fault bestie 😭) and it's dated October 2026 β€” so go forth and query your params, but please use a fixed-size u64, the kernel is begging you. πŸ“πŸ§šβ€β™€οΈ

πŸ“¦ where this page comes from