Created attachment 42426 [details] syslog.log From boot up to modprobe nouveau When the kernel module nouveau is loaded, it tries to set to resolution using KMS. But it fails and only leave a blank (black) screen with backlight turned on. But logs just looks like everything is fine. Here is the "lspci -vvvnns 01:00.0", and then attached syslog.log from boot up, to "modeprobe nouveau". And then, syslogs when reloading drm with debug=6. 01:00.0 VGA compatible controller [0300]: nVidia Corporation GT218 [NVS 3100M] [10de:0a6c] (rev a2) (prog-if 00 [VGA controller]) Subsystem: Dell Latitude E6510 [1028:040b] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 16 Region 0: Memory at d2000000 (32-bit, non-prefetchable) [size=16M] Region 1: Memory at c0000000 (64-bit, prefetchable) [size=256M] Region 3: Memory at d0000000 (64-bit, prefetchable) [size=32M] Region 5: I/O ports at 7000 [size=128] Expansion ROM at d3000000 [disabled] [size=512K] Capabilities: [60] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [78] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 5GT/s, Width x16, ASPM L0s L1, Latency L0 <256ns, L1 <4us ClockPM+ Surprise- LLActRep- BwNot- LnkCtl: ASPM L1 Enabled; RCB 128 bytes Disabled- Retrain- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Not Supported, TimeoutDis+ DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -6dB Capabilities: [b4] Vendor Specific Information: Len=14 <?> Capabilities: [100 v1] Virtual Channel Caps: LPEVC=0 RefClk=100ns PATEntryBits=1 Arb: Fixed- WRR32- WRR64- WRR128- Ctrl: ArbSelect=Fixed Status: InProgress- VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01 Status: NegoPending- InProgress- Capabilities: [128 v1] Power Budgeting <?> Capabilities: [600 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Created attachment 42427 [details] syslog.log when unloading nouveau+ttm+drm_kms_helper, reloading drm with debug=6 and reloading nouveau. The second par of the syslog.
Created attachment 42587 [details] vga rom extracted with vbtracetool
No improvment with 2.6.38-rc2 from nouveau git. I may add syslogs when running this kernel if needed.
Do you have fbcon configured as a module? You have to load it then...
(In reply to comment #4) > Do you have fbcon configured as a module? You have to load it then... fbcon (I guess this is CONFIG_FRAMEBUFFER_CONSOLE) is built-in.
It looks like the vbios leaves your memory severely overclocked after boot up. I don't know if you could force a perflevel as a module param, to get it into a sane state. You could ask this at the irc channel.
I highly recommend *against* trying to change the performance level here. There's something odd about the PLLs on nva3+ boards (sometimes), which is the more likely reason why we detect a 950MHz memclk.
As I've been told on IRC, here is a mmio trace when loading nouveau. http://ompldr.org/vN200OQ It contains two marks : before running modprobe nouveau, and after it complete.
Created attachment 46216 [details] dmesg log with linux 2.6.39-rc4 What happens is exactly the same with linux 2.6.39-rc4: blank screen when loading nouveau lkm.
Created attachment 46263 [details] [review] hardcode alternate set of dp magics I fear I know what's going on here. Can you give this patch a try and report what you see?
Created attachment 46453 [details] dmesg when loading the patched nouveau The visual effect with this patch is exactly the same. The screen become blank. I attach the dmesg log with drm.debug=14
When I connect an external VGA monitor and load nouveau, I get the correct image on the VGA screen. The same happen with and without the latest patch. Then the problem may be only eDP related.
Created attachment 48538 [details] [review] dp magics + debug, take 2 Hmm, it looks entirely plausible that the code added by the previous patch never got hit. Can you give this new version a try please!
Actually, looking at things again the code would have been hit. However, I understand those magics a bit more now, and it makes sense why the first patch didn't work. The new patch still may.
OMGWTFBBQ! IT WORKS! IT WORKS! :D I can even start xorg using nouveau. And at the same time it solves my ugly fonts I had using nvidia driver. BTW, here are the log lines added (I suppose) by your patch: Jul 3 00:30:56 Sylabtop kernel: [drm] nouveau 0000:01:00.0: DP config: 0x950e270e/0x00052801 0x004150c9 0x950e270e Jul 3 00:30:56 Sylabtop kernel: [drm] nouveau 0000:01:00.0: DP config: 0x00000000/0x00000000 0x00401100 0x14000000 Jul 3 00:30:56 Sylabtop kernel: [drm] nouveau 0000:01:00.0: DP config: 0x00000000/0x00000000 0x00401100 0x14000000 Now I hope it wouldn't take too long to make a real patch. ;)
Created attachment 51321 [details] kern.log Here are the logs with linux 3.1.0-rc5. And it doesn't work.
Yep, the fixed code isn't in an upstream kernel yet. It's queued for 3.2. Until then, current nouveau git will compile just fine against 3.1-rcX kernels. See http://nouveau.freedesktop.org/wiki/InstallDRM#out-of-treebuild.28alternative.29 for details of how to do so.
Created attachment 56293 [details] kern.log for 3.2.2 I'm a few days late for the aniversary of this bug. ^^ I tried Linux 3.2.2 from kernel.org, it doesn't work. I still have the blank screen. I attach the kern.log.
Please retest this with the latest kernel.
No response to re-test request in over a month. Closing as invalid.
Sorry for beeing so late. Tried with Linux 3.9. Now it works.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.