drm_helper_hpd_irq_event(9)
π drm_helper_hpd_irq_event(9) β like, the hotplug processing era
okay so bestie, welcome to the Kernel API Manual entry for drm_helper_hpd_irq_event(9) β yes that's the name, yes it's a mouthful, no we're not shortening it, it's iconic π
β¨ NAME β¨
drm_helper_hpd_irq_event β hotplug processing, and honestly it's giving main character energy in the DRM helper cinematic universe π
β¨ SYNOPSIS β¨
bool drm_helper_hpd_irq_event (struct drm_device *dev );
β¨ ARGUMENTS β¨
devβ adrm_device, that's it, that's the whole argument, slay π«Ά
β¨ DESCRIPTION β¨
So here's the vibe: drivers can use this helper function to run a detect cycle on, like, all the connectors that have the DRM_CONNECTOR_POLL_HPD flag set in their polled member. All the other connectors? Ignored. Not invited to the party. Which is genuinely useful, because it means you avoid reprobing fixed panels β no cap, nobody wants that π
This helper function is the moment for drivers which can't or don't track hotplug interrupts for each connector. If that's your driver, congrats, this is literally your function πΈ
Now, drivers which do support hotplug interrupts for each connector individually, and which have a more fine-grained detect logic, can use drm_connector_helper_hpd_irq_event instead. Alternatively β and this is the tea β β they should bypass this code entirely and directly call drm_kms_helper_hotplug_event in case the connector state changed. iykyk.
β οΈ okay this part is important: this function must be called from process context with no mode setting locks held. Like, do not. I'm serious. π
Also note that a connector can be both polled and probed from the hotplug handler, in case the hotplug interrupt is known to be unreliable. Belt and suspenders, we love to see it π¦
β¨ RETURN β¨
A boolean indicating whether the connector status changed or not. true = something moved, false = nothing to see here β¨
β¨ SEE ALSO β¨
the way that this list just keeps going, obsessed π
- Kernel file
./drivers/gpu/drm/drm_probe_helper.coutput probing helper overview(9) drm_kms_helper_poll_enable(9)drm_kms_helper_poll_reschedule(9)drm_helper_probe_detect(9)drm_helper_probe_single_connector_modes(9)drm_kms_helper_hotplug_event(9)drm_kms_helper_connector_hotplug_event(9)drm_kms_helper_is_poll_worker(9)drm_kms_helper_poll_disable(9)drm_kms_helper_poll_init(9)drm_kms_helper_poll_fini(9)drmm_kms_helper_poll_init(9)drm_connector_helper_hpd_irq_event(9)drm_crtc_helper_mode_valid_fixed(9)drm_connector_helper_get_modes_fixed(9)drm_connector_helper_get_modes(9)drm_connector_helper_tv_get_modes(9)drm_connector_helper_detect_from_ddc(9)
and that's the whole page, bestie π§π
this icon lives in ./drivers/gpu/drm and the version stamp says October 2026 β so yeah, stay tuned, she's from the future π
β bye mwah π
π¦ 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