Bug 78748 - [NV11] Nouveau fails initializing KMS on Geforce2 Go (NV11M)
Summary: [NV11] Nouveau fails initializing KMS on Geforce2 Go (NV11M)
Status: NEW
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium blocker
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-15 16:13 UTC by Ismael
Modified: 2014-08-21 19:43 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Video bios (10de:0112 NVIDIA Corporation NV11M [GeForce2 Go] (rev b2)) (55.00 KB, text/plain)
2014-05-15 16:13 UTC, Ismael
no flags Details
debug dmesg (64.63 KB, text/plain)
2014-05-15 16:15 UTC, Ismael
no flags Details
dmesg after first patch (it's a different userland than first log) (70.43 KB, text/plain)
2014-05-15 18:37 UTC, Ismael
no flags Details
patch #1 (388 bytes, patch)
2014-05-15 18:38 UTC, Ismael
no flags Details | Splinter Review
X.org log with patch #1 applied (6.92 KB, text/plain)
2014-05-15 18:39 UTC, Ismael
no flags Details
X.org log with patch #1 applied and xf86-video-nouveau (24.98 KB, text/plain)
2014-05-15 19:09 UTC, Ismael
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ismael 2014-05-15 16:13:59 UTC
Created attachment 99105 [details]
Video bios (10de:0112 NVIDIA Corporation NV11M [GeForce2 Go] (rev b2))

Nouveau kernel module crashes at boot, trying to enable outputs.
It can not detect any modes.

All the outputs are turned off when the bug happens, so the system is unusable.
Comment 1 Ismael 2014-05-15 16:15:29 UTC
Created attachment 99106 [details]
debug dmesg
Comment 2 Ilia Mirkin 2014-05-15 17:00:55 UTC
My investigation of this led to mode being null. I guess I would have expected bios->fp_no_ddc to be set, but it wasn't. Will look at the attached vbios.

A workaround for now would be to change

drivers/gpu/drm/nouveau/nouveau_connector.c:nouveau_connector_detect_depth

        /* LVDS: panel straps */
        if (bios->fp_no_ddc) {
                if (bios->fp.if_is_24bit)
                        connector->display_info.bpc = 8;
                return;
        }

to be

        /* LVDS: panel straps */
        if (1 || bios->fp_no_ddc) {
                if (bios->fp.if_is_24bit)
                        connector->display_info.bpc = 8;
                return;
        }

Which will force it down this path. Alternatively you could change

                duallink = mode->clock >= bios->fp.duallink_transition_clk;

to be

                duallink = mode && mode->clock >= bios->fp.duallink_transition_clk;

Which would also avoid the crash.
Comment 3 Ilia Mirkin 2014-05-15 17:12:19 UTC
DCB table at 0xd537 version 1.5
DCB 0: type 0 [ANALOG] I2C 0 heads 0 conntag 0 LOCAL OR 0 maxfreq 350000kHz
DCB 1: type 4 [???] I2C 1 heads 1 unk00_4 1 conntag 1 LOCAL OR 1
DCB 2: type 1 [TV] I2C 1 heads 0 unk00_4 1 conntag 2 EXT 0 OR 0

Well that's a little odd... I suspect that throws off some of the logic. Type 4 is "reserved". Yet, somehow it still detects that there's a LVDS...

nvbios doesn't print the other stuff, so it'll take some more decoding to work out what's what... might look at that later.
Comment 4 Ismael 2014-05-15 18:37:55 UTC
Created attachment 99115 [details]
dmesg after first patch (it's a different userland than first log)
Comment 5 Ismael 2014-05-15 18:38:43 UTC
Created attachment 99116 [details] [review]
patch #1
Comment 6 Ismael 2014-05-15 18:39:36 UTC
Created attachment 99117 [details]
X.org log with patch #1 applied
Comment 7 Ismael 2014-05-15 19:09:37 UTC
Created attachment 99122 [details]
X.org log with patch #1 applied and xf86-video-nouveau
Comment 8 Ilia Mirkin 2014-08-21 19:34:05 UTC
Can you confirm that things work fine with the hack I suggested (i.e. your patch #1)?
Comment 9 Ismael 2014-08-21 19:43:33 UTC
(In reply to comment #8)
> Can you confirm that things work fine with the hack I suggested (i.e. your
> patch #1)?

No, it didn't work. Nouveau does not crash anymore, but the screen just flashes and shows black and white garbage.

Sadly I do not have access to the hardware anymore, it was a customer's hardware and he took it away. I suppose you can close this bug.
Sorry for not closing this down before, and thanks a lot for your help and time.


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.