intel_hpd_block(9)
π intel_hpd_block(9) β the Kernel API Manual, bestie edition π
okay so this is a page from the Kernel API Manual, and it's all about intel_hpd_block β a function that literally just says "bestie, hold my HPD IRQs" for one specific pin. no cap, it's short but it's important. let's get into it β¨
πΈ NAME πΈ
intel_hpd_block β blocks the handling of HPD IRQs on an HPD pin. that's the whole vibe. π¦
β SYNOPSIS β
void intel_hpd_block (struct intel_encoder *encoder );
yes it's just the one function, she's concise, she's iconic π
π ARGUMENTS π
encoderβ the encoder whose HPD handling you're about to block. that's it. that's the whole argument. π«Ά
β¨ DESCRIPTION β¨
so basically: this function blocks the handling of HPD IRQs on the HPD pin of encoder. simple as that. π
now here's the part where you need to pay attention, because on return there are three things you can count on, and they are NOT the same thing:
- it's guaranteed that the blocked encoder's HPD pulse handler (the one that goes via
intel_digital_port::hpd_pulse) is not running. like, fully done, closed, gone. β - but the hotplug event handling (via
intel_encoder::hotplug) of an HPD IRQ that was already pending at the time this function got called may still be running. so like... don't assume it's all wrapped up, okay? π - detection on the encoder's connector (via
drm_connector_helper_funcs::detect_ctxanddrm_connector_funcs::detect) is still allowed. for instance as part of userspace connector probing, or the DRM core's connector polling. so detecting stays on the menu π
β οΈ okay this part is important: this call must be followed by callingintel_hpd_unblock, orintel_hpd_clear_and_unblock. you cannot just leave it blocked and walk away. that's not the move. π
and one more little plot twist β handling of HPD IRQs for another encoder that's using the same HPD pin as encoder will also be blocked. so like, it's a package deal, iykyk π
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/i915/display/intel_hotplug.cHotplug(9) intel_hpd_pin_default(9)intel_hpd_irq_storm_detect(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_unblock(9)intel_hpd_clear_and_unblock(9)
okay and finally, the little sign-off at the bottom β this whole vibe lives in ./drivers/gpu/drm/i915/display, and it's dated October 2026. so you know, freshly pressed, main character energy, periodt π
ππ¦
π¦ 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