Bug 40548

Summary: Displayport not working on NV50
Product: xorg Reporter: Felipe Contreras <felipe.contreras>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Newer dmesg
none
dmesg
none
Xorg log none

Description Felipe Contreras 2011-09-01 07:28:21 UTC
This is what I get when I plug it in:

[ 1065.198294] [drm] nouveau 0000:01:00.0: plugged DP-1
[ 1070.813104] [drm] nouveau 0000:01:00.0: unplugged DP-1
[ 1070.937571] [drm] nouveau 0000:01:00.0: plugged DP-1
[ 1072.928409] [drm] nouveau 0000:01:00.0: unplugged DP-1
[ 1072.929480] [drm] nouveau 0000:01:00.0: plugged DP-1
[ 1099.207135] [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 125
[ 1099.207138] Raw EDID:
[ 1099.207141] <3>00 ff ff ff ff ff ff 00 10 ac 0f a0 53 48 36 30  ............SH60
[ 1099.207142] <3>24 0f 01 03 0e 34 21 78 ee ee 50 a3 54 4c 9b 26  $....4!x..P.TL.&
[ 1099.207143] <3>0f 50 54 a5 4b 00 81 80 a9 40 71 4f b3 00 01 01  .PT.K....@qO....
[ 1099.207144] <3>01 01 01 01 01 01 28 3c 80 a0 70 b0 23 40 30 20  ......(<..p.#@0 
[ 1099.207146] <3>36 00 07 44 21 00 00 1a 00 00 00 ff 00 4d 36 37  6..D!........M67
[ 1099.207147] <3>35 34 35 38 56 30 36 48 53 20 00 00 00 fc 00 44  5458V06HS .....D
[ 1099.207148] <3>45 4c 4c 20 30 00 00 5f ff ff ff ff ff ff ff ff  ELL 0.._........
[ 1099.207149] <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
[ 1099.207150] 
[ 1107.718299] [drm] nouveau 0000:01:00.0: unplugged DP-1

I don't see anything particular on X.org, but xrandr throws this:

xrandr: cannot find crtc for output DP-1

I'm using Linux 3.0.3, and nouveau git 8378443.
Comment 1 Felipe Contreras 2011-09-01 08:07:48 UTC
Created attachment 50812 [details]
Newer dmesg

Actually, I tried a few more times, in order to get the right EDID, but then it seemed to work, except that the screen is all black.
Comment 2 Emil Velikov 2011-09-04 06:44:30 UTC
Hi Felipe

Is the monitor connected to the card at boot ?

Can you give it a try and attach your logs as recommended [1]


Cheers

[1] http://nouveau.freedesktop.org/wiki/Bugs
Comment 3 Felipe Contreras 2011-09-04 07:14:11 UTC
(In reply to comment #2)
> Is the monitor connected to the card at boot ?

I tried that too, to no avail.

> Can you give it a try and attach your logs as recommended [1]

Ok, when I have access to it.
Comment 4 Felipe Contreras 2011-09-05 07:24:43 UTC
Created attachment 50921 [details]
dmesg
Comment 5 Felipe Contreras 2011-09-05 07:25:38 UTC
Created attachment 50922 [details]
Xorg log
Comment 6 Felipe Contreras 2011-09-05 07:27:13 UTC
(In reply to comment #2)
> Is the monitor connected to the card at boot ?
> 
> Can you give it a try and attach your logs as recommended [1]

There you go.
Comment 7 Emil Velikov 2011-09-05 11:56:46 UTC
Thanks Felipe for the logs

It would have been great if you could tell us if the DP monitor is working at boot, and at what exact moment it switches off - i.e. load of radeon/nouveau

Looking at your logs it appears that you have a laptop with two cards/gpus

Have you looked at Optimus [1]?

Does this setup work with the proprietary driver ?

For some reason Xorg.log is saying that you have 2 monitors connected to your laptop, apart from the LVDS

AFAIK nouveau/nvidia cannot control more than two outputs, thus can you try only one at a time ?

Cheers
Comment 8 Felipe Contreras 2011-09-05 11:59:54 UTC
(In reply to comment #7)
> Thanks Felipe for the logs
> 
> It would have been great if you could tell us if the DP monitor is working at
> boot, and at what exact moment it switches off - i.e. load of radeon/nouveau

No, it doesn't work at boot, and it never switches off. The led turns blue, as if it just received signal, but it stays black. The back-light is on and everything, there's just nothing there.

> Looking at your logs it appears that you have a laptop with two cards/gpus

Nope.

> Have you looked at Optimus [1]?

What is that?

> Does this setup work with the proprietary driver ?

Yes.

> For some reason Xorg.log is saying that you have 2 monitors connected to your
> laptop, apart from the LVDS

I do.

> AFAIK nouveau/nvidia cannot control more than two outputs, thus can you try
> only one at a time ?

I'll try, but my LVDS is broken, so it would be tricky.
Comment 9 Felipe Contreras 2011-09-05 12:21:31 UTC
(In reply to comment #8)
> > AFAIK nouveau/nvidia cannot control more than two outputs, thus can you try
> > only one at a time ?
> 
> I'll try, but my LVDS is broken, so it would be tricky.

Nope, same thing, even when I removed my VGA output display and rebooted.
Comment 10 Emil Velikov 2011-09-05 12:54:27 UTC
By bad forgot the Optimus link [1]

Whereas for the two GPU/cards I got this from your dmesg


[    0.807677] [drm] radeon defaulting to kernel modesetting.
[    0.807678] [drm] radeon kernel modesetting enabled.



[    2.141658] MXM: GUID detected in BIOS
[    2.141736] nouveau 0000:01:00.0: power state changed by ACPI to D0
[    2.141741] nouveau 0000:01:00.0: power state changed by ACPI to D0
[    2.141753] nouveau 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    2.141759] nouveau 0000:01:00.0: setting latency timer to 64
[    2.144701] [drm] nouveau 0000:01:00.0: Detected an NV50 generation card (0x0a5e00a2)

Can you attach the output of lspci just to confirm/dismiss the above


You can try the following 
1. Append "video=LVDS-1:d" to your kernel command line to disable the LVDS
2. Choose a lower resolution for your DP monitor - "video=DP-1:1024x768@60"

Cheers
Emil


[1] http://nouveau.freedesktop.org/wiki/Optimus
Comment 11 Felipe Contreras 2011-09-06 08:35:10 UTC
(In reply to comment #10)
> By bad forgot the Optimus link [1]
> 
> Whereas for the two GPU/cards I got this from your dmesg
> 
> [    0.807677] [drm] radeon defaulting to kernel modesetting.
> [    0.807678] [drm] radeon kernel modesetting enabled.

That's probably because CONFIG_DRM_RADEON=y (I compile my own kernel), but shouldn't affect anything; the driver just doesn't detect anything. Now I've compiled it as a module, and still no change.

> [    2.141658] MXM: GUID detected in BIOS
> [    2.141736] nouveau 0000:01:00.0: power state changed by ACPI to D0
> [    2.141741] nouveau 0000:01:00.0: power state changed by ACPI to D0
> [    2.141753] nouveau 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> [    2.141759] nouveau 0000:01:00.0: setting latency timer to 64
> [    2.144701] [drm] nouveau 0000:01:00.0: Detected an NV50 generation card
> (0x0a5e00a2)
> 
> Can you attach the output of lspci just to confirm/dismiss the above

00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 02)
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)
00:16.3 Serial controller: Intel Corporation 5 Series/3400 Series Chipset KT Controller (rev 06)
00:19.0 Ethernet controller: Intel Corporation 82577LM Gigabit Network Connection (rev 06)
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)
00:1c.6 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 7 (rev 06)
00:1c.7 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 8 (rev 06)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)
01:00.0 VGA compatible controller: nVidia Corporation GT216 [Quadro FX 880M] (rev a2)
01:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1)
03:00.0 Network controller: Intel Corporation Centrino Ultimate-N 6300 (rev 35)
0d:00.0 SD Host controller: Ricoh Co Ltd Device e822 (rev 01)
0d:00.1 System peripheral: Ricoh Co Ltd Device e230 (rev 01)
0f:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)
17:00.0 SD Host controller: Ricoh Co Ltd Device e822 (rev 01)
17:00.3 FireWire (IEEE 1394): Ricoh Co Ltd Device e832 (rev 01)
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02)
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02)
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02)
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02)
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02)
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)

