Bug 121481

Summary: No video output after loading nouveau module
Product: Drivers Reporter: Dmitrii Tcvetkov (demfloro)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: CLOSED PATCH_ALREADY_AVAILABLE    
Severity: normal CC: demfloro, imirkin
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 4.7-rc6 Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg for just modprobe nouveau
Xorg.0.log for modprobe nouveau
dmesg for modprobe nouveau debug=trace
Xorg.0.log for modprobe nouveau debug=trace
lspci
dmesg with reverted 6th patch from a8953c52b95167b5d21a66f0859751570271d834

Description Dmitrii Tcvetkov 2016-07-05 16:32:11 UTC
Created attachment 222091 [details]
dmesg for just modprobe nouveau

OS: Arch Linux
Video adapter: GeForce GTX 780 Ti

Since 4.7 loading nouveau module results in black screen, but when I load nouveau module with parameter debug=trace the issue does not appear, screen successfully switches to correct resolution and Xorg can be successfully started.

I did following:
- after OS booting I issued command "modprobe nouveau", in this case execution of the command took about 44 seconds;
- when "modprobe nouveau" returned control to shell I blindly issued command "startx" on terminal in VT;
- after that machine was rebooted with "reboot"

- after reboot I issued command "modprobe nouveau debug=trace", it took about 11 seconds to finish;
- after that I issued "startx" and Xorg started sucessfully.

If I compile nouveau module in kernel then I lose video output right after kernel loads if I don't pass nouveau.debug=trace parameter.
Comment 1 Dmitrii Tcvetkov 2016-07-05 16:32:54 UTC
Created attachment 222101 [details]
Xorg.0.log for modprobe nouveau
Comment 2 Dmitrii Tcvetkov 2016-07-05 16:33:42 UTC
Created attachment 222111 [details]
dmesg for modprobe nouveau debug=trace
Comment 3 Dmitrii Tcvetkov 2016-07-05 16:34:35 UTC
Created attachment 222121 [details]
Xorg.0.log for modprobe nouveau debug=trace
Comment 4 Dmitrii Tcvetkov 2016-07-05 16:46:04 UTC
Created attachment 222131 [details]
lspci
Comment 5 Ilia Mirkin 2016-07-05 16:55:36 UTC
Did this ever work for you?

Looks like DP link training fails. If it worked before, I would suspect commit a8953c52b95167b5d21a66f0859751570271d834 .
Comment 6 Dmitrii Tcvetkov 2016-07-05 17:35:18 UTC
It works good on kernel 4.6.3 and earlier, problem is since 4.7. I just tried to find conditions of the bug.

I reverted patch "0006-drm-nouveau-disp-sor-gf119-both-links-use-the-same-training register" from commit a8953c52b95167b5d21a66f0859751570271d834 and nouveau loads about 1 second, screen does not become black. System behaves like on 4.6 kernel.

Unfortunately I can't fully understand impact of this reversion on different video adapters. Can you send it to dri-devel mailing list?
Comment 7 Dmitrii Tcvetkov 2016-07-05 17:36:15 UTC
Created attachment 222141 [details]
dmesg with reverted 6th patch from a8953c52b95167b5d21a66f0859751570271d834
Comment 8 Ilia Mirkin 2016-07-05 21:29:02 UTC
Ben has a better fix here:

https://github.com/skeggsb/linux/commit/217215041b9285af2193a755b56a8f3ed408bfe2
Comment 9 Dmitrii Tcvetkov 2016-07-05 21:57:26 UTC
Thank you, that fix helped.
Comment 10 Dmitrii Tcvetkov 2016-07-08 18:01:12 UTC
commit 1d110cf5d307bd52e826a2ceaa7daab83be61b7a
Merge: cc23c61 39c8859
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Fri Jul 8 08:55:27 2016 -0700