Bug 89272

Summary: GM206 does not recognize attached hdmi monitor
Product: xorg Reporter: Stefan Huehner <stefan>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg with nouveau.debug=debug drm.debug=0xe
none
dmesg with nouveau.debug=trace drm.debug=0xe none

Description Stefan Huehner 2015-02-21 21:45:08 UTC
Created attachment 113732 [details]
dmesg with nouveau.debug=debug drm.debug=0xe

Hi,
adding this patch on top of linux-3.19 or tip of http://cgit.freedesktop.org/~darktama/nouveau

is enough to get a GM206 / GTX 960 to get 'modprove nouveau' to work and getting output on a VGA monitor attached to the DVI-I port.

However trying the same with a HDMI monitor attached to the hdmi port does not work.

Attached is dmesg output with extra debugging enabled + a 2nd file with debug level=trace enabled.

I have also sent an mmiotrace of that hdmi use-case by mail.
Comment 1 Stefan Huehner 2015-02-21 21:45:33 UTC
Created attachment 113733 [details]
dmesg with nouveau.debug=trace drm.debug=0xe
Comment 2 Stefan Huehner 2015-02-21 21:47:01 UTC
Reference to the patch mentioned in previous comment:

http://lists.freedesktop.org/archives/nouveau/2015-February/020131.html
Comment 3 Ilia Mirkin 2015-02-21 21:52:49 UTC
One observation about the mmiotrace... grepping for PDISPLAY (and MARK), I see the following sequence after the replug happens. I don't know of anything we have any code to reproduce something like that. It also looks like the blob is using PDAEMON to do a *lot* more stuff now...

