How DisplayPort HPD IRQ Signaling Works
In the DisplayPort interface standard, the Hot Plug Detect (HPD) line serves a dual purpose: physical connection detection and real-time out-of-band communication. This article explains how a DisplayPort sink device (such as a monitor) asserts a dynamic interrupt request (HPD IRQ) by momentarily pulling the HPD line low, how the source distinguishes this pulse from a physical disconnection, and the subsequent DPCD handshaking procedure used to resolve the interrupt.
The Electrical Mechanism of HPD
Under normal operating conditions, the DisplayPort sink asserts a steady high voltage level (nominally 3.3V) on the HPD line to indicate to the source (such as a GPU) that it is connected, powered, and ready to receive data. If a physical disconnect occurs, the HPD line drops to a low state (near 0V) indefinitely.
To send an interrupt without triggering a full disconnect detection sequence, the sink actively pulls the HPD pin low for a brief, tightly defined duration before allowing it to return to its high state.
Pulse Timing Specifications
The VESA DisplayPort standard distinguishes between a full cable disconnection and an interrupt request strictly through pulse width timing:
- HPD IRQ Pulse (0.5 ms to 1.0 ms): To signal an interrupt, the sink pulls the HPD line low for a period between 0.5 ms and 1.0 ms.
- Glitch Filter (< 0.25 ms): Any low pulse shorter than 0.25 ms (or up to 0.5 ms depending on the receiver design) is discarded by the source's debouncing circuitry to prevent false triggers caused by electromagnetic interference.
- Cable Disconnection (> 2.0 ms): If the HPD line stays low for longer than 2.0 ms (with 100 ms as a standard threshold for complete tear-down), the source determines that the display has been disconnected and tears down the main link.
By keeping the pulse width between 0.5 ms and 1.0 ms, the sink guarantees that the source's hardware registers an interrupt rather than an unplug event.
Source Handling and the AUX Channel Handshake
Once the source detects a valid HPD IRQ low pulse, it initiates an out-of-band query via the DisplayPort Auxiliary (AUX) Channel to determine the cause of the interrupt:
- Detection: The source hardware detects the 0.5–1.0 ms low pulse on its HPD GPIO or dedicated controller pin.
- DPCD Read: The source reads the DisplayPort
Configuration Data (DPCD) registers located on the sink via the
bidirectional AUX channel. Specifically, it reads the status registers
starting at DPCD address
00200hthrough00205h(Link/Sink Status and Automated Test registers). - Interrupt Identification: Prior to pulling the HPD
line low, the sink writes the event details into these DPCD registers.
Common triggers include:
- Loss of link synchronization (loss of Clock Recovery or Symbol Lock/Channel Equalization).
- Downstream port status changes in Multi-Stream Transport (MST) topologies.
- High-bandwidth Digital Content Protection (HDCP) state changes.
- Automated test requests from compliance equipment.
- Resolution and Clearing: Depending on the status bits read, the source executes the necessary recovery actions, such as renegotiating the link (link retraining) or reading MST message buffers. The source clears the interrupt by writing back to specific DPCD registers or by concluding the required transaction sequence.