i915_hotplu...rrupt_update(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– i915_hotplug_interrupt_update β€” like, the Kernel API Manual, bestie πŸ’–

okay so welcome to i915_hotplu...rrupt_update(9), from the Kernel API Manual β€” yes the title is literally truncated with dots, that's not me being lazy, that's just how it's printed, iykyk πŸ’…


✨ NAME ✨

i915_hotplug_interrupt_update β€” update hotplug interrupt enable πŸ¦‹

like… it updates the hotplug interrupt enable. that's the whole vibe. no cap.


🌸 SYNOPSIS 🌸

void i915_hotplug_interrupt_update (struct intel_display *display , u32
mask , u32 bits );

literally exactly that, character for character, don't come for me 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • display β€” the display device. the main character of this whole operation, honestly πŸ‘‘
  • mask β€” bits to update. it's giving "which ones are we touching" 🎯
  • bits β€” bits to enable. the ones we're actually turning on ✨

⚠️ NOTE ⚠️

okay bestie, this is the part where you gotta listen, fr fr πŸ™ˆ

the HPD enable bits get modified both inside AND outside of an interrupt context. and like… to avoid those read-modify-write cycles interfering with each other (messy, we hate that πŸ’€), these bits are protected by a spinlock πŸ”’

since this function is usually not called from a context where the lock is held already, this function acquires the lock itself πŸ’ͺ

and β€” good news β€” a non-locking version is also available, so if you're already holding it, you're covered 🫢

ngl, do NOT just assume the lock is free. that's the whole point of the note. respect the spinlock, it's iconic and it will humble you 😭

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./drivers/gpu/drm/i915/display/intel_hotplug_irq.c β€” go read it, it's right there, lowkey obsessed with how hard this path goes 🌈


and that's the whole page, bestie!! βœ¨πŸ’–πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«Ά

cute little sign-off time: this one lives under ./drivers/gpu/drm/i915/display, it's dated October 2026, and the manual is i915_hotplu...rrupt_update(9). periodt. πŸ‘‘πŸ’œ

πŸ“¦ where this page comes from