amdgpu fails to wake up DisplayPort DELL monitors with 'clock recovery failed'
Submitted by mr...@..il.com
Assigned to Default DRI bug account
Link to original bug (#100745)
Description
On a Fedora 25 system, under kernel 4.10.9, I have an RX480 with three Dell P2715Q monitors connected via displayport.
- The machine is left alone, until the monitors are put into sleep mode.
- The mouse is moved until the monitors show signs of coming up.
It is expected that all monitors come up cleanly and an unlock screen is presented.
What actually happens is that not all monitors come up. Some monitors indicate that no signal is coming. Which monitor or monitors fail to come up is non-deterministic.
Every time this happens, dmesg shows exactly three entries of the form:
[drm:amdgpu_atombios_dp_link_train [amdgpu]] *ERROR* displayport link status [drm:amdgpu_atombios_dp_link_train [amdgpu]] *ERROR* clock recovery failed
It doesn't matter how many of the three monitors come up, dmesg always shows this message three times.
I've modified the failure point to print the return value of drm_dp_dpcd_read_link_status(), and it comes back as -5. I believe that is -EIEIO
Also, switching to VT2, via Ctrl-Alt-F2 brings up all the monitors with 100% success rate. Switching back to VT1 may either:
* present a working unlock screen (20% of the time)
* present an unlock screen with Xorg being locked up in a poll() call (50% of the time)
* or completely crash Xorg (20% of the time)
* lock up the machine (10% of the time)
This procedure crashes wayland with 100% yield.