Bug 33445 - [NVA8] NVS 3100M : Blank screen on internal eDP monitor
Summary: [NVA8] NVS 3100M : Blank screen on internal eDP monitor
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium critical
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-24 18:19 UTC by celelibi
Modified: 2013-10-04 21:26 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
syslog.log From boot up to modprobe nouveau (68.81 KB, text/plain)
2011-01-24 18:19 UTC, celelibi
no flags Details
syslog.log when unloading nouveau+ttm+drm_kms_helper, reloading drm with debug=6 and reloading nouveau. (262.36 KB, text/plain)
2011-01-24 18:21 UTC, celelibi
no flags Details
vga rom extracted with vbtracetool (59.50 KB, application/octet-stream)
2011-01-27 05:34 UTC, celelibi
no flags Details
dmesg log with linux 2.6.39-rc4 (568.44 KB, text/plain)
2011-05-01 05:50 UTC, celelibi
no flags Details
hardcode alternate set of dp magics (923 bytes, patch)
2011-05-02 15:59 UTC, Ben Skeggs
no flags Details | Splinter Review
dmesg when loading the patched nouveau (244.88 KB, text/plain)
2011-05-08 13:39 UTC, celelibi
no flags Details
dp magics + debug, take 2 (736 bytes, patch)
2011-06-28 22:22 UTC, Ben Skeggs
no flags Details | Splinter Review
kern.log (403.83 KB, text/plain)
2011-09-18 13:18 UTC, celelibi
no flags Details
kern.log for 3.2.2 (386.10 KB, text/plain)
2012-01-29 08:55 UTC, celelibi
no flags Details

Description celelibi 2011-01-24 18:19:52 UTC
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 <?>
Comment 1 celelibi 2011-01-24 18:21:47 UTC
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.
Comment 2 celelibi 2011-01-27 05:34:05 UTC
Created attachment 42587 [details]
vga rom extracted with vbtracetool
Comment 3 celelibi 2011-01-27 11:36:15 UTC
No improvment with 2.6.38-rc2 from nouveau git.
I may add syslogs when running this kernel if needed.
Comment 4 Tomasz Wasiak 2011-02-03 16:34:25 UTC
Do you have fbcon configured as a module? You have to load it then...
Comment 5 celelibi 2011-02-05 16:42:56 UTC
(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.
Comment 6 Lucas Stach 2011-02-15 02:13:21 UTC
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.
Comment 7 Ben Skeggs 2011-02-15 20:33:09 UTC
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.
Comment 8 celelibi 2011-03-01 08:05:44 UTC
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.
Comment 9 celelibi 2011-05-01 05:50:26 UTC
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.
Comment 10 Ben Skeggs 2011-05-02 15:59:12 UTC
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?
Comment 11 celelibi 2011-05-08 13:39:17 UTC
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
Comment 12 celelibi 2011-05-21 03:41:44 UTC
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.
Comment 13 Ben Skeggs 2011-06-28 22:22:18 UTC
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!
Comment 14 Ben Skeggs 2011-06-29 04:20:28 UTC
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.
Comment 15 celelibi 2011-07-02 15:50:31 UTC
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. ;)
Comment 16 celelibi 2011-09-18 13:18:57 UTC
Created attachment 51321 [details]
kern.log

Here are the logs with linux 3.1.0-rc5.
And it doesn't work.
Comment 17 Ben Skeggs 2011-09-19 23:29:55 UTC
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.
Comment 18 celelibi 2012-01-29 08:55:42 UTC
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.
Comment 19 Ilia Mirkin 2013-08-25 03:59:09 UTC
Please retest this with the latest kernel.
Comment 20 Ilia Mirkin 2013-09-26 23:30:24 UTC
No response to re-test request in over a month. Closing as invalid.
Comment 21 celelibi 2013-10-04 21:26:41 UTC
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.