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_ADDRESS Query: In response, the GPU issues a LINK_ADDRESS request 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)

  1. Payload Teardown: The source stops transmitting the pixel stream directed at the disconnected display's Virtual Channel.
  2. ALLOCATE_PAYLOAD Update: The source sends an ALLOCATE_PAYLOAD sideband message instructing each intermediate branch device along the path to clear the time slots allocated to that stream.
  3. 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)

  1. EDID Read: The GPU reads the Extended Display Identification Data (EDID) of the newly connected monitor via the REMOTE_I2C_READ sideband message.
  2. 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.
  3. Payload Allocation: The source sends ALLOCATE_PAYLOAD messages to configure new VC payload assignments in the routing tables of each intermediate node.
  4. 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.