i915_perf_add_config_ioctl(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… i915_perf_add_config_ioctl(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual β€” this is an entry all about i915_perf_add_config_ioctl, and it's genuinely a whole moment. let's get into it πŸŽ€


✨ NAME ✨

i915_perf_add_config_ioctl β€” the DRM ioctl() that lets userspace add a brand new OA config. that's it, that's the vibe πŸ¦‹


🌸 SYNOPSIS 🌸

int i915_perf_add_config_ioctl (struct drm_device *dev , void *data ,
       struct drm_file *file );

🧚 ARGUMENTS 🧚

  • dev β€” the drm device. the main character of this whole operation, lowkey πŸ‘‘
  • data β€” the ioctl data. it's a pointer to struct drm_i915_perf_oa_config, and it gets copied from userspace unvalidated β€” so like, it's giving "we haven't done a vibe check on this yet" πŸ™ˆ
  • file β€” the drm file. hi bestie 🫢

πŸ’– DESCRIPTION πŸ’–

so what this bad boy does: it validates the submitted OA register, and then saves it into a new OA config. and that new config can then be used for programming the OA unit and its NOA network. the way that it validates first before saving anything? ate. periodt ✨


πŸ”₯ RETURN πŸ”₯

on success you get a new allocated config number β€” and you're gonna use that number later with the perf open ioctl, iykyk πŸ’«. on failure? a negative error code. sad but true 😭


🌈 SEE ALSO 🌈

the kernel file is ./drivers/gpu/drm/i915/i915_perf.c β€” and honestly? go read the whole squad, they're all icons:


and that's the whole page bestie, you slayed it πŸ’œ

came to you straight from ./drivers/gpu/drm/i915, dated October 2026. no cap, that's the version and the date, mwah πŸ’‹πŸŽ€
πŸ“¦ where this page comes from