How DisplayPort MST Handles Mid-Stream Hot-Plug Events
DisplayPort Multi-Stream Transport (MST) allows multiple independent video streams to travel across a single physical connection via daisy-chaining or hub topologies. When a user connects or disconnects a monitor mid-stream in an active chain, the MST protocol dynamically updates the topology without tearing down unaffected streams. It achieves this by using Hot Plug Detect (HPD) interrupt pulses, sideband messaging across the Auxiliary (AUX) channel, and dynamic reallocation of Virtual Channel (VC) payloads to maintain display continuity.
1. Hot Plug Detection via HPD_IRQ Signaling
When a display is plugged into or unplugged from a downstream port in an existing daisy chain, the intermediate branch device (the monitor or MST hub directly connected to the affected port) detects the physical connection change.
Rather than generating a standard, long-duration HPD drop—which would
force the source graphics processing unit (GPU) to reset the entire
link—the branch device asserts an interrupt signal known as an
HPD_IRQ pulse. This pulse is forwarded hop-by-hop upstream
to the GPU. The short duration of the pulse alerts the source that an
internal state change occurred within the MST topology while signaling
that the main physical link between devices remains intact.
2. Event Identification via DPCD Registers
Upon receiving the HPD_IRQ, the GPU queries the upstream
branch device's DisplayPort Configuration Data (DPCD) registers over the
AUX channel. Specifically, the source reads the
DEVICE_SERVICE_IRQ_VECTOR and the
SINK_COUNT_ESI registers to identify the nature of the
interrupt:
- Downstream Port Status Change: Flags indicate that a device has either been attached or detached from a downstream port.
- Message Pending: Flags indicate that an MST sideband message is waiting to be serviced.
3. Sideband Topology Discovery
To understand the exact state of the display tree, the source and MST branch devices exchange packets via the MST Sideband Messaging Mechanism. This protocol uses dedicated request and broadcast messages over the point-to-point AUX links:
CONNECTION_STATUS_NOTIFY: The branch device where the physical event occurred sends this broadcast message upstream. It details the port number, whether a sink device is now attached, and whether the attached sink supports DisplayPort MST or Legacy (SST) mode.LINK_ADDRESSQuery: In response, the GPU issues aLINK_ADDRESSrequest to discover the updated capabilities of the specific node. The response provides the device's unique GUID, port capabilities, and available Payload Bandwidth Numbers (PBN).
4. Bandwidth and Time Slot Reallocation
DisplayPort MST divides the high-speed Main Link bandwidth into 64 distinct time-division multiplexed (TDM) time slots. Active video streams are assigned a specific number of slots based on their resolution, refresh rate, and color depth via Virtual Channel (VC) payloads.
Handling a Hot-Unplug (Disconnection)
- Payload Teardown: The source stops transmitting the pixel stream directed at the disconnected display's Virtual Channel.
ALLOCATE_PAYLOADUpdate: The source sends anALLOCATE_PAYLOADsideband message instructing each intermediate branch device along the path to clear the time slots allocated to that stream.- ACT Trigger: The source issues an Allocate Payload Table (ACT) trigger to apply the changes atomically across the chain, freeing up the PBN for other devices.
Handling a Hot-Plug (Connection)
- EDID Read: The GPU reads the Extended Display
Identification Data (EDID) of the newly connected monitor via the
REMOTE_I2C_READsideband message. - Bandwidth Verification: The source calculates the required PBN for the preferred resolution and verifies that sufficient free time slots exist on all upstream segments of the daisy chain.
- Payload Allocation: The source sends
ALLOCATE_PAYLOADmessages to configure new VC payload assignments in the routing tables of each intermediate node. - ACT Trigger and Stream Start: The source asserts the ACT trigger and begins transmitting the new stream mapped to its designated Virtual Channel.
5. Stream Isolation and Stability
Throughout a mid-stream hot-plug event, unaffected displays remain active because the physical PHY link layer never drops out. The time slots occupied by active streams retain their exact index assignments within the 64-slot framing structure; only the time slots assigned to the newly plugged or unplugged monitor are modified. As a result, the source GPU prevents screen blanking and link renegotiation on remaining displays across the chain.