[0] 215.511929 MMIO32 R 0x610024 0x00000070 PDISPLAY+0x24 => 0x70
[0] 215.511979 MMIO32 R 0x610020 0x00000000 PDISPLAY+0x20 => 0
[0] 215.512027 MMIO32 W 0x610020 0x0000001f PDISPLAY+0x20 <= 0x1f
[0] 215.512076 MMIO32 W 0x610024 0x10700f71 PDISPLAY+0x24 <= 0x10700f71
[0] 215.512418 MMIO32 R 0x61d380 0x00000000 PDISPLAY.SOR[0x2]+0x380 => 0
[0] 215.512466 MMIO32 W 0x61d380 0x00000000 PDISPLAY.SOR[0x2]+0x380 <= 0
[0] 215.512520 MMIO32 W 0x610020 0x00000000 PDISPLAY+0x20 <= 0
[0] 215.512568 MMIO32 W 0x610024 0x00000070 PDISPLAY+0x24 <= 0x70
[0] 215.521885 MMIO32 R 0x61d380 0x00000000 PDISPLAY.SOR[0x2]+0x380 => 0
[0] 215.521937 MMIO32 R 0x610024 0x00000070 PDISPLAY+0x24 => 0x70
[0] 215.521983 MMIO32 R 0x610020 0x00000000 PDISPLAY+0x20 => 0
[0] 215.522029 MMIO32 W 0x610020 0x0000001f PDISPLAY+0x20 <= 0x1f
[0] 215.522075 MMIO32 W 0x610024 0x10700f71 PDISPLAY+0x24 <= 0x10700f71
[0] 215.522395 MMIO32 R 0x61d380 0x00000000 PDISPLAY.SOR[0x2]+0x380 => 0
[0] 215.522440 MMIO32 W 0x61d380 0x00000001 PDISPLAY.SOR[0x2]+0x380 <= 0x1
[0] 215.522654 MMIO32 R 0x61d380 0x00000101 PDISPLAY.SOR[0x2]+0x380 => 0x101
[0] 215.522704 MMIO32 W 0x610020 0x00000000 PDISPLAY+0x20 <= 0
[0] 215.522750 MMIO32 W 0x610024 0x00000070 PDISPLAY+0x24 <= 0x70
[0] 215.522795 MMIO32 W 0x61d36c 0x2b94fae2 PDISPLAY.SOR[0x2]+0x36c <= 0x2b94fae2
[0] 215.522842 MMIO32 R 0x61d368 0x00000034 PDISPLAY.SOR[0x2]+0x368 => 0x34
[0] 215.522887 MMIO32 W 0x61d368 0x00000034 PDISPLAY.SOR[0x2]+0x368 <= 0x34
[0] 215.522938 MMIO32 R 0x610024 0x00000070 PDISPLAY+0x24 => 0x70
[0] 215.522985 MMIO32 R 0x610020 0x00000000 PDISPLAY+0x20 => 0
[0] 215.523030 MMIO32 W 0x610020 0x0000001f PDISPLAY+0x20 <= 0x1f
[0] 215.523076 MMIO32 W 0x610024 0x10700f71 PDISPLAY+0x24 <= 0x10700f71
[0] 215.523395 MMIO32 R 0x61d380 0x00000301 PDISPLAY.SOR[0x2]+0x380 => 0x301
[0] 215.523440 MMIO32 W 0x61d380 0x00000300 PDISPLAY.SOR[0x2]+0x380 <= 0x300
[0] 215.523491 MMIO32 W 0x610020 0x00000000 PDISPLAY+0x20 <= 0
[0] 215.523536 MMIO32 W 0x610024 0x00000070 PDISPLAY+0x24 <= 0x70
[0] 215.523584 MMIO32 R 0x61d380 0x00000300 PDISPLAY.SOR[0x2]+0x380 => 0x300
[0] 215.523636 MMIO32 R 0x610024 0x00000070 PDISPLAY+0x24 => 0x70
[0] 215.523682 MMIO32 R 0x610020 0x00000000 PDISPLAY+0x20 => 0
[0] 215.523727 MMIO32 W 0x610020 0x0000001f PDISPLAY+0x20 <= 0x1f
[0] 215.523772 MMIO32 W 0x610024 0x10700f71 PDISPLAY+0x24 <= 0x10700f71
[0] 215.524092 MMIO32 R 0x61d380 0x00000300 PDISPLAY.SOR[0x2]+0x380 => 0x300
[0] 215.524138 MMIO32 W 0x61d380 0x00000301 PDISPLAY.SOR[0x2]+0x380 <= 0x301
[0] 215.524348 MMIO32 R 0x61d380 0x00000301 PDISPLAY.SOR[0x2]+0x380 => 0x301
[0] 215.524398 MMIO32 W 0x610020 0x00000000 PDISPLAY+0x20 <= 0
[0] 215.524444 MMIO32 W 0x610024 0x00000070 PDISPLAY+0x24 <= 0x70
[0] 215.524490 MMIO32 W 0x61d3c0 0x00000000 PDISPLAY.SOR[0x2]+0x3c0 <= 0
[0] 215.524536 MMIO32 R 0x61d3bc 0x00000000 PDISPLAY.SOR[0x2]+0x3bc => 0
[0] 215.524581 MMIO32 W 0x61d3bc 0x00000000 PDISPLAY.SOR[0x2]+0x3bc <= 0
[0] 215.524632 MMIO32 R 0x610024 0x00000070 PDISPLAY+0x24 => 0x70
[0] 215.524679 MMIO32 R 0x610020 0x00000000 PDISPLAY+0x20 => 0
[0] 215.524724 MMIO32 W 0x610020 0x0000001f PDISPLAY+0x20 <= 0x1f
[0] 215.524769 MMIO32 W 0x610024 0x10700f71 PDISPLAY+0x24 <= 0x10700f71
[0] 215.525089 MMIO32 R 0x61d380 0x00000301 PDISPLAY.SOR[0x2]+0x380 => 0x301
[0] 215.525134 MMIO32 W 0x61d380 0x00000300 PDISPLAY.SOR[0x2]+0x380 <= 0x300
[0] 215.525185 MMIO32 W 0x610020 0x00000000 PDISPLAY+0x20 <= 0
[0] 215.525230 MMIO32 W 0x610024 0x00000070 PDISPLAY+0x24 <= 0x70
[0] 215.525278 MMIO32 R 0x61d368 0x00000034 PDISPLAY.SOR[0x2]+0x368 => 0x34
[0] 215.525323 MMIO32 W 0x61d368 0x00000034 PDISPLAY.SOR[0x2]+0x368 <= 0x34
[0] 215.527945 MMIO32 R 0x619498 0x00008000 PDISPLAY.VGA.CR+0x98 => 0x8000
Comment 4 Stefan Huehner 2015-02-22 14:59:55 UTC
This patch just sent to the list fixes that for me:
http://lists.freedesktop.org/archives/nouveau/2015-February/020143.html

With that attached HDMI monitor is detected as connected and lights up.
Comment 5 Stefan Huehner 2015-10-10 09:14:14 UTC
That bug was fixed in 4.0

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.