Bug 188091 - Resume with two monitors, second monitor is not resumed until VT switch
Summary: Resume with two monitors, second monitor is not resumed until VT switch
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - non Intel) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_video-dri
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-18 10:27 UTC by Greg White
Modified: 2016-12-04 00:41 UTC (History)
2 users (show)

See Also:
Kernel Version: 4.9 rc5
Subsystem:
Regression: No
Bisected commit-id:


Attachments
Xorg log (67.98 KB, text/x-log)
2016-11-21 22:37 UTC, Greg White
Details
dmesg (79.46 KB, text/plain)
2016-11-21 22:37 UTC, Greg White
Details
Patch against atombios_dp.c (1.27 KB, text/plain)
2016-12-04 00:41 UTC, Greg White
Details

Description Greg White 2016-11-18 10:27:33 UTC
This is for AMDGPU.  

I have an RX470 with two monitors attached via DP.  After a long suspend, when one of the monitors has apparently gone into a deeper sleep state, it takes one of them longer to wake.  When this happens,  the second monitor is not detected and will not be seen until I switch to a VT and then back again.  Here's what I see in dmesg before the switch:

18887.893100] [drm:amdgpu_atombios_dp_link_train] *ERROR* displayport link status failed
[18887.893103] [drm:amdgpu_atombios_dp_link_train] *ERROR* clock recovery failed
[18888.070075] [drm:amdgpu_atombios_dp_link_train] *ERROR* displayport link status failed
[18888.070077] [drm:amdgpu_atombios_dp_link_train] *ERROR* clock recovery failed

Again, after I switch to a VT and then back again, all is well.
Comment 1 Alex Deucher 2016-11-21 22:27:34 UTC
Please attach your xorg log and dmesg output.
Comment 2 Greg White 2016-11-21 22:37:24 UTC
Created attachment 245461 [details]
Xorg log
Comment 3 Greg White 2016-11-21 22:37:42 UTC
Created attachment 245471 [details]
dmesg
Comment 4 Greg White 2016-11-21 22:38:23 UTC
Note that those two files were grabbed after I switched to a VT (since the UI was in a pretty whacked state.)
Comment 5 Greg White 2016-11-22 00:41:16 UTC
I should also note this is easily reproducible but still intermittent.  I'd say 80% of the time, I see this.  It's also not always one monitor - it can be either of them.
Comment 6 Vedran Miletić 2016-11-22 00:43:30 UTC
(In reply to Greg White from comment #5)
> I should also note this is easily reproducible but still intermittent.  I'd
> say 80% of the time, I see this.  It's also not always one monitor - it can
> be either of them.

Interesting. I have a very similar issue on Fiji (bug 176311) with two DP monitors, but in case of Fiji it is always one monitor that will be blank until the VT switch happens. And the error message is different.
Comment 7 Greg White 2016-12-04 00:39:51 UTC
I have attached a patch which seems to fix the problem here.  Maybe it will be helpful?
Comment 8 Greg White 2016-12-04 00:41:45 UTC
Created attachment 246801 [details]
Patch against atombios_dp.c

Seems to fix the problem locally.  I have no idea if it's correct or not, but it may help tracking down the actual problem.

On my system, I see one training attempt when the monitors are on, 4-5 when they are in standby.

Note You need to log in before you can comment on or make changes to this bug.