> You can try the following 
> 1. Append "video=LVDS-1:d" to your kernel command line to disable the LVDS

Still nothing.

> 2. Choose a lower resolution for your DP monitor - "video=DP-1:1024x768@60"

Still nothing.
Comment 12 Ben Skeggs 2011-09-08 21:04:01 UTC
Where does your nouveau kernel module come from?  The code in nouveau kernel git should support native DP outputs correctly now, if you're not already using that code, it's worth a try.
Comment 13 Felipe Contreras 2011-09-09 04:07:17 UTC
(In reply to comment #12)
> Where does your nouveau kernel module come from?  The code in nouveau kernel
> git should support native DP outputs correctly now, if you're not already using
> that code, it's worth a try.

What do you mean by "git"? 3.1-rc5?
Comment 14 Ben Skeggs 2011-09-09 05:01:42 UTC
No, not Linus' tree, Nouveau's - which is at http://cgit.freedesktop.org/nouveau/linux-2.6
Comment 15 Felipe Contreras 2011-09-12 10:42:28 UTC
(In reply to comment #14)
> No, not Linus' tree, Nouveau's - which is at
> http://cgit.freedesktop.org/nouveau/linux-2.6

Indeed, I tested that code and it's working fine.

Now I wonder when it will be merged to Linux upstream... I guess 3.2, right?
Comment 16 Ben Skeggs 2011-09-12 12:10:07 UTC
Yeah, it'll be merged for 3.2 - barring any show-stopping issues.

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.