intel_hpd_irq_storm_detect(9)
π intel_hpd_irq_storm_detect(9) β the kernel API manual, but make it make sense
okay so bestie, this one is from the Kernel API Manual and honestly it's a whole vibe check for your display's hotplug interrupts. stay with me, it's actually iconic once you get it π«Ά
β¨ NAME β¨
intel_hpd_irq_storm_detect β gather stats and detect HPD IRQ storm on a pin
like literally, it counts up the HPD IRQ drama on one pin and tells you if it's officially a storm π©οΈ
πΈ SYNOPSIS πΈ
bool intel_hpd_irq_storm_detect (struct intel_display *display , enum
hpd_pin pin , bool long_hpd );
that's the whole signature, no cap, copy it exactly if you're writing it down π
π ARGUMENTS π
displayβ display device π the whole display situation lives herepinβ the pin to gather stats on π yes, that specific onelong_hpdβ whether the HPD IRQ was long or short β±οΈ long or short, pick your fighter
π¦ DESCRIPTION π¦
So the way that this works: it gathers stats about HPD IRQs from the specified pin, and detects IRQ storms. That's the whole job. And listen β only the pin specific stats and state are changed. The caller is responsible for further action. so don't come for this function expecting it to fix everything, it's doing its one (1) task and it's slaying at it π
The number of IRQs that are allowed within HPD_STORM_DETECT_PERIOD is stored in display->hotplug.hpd_storm_threshold, which defaults to HPD_STORM_DEFAULT_THRESHOLD. Long IRQs count as +10 to this threshold, and short IRQs count as +1. If this threshold is exceeded, it's considered an IRQ storm and the IRQ state is set to HPD_MARK_DISABLED. so yeah, blow past the limit and you get marked, periodt π«
By default, most systems will only count long IRQs towards display->hotplug.hpd_storm_threshold. That's the default default, bestie. However β and this is the plot twist β some older systems also suffer from short IRQ storms and must also track these. π Because short IRQ storms are naturally caused by sideband interactions with DP MST devices, short IRQ detection is only enabled for systems without DP MST support. And honestly? Systems which are new enough to support DP MST are far less likely to suffer from IRQ storms at all, so this is fine. it's giving "old hardware needs extra supervision" and we love her for it πΈ
The HPD threshold can be controlled through i915_hpd_storm_ctl in debugfs, and should only be adjusted for automated hotplug testing. β οΈ like, only for that. don't just go poking it because you're bored, i'm begging π
Return true if an IRQ storm was detected on pin. that's it, true or nothing, icon behavior β
π SEE ALSO π
Kernel file ./drivers/gpu/drm/i915/display/intel_hotplug.c and the whole friend group:
Hotplug(9)intel_hpd_pin_default(9)intel_hpd_trigger_irq(9)intel_hpd_irq_handler(9)intel_hpd_init(9)intel_hpd_poll_enable(9)intel_hpd_poll_disable(9)intel_hpd_block(9)intel_hpd_unblock(9)intel_hpd_clear_and_unblock(9)
the whole squad, fr fr π§
and that's the page! π brought to you by ./drivers/gpu/drm/i915/display, dated October 2026 β mwah, ily, go read your dmesg ππ
π¦ 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