Public bug reported:

== Summary ==

External monitors connected via USB-C/DisplayPort frequently fail to be
detected on a Snapdragon X1 Elite laptop running Ubuntu 26.04 LTS.
The MSM DRM driver fails to read the monitor's EDID (DP sink modes) and
repeatedly times out during DP link training (phase 2), making the monitor
unusable until a reconnect (which may also fail).

== Environment ==

 * Hardware: Snapdragon X1 Elite laptop
 * OS: Ubuntu 26.04 LTS (Resolute Raccoon)
 * Kernel: 7.0.0-32-qcom-x1e
 * Driver: msm (DRM/KMS), displayport-controller @ ae90000/ae98000/ae9a000
 * Connection: USB-C → DisplayPort (or USB-C hub with DP output)

== Symptoms ==

1. External monitor is not detected when plugged in via USB-C.
2. Reconnecting the cable sometimes works but is unreliable.
3. After repeated plug/unplug cycles, the system eventually detects the monitor.

== Relevant dmesg errors ==

The two distinct failure modes observed in dmesg:

--- Phase 1: EDID / DP sink mode read failure ---
  [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0

  This error repeats on every hotplug event where the monitor is not detected.
  rc=0 suggests the AUX read returned success but produced no valid EDID data.

--- Phase 2: DP link training timeout ---
  [drm:msm_dp_ctrl_link_train_1_2 [msm]] *ERROR* link training #2 on phy 0 
failed. ret=-110
  [drm:msm_dp_ctrl_link_train [msm]] *ERROR* link training on sink failed. 
ret=-110
  [drm:msm_dp_display_process_hpd_high [msm]] *ERROR* failed to complete DP 
link training
  [drm:msm_dp_aux_isr [msm]] *ERROR* Unexpected DP AUX IRQ 0x01000000 when not 
busy

  ret=-110 is ETIMEDOUT. Link training phase 2 (clock recovery / channel
  equalization) times out, and an unexpected AUX IRQ fires after the failure.

--- Additional context: PMIC glink device link failures (at boot) ---
  qcom_pmic_glink pmic-glink: Failed to create device link (0x180) with 
supplier a000000.usb for /pmic-glink/connector@2
  qcom_pmic_glink pmic-glink: Failed to create device link (0x180) with 
supplier a800000.usb for /pmic-glink/connector@1
  qcom_pmic_glink pmic-glink: Failed to create device link (0x180) with 
supplier a600000.usb for /pmic-glink/connector@0

  These PMIC glink failures at boot may cause the USB-C DP alt mode mux
  to not be properly initialized before the MSM DP controller attempts
  link training.

== Steps to reproduce ==

1. Boot the Snapdragon X1 Elite laptop with Ubuntu 26.04.
2. Plug in an external monitor via USB-C (directly or via a USB-C hub).
3. Observe that the monitor is not detected.
4. Run: sudo dmesg | grep -iE 'msm_dp|drm.*error'
5. Observe the "failed to get DP sink modes" and/or link training errors.

== Expected behaviour ==

External monitors should be reliably detected and activated on hotplug.

== Actual behaviour ==

Monitor detection fails intermittently or consistently. The MSM DP driver
fails to read EDID or complete link training, leaving the monitor dark.

== Additional info ==

The "Unexpected DP AUX IRQ 0x01000000 when not busy" message suggests the
AUX channel state machine is receiving an interrupt in an unexpected state,
which may indicate a race condition or incorrect IRQ masking in the MSM DP
AUX driver when link training fails.

Full dmesg log is attached.

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: arm64 displayport edid msm-drm snapdragon-x1e

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2157900

Title:
  msm dp: DisplayPort link training fails on Snapdragon X1 Elite
  (ETIMEDOUT / failed to get DP sink modes)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2157900/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to