failed to boot to GUI: i915 0000:00:02.0: [drm] *ERROR* Link Training Unsuccessful
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
HWE Next |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
High
|
You-Sheng Yang | ||
Focal |
Invalid
|
Undecided
|
Unassigned | ||
Groovy |
Won't Fix
|
Undecided
|
Unassigned | ||
Hirsute |
Fix Released
|
High
|
You-Sheng Yang | ||
linux-oem-5.10 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
High
|
You-Sheng Yang | ||
Groovy |
Invalid
|
Undecided
|
Unassigned | ||
Hirsute |
Invalid
|
Undecided
|
Unassigned | ||
linux-oem-5.6 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Won't Fix
|
Undecided
|
Unassigned | ||
Groovy |
Invalid
|
Undecided
|
Unassigned | ||
Hirsute |
Invalid
|
Undecided
|
Unassigned |
Bug Description
[SRU Justification]
[Impact]
On platforms supported DP tunneling over USB 3.2 or so, a Retimer is
required on the host side to cover insertion loss. On such platforms the
rtimer firmware maybe configured to use LTTPR (Link Training Tunable PHY
Repeater) non-transparent mode only, which is only supported in drm-tip
currently. Without LTTPR support, link training may fail with following
error messages depending on the data path configuration:
i915 0000:00:02.0: [drm] *ERROR* Link Training Unsuccessful
i915 0000:00:02.0: [drm] *ERROR* CPU pipe A FIFO underrun
[Fix]
Patchset https:/
("drm/i915: Add support for LTTPR non-transparent link training mode")
is required to fix this issue. It has been landed to drm-tip and will
only be merged to mainline in v5.11.
Patchset https:/
state to link training code") is included for link training functions
prototype changes.
[Test Case]
On Dell OptiPlex and WD19 docking station, use following steps to verify:
1. disconnect WD19 from OptiPlex, disconnect OptiPlex's power
2. attach OptiPlex's power cord
3. attach WD19's power cord
4. attach DP to WD19
5. attach WD19 to OptiPlex
6. boot up and check if boot to GUI directly
7. `dmesg` and check if aforementioned DRM link training error appears
[Where problems could occur]
The second patchset pulled for dependency doesn't have too much
effective changes but refactoring some translation functions, so very
unlikely to have regressions.
For the major part, LTTPR support, when LTTPR is either not detected or
not supported, it will fall back to use transparent mode as it was.
Otherwise, DP Standard recommends to use LTTPR non-transparent mode for
link training, so this should be the right way to have best hardware
support.
========== original bug description ==========
[Summary]
When the monitor ONLY is connected to the WD19 (DP port) and WD19 is connected to the type c port than boot the machine, the monitor shows no video output after loaded i915.
[Reproduce Steps]
1. connect power cable of WD19
2. connect DP cable from monitor to WD19
3. connect power cable to target system.
4. connect type c cable from WD19 to target system
5. boot up
[Results]
Expected: video output as there is only one monitor connected.
Actual: No video output.
ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: linux-image-
ProcVersionSign
Uname: Linux 5.6.0-1033-oem x86_64
ApportVersion: 2.20.11-
Architecture: amd64
CasperMD5CheckR
Date: Thu Nov 12 05:11:11 2020
DistributionCha
# This is the distribution channel descriptor for the OEM CDs
# For more information see http://
canonical-
InstallationDate: Installed on 2020-11-03 (9 days ago)
InstallationMedia: Ubuntu 20.04 "Focal" - Build amd64 LIVE Binary 20200502-05:58
SourcePackage: linux-signed-
UpgradeStatus: No upgrade log present (probably fresh install)
Changed in linux (Ubuntu Hirsute): | |
status: | Incomplete → In Progress |
importance: | Undecided → High |
assignee: | nobody → You-Sheng Yang (vicamo) |
Changed in linux-oem-5.10 (Ubuntu Groovy): | |
status: | New → Invalid |
Changed in linux-oem-5.6 (Ubuntu Groovy): | |
status: | New → Invalid |
Changed in linux-oem-5.6 (Ubuntu Hirsute): | |
status: | New → Invalid |
Changed in linux-oem-5.10 (Ubuntu Hirsute): | |
status: | New → Invalid |
description: | updated |
description: | updated |
Changed in linux-oem-5.10 (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Groovy): | |
status: | New → Won't Fix |
tags: |
added: verification-done-focal removed: verification-needed-focal |
tags: | added: originate-from-1907526 |
tags: | added: originate-from-1894066 |
tags: | added: originate-from-1895638 |
Changed in linux-oem-5.10 (Ubuntu Focal): | |
status: | Fix Committed → Fix Released |
tags: | added: originate-from-1892304 |
Changed in hwe-next: | |
status: | New → Fix Released |
$ git bisect log 649ce2df5c5f15b 0e528c92091] Linux 5.10-rc3 49ce2df5c5f15b0 e528c92091 f3e3183aa547395 f919c943a14] Merge tag 'drm-misc- next-2020- 11-05' of git://anongit. freedesktop. org/drm/ drm-misc into drm-next 3e3183aa547395f 919c943a14 d91caf0b4730194 039b45c5891] Linux 5.10-rc2 91caf0b47301940 39b45c5891 d0c91f6f1a3e7d1 94599248b6d] drm/ttm: replace last move_notify with delete_mem_notify 0c91f6f1a3e7d19 4599248b6d 9d5b5d782f56e3e 7cb243f01b8] drm/i915: Force VT'd workarounds when running as a guest OS d5b5d782f56e3e7 cb243f01b8 d63658e3324a01e aa0fafe8b7f] drm/i915/dg1: add more PCI ids 63658e3324a01ea a0fafe8b7f 5ba085001e2a392 6f83a0aed1b] drm/i915: Simplify the link training functions ba085001e2a3926 f83a0aed1b 5b6b18a762141f2 55d3eea1e37] drm/i915/dg1: Enable DPLL for DG1 b6b18a762141f25 5d3eea1e37 c20e8360634255f 684378179eb] drm/i915: Force DPCD backlight mode for BOE 2270 panel 20e8360634255f6 84378179eb 6dbec0b15d2cabf 5a9e7acdf4c] drm/i915: Switch to LTTPR transparent mode link training dbec0b15d2cabf5 a9e7acdf4c 2f9c17c208064b3 9a3d93e6971] drm/i915: Switch to LTTPR non-transparent mode link training f9c17c208064b39 a3d93e6971 2f9c17c208064b3 9a3d93e6971] drm/i915: Switch to LTTPR non-transparent mode link training
git bisect start
# old: [f8394f232b1eab
git bisect old f8394f232b1eab6
# new: [c0f98d2f8b076b
git bisect new c0f98d2f8b076bf
# old: [3cea11cd5e3b00
git bisect old 3cea11cd5e3b00d
# old: [6a6e5988a2657c
git bisect old 6a6e5988a2657cd
# new: [f566fdcd6cc49a
git bisect new f566fdcd6cc49a9
# old: [b50b7991b739c6
git bisect old b50b7991b739c6d
# old: [0a5991f5d02223
git bisect old 0a5991f5d022235
# new: [0dac17af0ab4e5
git bisect new 0dac17af0ab4e55
# new: [055f8458d95a38
git bisect new 055f8458d95a38c
# old: [7b2a4ab8b0ef2a
git bisect old 7b2a4ab8b0ef2a6
# new: [b30edfd8d0b4b2
git bisect new b30edfd8d0b4b22
# first new commit: [b30edfd8d0b4b2
So this, https:/ /patchwork. freedesktop. org/series/ 82449/ , patchset is the fix.
* b30edfd8d0b4 drm/i915: Switch to LTTPR non-transparent mode link training
* 7b2a4ab8b0ef drm/i915: Switch to LTTPR transparent mode link training
* 9782f52ab5d6 drm/dp: Add LTTPR helpers
* c43027a9a375 drm/i915: Factor out a helper to disable the DPCD training pattern
* 0a5991f5d022 drm/i915: Simplify the link training functions
* 6777a855d66d drm/i915: Fix DP link training pattern mask
These six commits are required with additional dependency to https:/ /patchwork. freedesktop. org/series/ 76993/ as well. Verified by cherry-picking these to a Ubuntu- 5.10-5. 10.0-3. 4 kernel.