Bug 32934 - [ILK switchable] External monitor (connected via docking station) stays black
Summary: [ILK switchable] External monitor (connected via docking station) stays black
Status: CLOSED NOTOURBUG
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Jesse Barnes
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-09 02:56 UTC by Stefan SF
Modified: 2017-07-24 23:06 UTC (History)
5 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (87.29 KB, text/plain)
2011-01-09 02:56 UTC, Stefan SF
no flags Details
Xorg.0.log (62.21 KB, text/plain)
2011-01-09 02:57 UTC, Stefan SF
no flags Details
dmesg, external monitor is connected directly with the notebook via DisplayPort (87.30 KB, text/plain)
2011-01-09 04:02 UTC, Stefan SF
no flags Details
dmesg, external monitor is connected via the docking station (104.67 KB, text/plain)
2011-01-09 04:03 UTC, Stefan SF
no flags Details
dmesg, external monitor is connected via the docking station and VGA (90.42 KB, text/plain)
2011-01-09 04:05 UTC, Stefan SF
no flags Details
Xorg.0.log, external monitor is connected directly with the notebook via DisplayPort (62.37 KB, text/plain)
2011-01-09 04:06 UTC, Stefan SF
no flags Details
Xorg.0.log, external monitor is connected via the docking station (62.37 KB, text/plain)
2011-01-09 04:07 UTC, Stefan SF
no flags Details
Xorg.0.log, external monitor is connected via the docking station and VGA (76.07 KB, text/plain)
2011-01-09 04:07 UTC, Stefan SF
no flags Details
dmesg, external monitor is connected via the docking station (191.40 KB, text/plain)
2012-02-09 01:36 UTC, Stefan SF
no flags Details
Xorg.0.log, external monitor is connected via the docking station (40.27 KB, text/plain)
2012-02-09 01:37 UTC, Stefan SF
no flags Details
Xorg.0.log, external monitor is connected via the docking station (41.23 KB, text/plain)
2012-04-19 09:03 UTC, Stefan SF
no flags Details
dmesg, external monitor is connected via the docking station (202.46 KB, text/plain)
2012-04-19 09:04 UTC, Stefan SF
no flags Details
intel_reg_dumper direct connect via DP (11.21 KB, text/plain)
2012-04-19 15:20 UTC, Stefan SF
no flags Details
intel_reg_dumper connect via Dock+DP (11.16 KB, text/plain)
2012-04-19 15:21 UTC, Stefan SF
no flags Details
intel_reg_dumper connect via Dock+DVI (11.16 KB, text/plain)
2012-04-19 15:49 UTC, Stefan SF
no flags Details
intel_reg_dumper direct connect via DP (11.16 KB, text/plain)
2012-04-19 16:05 UTC, Stefan SF
no flags Details
intel_reg_dumper i915 disabled and connected via Dock+DP (13.69 KB, text/plain)
2013-03-29 08:03 UTC, Stefan SF
no flags Details
intel_reg_dumper connect via Dock+DP (13.79 KB, text/plain)
2013-03-29 08:04 UTC, Stefan SF
no flags Details

Description Stefan SF 2011-01-09 02:56:11 UTC
An external monitor connected via a docking station stays black but the LED of the monitor status says that it receives a signal. The monitor is also visible by xrandr and the gnome display tool.

The external monitor works if it is connected directly to the notebook (i.e. _not_ via the docking station).

Hardware: Lenovo ThinkPad T410s, Mini Dock Plus Series 3

Software: linux kernel version 2.6.35.10, intel drv version 2.13.0

If you need anything else, just let me know.
Comment 1 Stefan SF 2011-01-09 02:56:45 UTC
Created attachment 41787 [details]
dmesg
Comment 2 Stefan SF 2011-01-09 02:57:12 UTC
Created attachment 41788 [details]
Xorg.0.log
Comment 3 Chris Wilson 2011-01-09 03:04:13 UTC
Can you attach the dmesg+Xorg.log for the docked/undocked states? [Rename the current ones to make it clear which I'm looking at ;-]
Comment 4 Chris Wilson 2011-01-09 03:27:08 UTC
The other thing to check if the monitor stays black after a dpms off/on cycle.
Comment 5 Stefan SF 2011-01-09 04:01:15 UTC
First of all, I did the new tests with the git version from today (fd9235ebe03a01982238cdd6e8b55f613e14b6af) without any obvious change. I'm also using libdrm-2.4.24-0.1.20110106

What might be interesting is the fact, that if the external monitor is connected via the docking station and VGA, then it works. But not via DisplayPort or DVI.

The monitor also stays black after an DMPS off/on cycle:
$ xrandr -q
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192
VGA1 disconnected (normal left inverted right x axis y axis)
LVDS1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 303mm x 190mm
   1440x900       60.0*+   50.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 connected (normal left inverted right x axis y axis)
   1280x1024      60.0 +
   1024x768       60.0  
   800x600        60.3  
   640x480        60.0  
   720x400        70.1  
HDMI3 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)

$ xrandr --output HDMI2 --off

$ xrandr --output HDMI2 --mode 1280x1024
Comment 6 Stefan SF 2011-01-09 04:02:27 UTC
Created attachment 41790 [details]
dmesg, external monitor is connected directly with the notebook via DisplayPort
Comment 7 Stefan SF 2011-01-09 04:03:28 UTC
Created attachment 41791 [details]
dmesg, external monitor is connected via the docking station
Comment 8 Stefan SF 2011-01-09 04:05:38 UTC
Created attachment 41792 [details]
dmesg, external monitor is connected via the docking station and VGA
Comment 9 Stefan SF 2011-01-09 04:06:18 UTC
Created attachment 41793 [details]
Xorg.0.log, external monitor is connected directly with the notebook via DisplayPort
Comment 10 Stefan SF 2011-01-09 04:07:14 UTC
Created attachment 41794 [details]
Xorg.0.log, external monitor is connected via the docking station
Comment 11 Stefan SF 2011-01-09 04:07:45 UTC
Created attachment 41795 [details]
Xorg.0.log, external monitor is connected via the docking station and VGA
Comment 12 Stefan SF 2011-06-07 11:03:17 UTC
The problem stays the same even with newest drivers:

Fedora 15, Linux kernel version 2.6.38.7, Intel driver version 2.15.0

Would it help if I renew all log files with the current drivers?
Comment 13 Daniel Vetter 2012-02-08 09:52:35 UTC
Linux kernel 2.6.38 is positively acient ;-), please retest with at least 3.2, preferably drm-intel-fixes.
Comment 14 Stefan SF 2012-02-08 09:56:02 UTC
(In reply to comment #13)
> Linux kernel 2.6.38 is positively acient ;-), please retest with at least 3.2,
> preferably drm-intel-fixes.

Problem stays the same with Linux kernel version 3.2.3 and intel drv version 2.17.0 (Fedora 16 with current updates installed).
Comment 15 Daniel Vetter 2012-02-08 10:33:10 UTC
drm-intel-fixes just gained some new display port fixes, please retest. git tree is at:

https://git.kernel.org/?p=linux/kernel/git/keithp/linux.git;a=shortlog;h=refs/heads/drm-intel-fixes
Comment 16 Stefan SF 2012-02-09 01:36:33 UTC
Created attachment 56797 [details]
dmesg, external monitor is connected via the docking station
Comment 17 Stefan SF 2012-02-09 01:37:16 UTC
Created attachment 56798 [details]
Xorg.0.log, external monitor is connected via the docking station
Comment 18 Stefan SF 2012-02-09 01:41:33 UTC
(In reply to comment #15)
> drm-intel-fixes just gained some new display port fixes, please retest.

The problem stays the same. I did a test with the latest git version (3.3.0-rc1+): e57b6886f555ab57f40a01713304e2053efe51ec

Dmesg and Xorg logs are attached
Comment 19 Jesse Barnes 2012-04-18 11:54:13 UTC
Hm this works for me with an E6510 and Dell docking station using DP.

Daniel or Chris, do you have a T410 you can test with?  Stefan, as usual testing with the latest bits would be helpful, in this case Daniel's drm-intel-next-queued branch (the one I just tested).
Comment 20 Yi Sun 2012-04-18 19:35:05 UTC
Hi, we tested it with last code on Daniel's tree. All display ports (VGA, DP and DVI)on our t410 with dock work well.

The commit is;

Kernel: (drm-intel-next-queued)7624ea8185c61f799026d463b4a3ca37df501086
Some additional commit info:
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Tue Apr 10 11:41:49 2012 +0100

    drm/i915: Ironlake shares the same video sprite controls as Sandybridge
Comment 21 Daniel Vetter 2012-04-19 00:20:15 UTC
Tested this as well on my t410+dock, dp works well.
Comment 22 Daniel Vetter 2012-04-19 00:21:09 UTC
I've forgotten to say: I've tested on latest drm-intel-next-queued. Stefan, if this does not work for you, please reopen the bug report.
Comment 23 Stefan SF 2012-04-19 01:08:07 UTC
I'm already compiling drm-intel-next-queued (f6750b3cc6e9284f373a2fd155ec0bba38d02ad0) and will test it today afternoon.

You mentioned that you tested it with a T410. However, I'm using a T410s which is probably a little bit different since it also has a Intel+NVIDIA card inside (though I have the NVIDIA card disabled in the BIOS). Don't know if it might change the setup?
Comment 24 Daniel Vetter 2012-04-19 01:23:19 UTC
T410s vs T410 might very well make the difference, so please retest and reopen if it does not work for you.
Comment 25 Jesse Barnes 2012-04-19 07:57:36 UTC
Note that on some hybrid laptops the external connector is hardwired to the nvidia chip, so we may not be able to get it to light up without extra work in the nouveau and switching drivers.
Comment 26 Stefan SF 2012-04-19 09:01:17 UTC
I did some testing with drm-intel-next-queued (f6750b3cc6e9284f373a2fd155ec0bba38d02ad0) but the monitor stays black if connected via the docking station. I will attach some new logs which show, that at least the monitor is found. Even the GNOME screen preferences show the monitor with the desired resolution. But again, the monitor stays black (I also tried to toggle on and off but that didn't help). If you need anything else, just let me know.

(In reply to comment #25)
> Note that on some hybrid laptops the external connector is hardwired to the
> nvidia chip, so we may not be able to get it to light up without extra work in
> the nouveau and switching drivers.

I'm not familiar with internals but if I connect the monitor directly via DisplayPort to the notebook, then the external monitor works fine as expected. Only if I try to use the external monitor via DisplayPort+DockingStation, then the monitor stays black. Though, this does not sound like a hardwired problem to me. But this is just something my stomach tells me, no facts ;)
Comment 27 Stefan SF 2012-04-19 09:03:12 UTC
Created attachment 60319 [details]
Xorg.0.log, external monitor is connected via the docking station
Comment 28 Stefan SF 2012-04-19 09:04:01 UTC
Created attachment 60320 [details]
dmesg, external monitor is connected via the docking station
Comment 29 Jesse Barnes 2012-04-19 15:04:00 UTC
Can you attach a register dump as well from intel_reg_dumper?
Comment 30 Jesse Barnes 2012-04-19 15:04:39 UTC
(from the working case plugged into your laptop and the broken case plugged into the dock).

Also, does the monitor work if you have it plugged into the dock and then boot the machine?
Comment 31 Stefan SF 2012-04-19 15:20:57 UTC
Created attachment 60340 [details]
intel_reg_dumper direct connect via DP
Comment 32 Stefan SF 2012-04-19 15:21:34 UTC
Created attachment 60341 [details]
intel_reg_dumper connect via Dock+DP
Comment 33 Stefan SF 2012-04-19 15:23:57 UTC
In comment 31 and 32 I attached the output of intel_reg_dumper. Both cases have been made while the monitor was connected throughout the boot time, i.e. the machine was turned off, and I connected the monitor in both cases before I began to boot the machine again.
Comment 34 Jesse Barnes 2012-04-19 15:34:18 UTC
In the working config, you have an HDMI port active, and in the broken config you have a different HDMI port active.  Are you sure this isn't an HDMI connection?  Or are you using a DP->HDMI dongle?

--- intel_reg_dumper-DP	2012-04-19 15:25:55.000000000 -0700
+++ intel_reg_dumper-DOCK+DP	2012-04-19 15:26:00.000000000 -0700
@@ -11,29 +11,29 @@
        DISPLAY_PORT_PLL_BIOS_1: 0x00000000
        DISPLAY_PORT_PLL_BIOS_2: 0x00000000
               FDI_PLL_FREQ_CTL: 0x00053687
-                     PIPEACONF: 0xc0000000 (enabled, active, 8bpc)
-                      HTOTAL_A: 0x069704ff (1280 active, 1688 total)
-                      HBLANK_A: 0x069704ff (1280 start, 1688 end)
-                       HSYNC_A: 0x059f052f (1328 start, 1440 end)
-                      VTOTAL_A: 0x042903ff (1024 active, 1066 total)
-                      VBLANK_A: 0x042903ff (1024 start, 1066 end)
-                       VSYNC_A: 0x04030400 (1025 start, 1028 end)
+                     PIPEACONF: 0xc0000050 (enabled, active, 6bpc)
+                      HTOTAL_A: 0x0783059f (1440 active, 1924 total)
+                      HBLANK_A: 0x0783059f (1440 start, 1924 end)
+                       HSYNC_A: 0x05ef05cf (1488 start, 1520 end)
+                      VTOTAL_A: 0x039d0383 (900 active, 926 total)
+                      VBLANK_A: 0x039d0383 (900 start, 926 end)
+                       VSYNC_A: 0x038c0386 (903 start, 909 end)

So in the undocked case, you're trying to run you local panel at its native resolution, but in the docked case you're trying a cloned 1280x1024 config?

                   VSYNCSHIFT_A: 0x00000000
-                      PIPEASRC: 0x04ff03ff (1280, 1024)
-                 PIPEA_DATA_M1: 0x7e278d00 (TU 64, val 0x278d00 2592000)
-                 PIPEA_DATA_N1: 0x0041eb00 (val 0x41eb00 4320000)
+                      PIPEASRC: 0x059f0383 (1440, 900)
+                 PIPEA_DATA_M1: 0x7e1d5bb4 (TU 64, val 0x1d5bb4 1924020)
+                 PIPEA_DATA_N1: 0x0020f580 (val 0x20f580 2160000)
                  PIPEA_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
                  PIPEA_DATA_N2: 0x00000000 (val 0x0 0)
-                 PIPEA_LINK_M1: 0x0001a5e0 (val 0x1a5e0 108000)
+                 PIPEA_LINK_M1: 0x0001a18a (val 0x1a18a 106890)
                  PIPEA_LINK_N1: 0x00041eb0 (val 0x41eb0 270000)
                  PIPEA_LINK_M2: 0x00000000 (val 0x0 0)
                  PIPEA_LINK_N2: 0x00000000 (val 0x0 0)
                       DSPACNTR: 0xd8004400 (enabled)
                       DSPABASE: 0x00000000
-                    DSPASTRIDE: 0x00001400 (80)
-                      DSPASURF: 0x0663b000
+                    DSPASTRIDE: 0x00002c00 (176)
+                      DSPASURF: 0x0293a000
                    DSPATILEOFF: 0x00000000 (0, 0)
-                     PIPEBCONF: 0x00000000 (disabled, inactive, 8bpc)
+                     PIPEBCONF: 0xc0000000 (enabled, active, 8bpc)
                       HTOTAL_B: 0x069704ff (1280 active, 1688 total)
                       HBLANK_B: 0x069704ff (1280 start, 1688 end)
                        HSYNC_B: 0x059f052f (1328 start, 1440 end)
@@ -41,10 +41,10 @@
                       VBLANK_B: 0x042903ff (1024 start, 1066 end)
                        VSYNC_B: 0x04030400 (1025 start, 1028 end)
                   VSYNCSHIFT_B: 0x00000000
-                      DSPBCNTR: 0x58004400 (disabled)
+                      DSPBCNTR: 0xd8004400 (enabled)
                       DSPBBASE: 0x00001680
                     DSPBSTRIDE: 0x00002c00 (176)
-                      DSPBSURF: 0x082d6000
+                      DSPBSURF: 0x0293a000
                    DSPBTILEOFF: 0x000005a0 (1440, 0)
                       PIPEBSRC: 0x04ff03ff (1280, 1024)
                  PIPEB_DATA_M1: 0x7e278d00 (TU 64, val 0x278d00 2592000)
@@ -56,9 +56,9 @@
                  PIPEB_LINK_M2: 0x00000000 (val 0x0 0)
                  PIPEB_LINK_N2: 0x00000000 (val 0x0 0)
                      PFA_CTL_1: 0x00000000 (disable, auto_scale yes, auto_scale_cal no, v_filter enable, vadapt disable, mode least, filter_sel programmed,chroma pre-filter disable, vert3tap auto, v_inter_invert field 1)
-                     PFA_CTL_2: 0x00007e00 (vscale 0.984375)
-                     PFA_CTL_3: 0x00003f00 (vscale initial phase 0.492188)
-                     PFA_CTL_4: 0x00007d80 (hscale 0.980469)
+                     PFA_CTL_2: 0x00007e3e (vscale 0.986267)
+                     PFA_CTL_3: 0x00003f1f (vscale initial phase 0.493134)
+                     PFA_CTL_4: 0x00007d30 (hscale 0.978027)
                    PFA_WIN_POS: 0x00000000 (0, 0)
                   PFA_WIN_SIZE: 0x00000000 (0, 0)
                      PFB_CTL_1: 0x00000000 (disable, auto_scale yes, auto_scale_cal no, v_filter enable, vadapt disable, mode least, filter_sel programmed,chroma pre-filter disable, vert3tap auto, v_inter_invert field 1)
@@ -74,18 +74,18 @@
             PCH_SSC4_AUX_PARMS: 0x00000000
                   PCH_DPLL_SEL: 0x00000000 (FDL_TP1 timer 0.5us, FDL_TP2 timer 1.5us, freq 125)
            PCH_DPLL_ANALOG_CTL: 0x00008000
-                    PCH_DPLL_A: 0xc4040004 (enable, sdvo high speed yes, mode (null), p2 (null), FPA0 P1 3, FPA1 P1 3, refclk default 120Mhz, sdvo/hdmi mul 1)
-                    PCH_DPLL_B: 0x44040004 (disable, sdvo high speed yes, mode (null), p2 (null), FPA0 P1 3, FPA1 P1 3, refclk default 120Mhz, sdvo/hdmi mul 1)
-                      PCH_FPA0: 0x00010c09 (n = 1, m1 = 12, m2 = 9)
-                      PCH_FPA1: 0x00010c09 (n = 1, m1 = 12, m2 = 9)
+                    PCH_DPLL_A: 0x89086008 (enable, sdvo high speed no, mode LVDS, p2 Div 7, FPA0 P1 4, FPA1 P1 4, refclk SSC, sdvo/hdmi mul 1)
+                    PCH_DPLL_B: 0xc4040004 (enable, sdvo high speed yes, mode (null), p2 (null), FPA0 P1 3, FPA1 P1 3, refclk default 120Mhz, sdvo/hdmi mul 1)
+                      PCH_FPA0: 0x00021008 (n = 2, m1 = 16, m2 = 8)
+                      PCH_FPA1: 0x00021008 (n = 2, m1 = 16, m2 = 8)
                       PCH_FPB0: 0x00010c09 (n = 1, m1 = 12, m2 = 9)
                       PCH_FPB1: 0x00010c09 (n = 1, m1 = 12, m2 = 9)
-                TRANS_HTOTAL_A: 0x069704ff (1280 active, 1688 total)
-                TRANS_HBLANK_A: 0x069704ff (1280 start, 1688 end)
-                 TRANS_HSYNC_A: 0x059f052f (1328 start, 1440 end)
-                TRANS_VTOTAL_A: 0x042903ff (1024 active, 1066 total)
-                TRANS_VBLANK_A: 0x042903ff (1024 start, 1066 end)
-                 TRANS_VSYNC_A: 0x04030400 (1025 start, 1028 end)
+                TRANS_HTOTAL_A: 0x0783059f (1440 active, 1924 total)
+                TRANS_HBLANK_A: 0x0783059f (1440 start, 1924 end)
+                 TRANS_HSYNC_A: 0x05ef05cf (1488 start, 1520 end)
+                TRANS_VTOTAL_A: 0x039d0383 (900 active, 926 total)
+                TRANS_VBLANK_A: 0x039d0383 (900 start, 926 end)
+                 TRANS_VSYNC_A: 0x038c0386 (903 start, 909 end)
                 TRANSA_DATA_M1: 0x00000000 (TU 1, val 0x0 0)
                 TRANSA_DATA_N1: 0x00000000 (val 0x0 0)
                 TRANSA_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
@@ -122,13 +122,13 @@
              TRANSC_DP_LINK_N1: 0x00000000 (val 0x0 0)
              TRANSC_DP_LINK_M2: 0x00000000 (val 0x0 0)
              TRANSC_DP_LINK_N2: 0x00000000 (val 0x0 0)
-                    TRANSACONF: 0xc0000000 (enable, active)
-                    TRANSBCONF: 0x00000000 (disable, inactive)
+                    TRANSACONF: 0xc0000040 (enable, active)
+                    TRANSBCONF: 0xc0000000 (enable, active)
                     TRANSCCONF: 0x00000000 (disable, inactive)
-                   FDI_TXA_CTL: 0xb00c4000 (enable, train pattern not train, voltage swing 0.4V,pre-emphasis none, port width X2, enhanced framing enable, FDI PLL enable, scrambing enable, master mode disable)
-                   FDI_TXB_CTL: 0x000c4000 (disable, train pattern pattern_1, voltage swing 0.4V,pre-emphasis none, port width X2, enhanced framing enable, FDI PLL enable, scrambing enable, master mode disable)
-                   FDI_RXA_CTL: 0xb0082050 (enable, train pattern not train, port width X2, 8bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL enable,FS ecc disable, FE ecc disable, FS err report disable, FE err report disable,scrambing enable, enhanced framing enable, PCDClk)
-                   FDI_RXB_CTL: 0x00080040 (disable, train pattern pattern_1, port width X2, 8bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL disable,FS ecc disable, FE ecc disable, FS err report disable, FE err report disable,scrambing enable, enhanced framing enable, RawClk)
+                   FDI_TXA_CTL: 0xb0044000 (enable, train pattern not train, voltage swing 0.4V,pre-emphasis none, port width X1, enhanced framing enable, FDI PLL enable, scrambing enable, master mode disable)
+                   FDI_TXB_CTL: 0xb00c4000 (enable, train pattern not train, voltage swing 0.4V,pre-emphasis none, port width X2, enhanced framing enable, FDI PLL enable, scrambing enable, master mode disable)
+                   FDI_RXA_CTL: 0xb0022050 (enable, train pattern not train, port width X1, 6bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL enable,FS ecc disable, FE ecc disable, FS err report disable, FE err report disable,scrambing enable, enhanced framing enable, PCDClk)
+                   FDI_RXB_CTL: 0xb0082050 (enable, train pattern not train, port width X2, 8bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL enable,FS ecc disable, FE ecc disable, FS err report disable, FE err report disable,scrambing enable, enhanced framing enable, PCDClk)
                    FDI_RXC_CTL: 0x00000000 (disable, train pattern pattern_1, port width X1, 8bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL disable,FS ecc disable, FE ecc disable, FS err report disable, FE err report disable,scrambing enable, enhanced framing disable, RawClk)
                   FDI_RXA_MISC: 0x00000080 (FDI Delay 128)
                   FDI_RXB_MISC: 0x00000080 (FDI Delay 128)
@@ -146,23 +146,23 @@
                    FDI_RXB_IIR: 0x00000000
                    FDI_RXB_IMR: 0x000000ff
                       PCH_ADPA: 0x00f40000 (disabled, transcoder A, -hsync, -vsync)
-                         HDMIB: 0x8000089c (enabled pipe A 8bpc TMDS DVI audio disabled +vsync +hsync detected)
-                         HDMIC: 0x0000001c (disabled pipe A 8bpc SDVO DVI audio disabled +vsync +hsync detected)
+                         HDMIB: 0x0000089c (disabled pipe A 8bpc TMDS DVI audio disabled +vsync +hsync detected)
+                         HDMIC: 0xc000001c (enabled pipe B 8bpc SDVO DVI audio disabled +vsync +hsync detected)
                          HDMID: 0x0000001c (disabled pipe A 8bpc SDVO DVI audio disabled +vsync +hsync detected)
-                      PCH_LVDS: 0x0030833e (disabled, pipe A, 18 bit, 2 channels)
+                      PCH_LVDS: 0x8030833e (enabled, pipe A, 18 bit, 2 channels)

Ah and it looks like we're trying to run in SDVO mode in the docked case?  Hm... fishy.

Also, in the undocked case the LVDS panel was off?  At least according to this it was only on when you docked?

                      CPU_eDP_A: 0x00000018
                       PCH_DP_B: 0x0000001c
                       PCH_DP_C: 0x0000001c
                       PCH_DP_D: 0x0000001c
-                TRANS_DP_CTL_A: 0x00000000 (disabled, pipe A, 18 bit, 2 channels)
-                TRANS_DP_CTL_B: 0x00000000 (disabled, pipe A, 18 bit, 2 channels)
-                TRANS_DP_CTL_C: 0x00000000 (disabled, pipe A, 18 bit, 2 channels)
+                TRANS_DP_CTL_A: 0x00000000 (enabled, pipe A, 18 bit, 2 channels)
+                TRANS_DP_CTL_B: 0x00000000 (enabled, pipe A, 18 bit, 2 channels)
+                TRANS_DP_CTL_C: 0x00000000 (enabled, pipe A, 18 bit, 2 channels)

This looks bad too.. all 0 in both cases but the tool reports different state.

               BLC_PWM_CPU_CTL2: 0x80000000
-               BLC_PWM_CPU_CTL: 0x00000000
+               BLC_PWM_CPU_CTL: 0x00000ae0
               BLC_PWM_PCH_CTL1: 0x80000000
               BLC_PWM_PCH_CTL2: 0x11551155
-                 PCH_PP_STATUS: 0x00000000 (off, not ready, sequencing idle)
-                PCH_PP_CONTROL: 0xabcd0002 (blacklight disabled, power down on reset, panel off)
+                 PCH_PP_STATUS: 0xc0000008 (on, ready, sequencing idle)
+                PCH_PP_CONTROL: 0xabcd0003 (blacklight disabled, power down on reset, panel on)
               PCH_PP_ON_DELAYS: 0x00fa09c4
              PCH_PP_OFF_DELAYS: 0x00fa09c4
                 PCH_PP_DIVISOR: 0x00186903
Comment 35 Jesse Barnes 2012-04-19 15:35:26 UTC
(In reply to comment #34)
> In the working config, you have an HDMI port active, and in the broken config
> you have a different HDMI port active.  Are you sure this isn't an HDMI
> connection?  Or are you using a DP->HDMI dongle?
> 
> --- intel_reg_dumper-DP    2012-04-19 15:25:55.000000000 -0700
> +++ intel_reg_dumper-DOCK+DP    2012-04-19 15:26:00.000000000 -0700
> @@ -11,29 +11,29 @@
>         DISPLAY_PORT_PLL_BIOS_1: 0x00000000
>         DISPLAY_PORT_PLL_BIOS_2: 0x00000000
>                FDI_PLL_FREQ_CTL: 0x00053687
> -                     PIPEACONF: 0xc0000000 (enabled, active, 8bpc)
> -                      HTOTAL_A: 0x069704ff (1280 active, 1688 total)
> -                      HBLANK_A: 0x069704ff (1280 start, 1688 end)
> -                       HSYNC_A: 0x059f052f (1328 start, 1440 end)
> -                      VTOTAL_A: 0x042903ff (1024 active, 1066 total)
> -                      VBLANK_A: 0x042903ff (1024 start, 1066 end)
> -                       VSYNC_A: 0x04030400 (1025 start, 1028 end)
> +                     PIPEACONF: 0xc0000050 (enabled, active, 6bpc)
> +                      HTOTAL_A: 0x0783059f (1440 active, 1924 total)
> +                      HBLANK_A: 0x0783059f (1440 start, 1924 end)
> +                       HSYNC_A: 0x05ef05cf (1488 start, 1520 end)
> +                      VTOTAL_A: 0x039d0383 (900 active, 926 total)
> +                      VBLANK_A: 0x039d0383 (900 start, 926 end)
> +                       VSYNC_A: 0x038c0386 (903 start, 909 end)
> 
> So in the undocked case, you're trying to run you local panel at its native
> resolution, but in the docked case you're trying a cloned 1280x1024 config?

Sorry other way around.  Looks like you went from cloned & undocked, to docked & cloned.
Comment 36 Stefan SF 2012-04-19 15:49:40 UTC
Created attachment 60343 [details]
intel_reg_dumper connect via Dock+DVI
Comment 37 Stefan SF 2012-04-19 15:59:37 UTC
(In reply to comment #34)
> In the working config, you have an HDMI port active, and in the broken config
> you have a different HDMI port active.  Are you sure this isn't an HDMI
> connection?  Or are you using a DP->HDMI dongle?

The monitor is only capable of DVI and VGA. However, the notebook itself is only capable of DisplayPort and VGA. Therefore, I use a DVI to DisplayPort converter if I connect the monitor directly to the notebook.

The DockingStation supports all three alternatives: DisplayPort, DVI and VGA. I attached another intel_reg_dumper output, this time connected via Dock+DVI.

All in all, I do not understand why I see an HDMI device in the logfiles, because neither the notebook nor the monitor support it natively.

> So in the undocked case, you're trying to run you local panel at its native
> resolution, but in the docked case you're trying a cloned 1280x1024 config?

Hmm I'm just using the "default" settings xrandr and GNOME support. Although, the GNOME screen tool shows that I'm not using cloned mode in both cases (docked and undocked).

> Ah and it looks like we're trying to run in SDVO mode in the docked case? 
> Hm... fishy.
> 
> Also, in the undocked case the LVDS panel was off?  At least according to this
> it was only on when you docked?

Ahh whait a second. This is my bad. I was using intel_reg_dumper in the dock but connected the monitor directly to notebook. I will attach a new log in a few minutes.
Comment 38 Stefan SF 2012-04-19 16:05:46 UTC
Created attachment 60344 [details]
intel_reg_dumper direct connect via DP
Comment 39 Stefan SF 2012-04-19 16:07:41 UTC
In comment 38 I attached the new output of intel_reg_dumper with the monitor connected directly to the notebook via an DisplayPort-to-DVI adapter. I also enabled via xrandr the notebook screen and the external monitor. Both worked fine.
Comment 40 Jesse Barnes 2012-04-19 16:25:30 UTC
The HDMI thing is normal then; the registers that drive both HDMI and DVI are called HDMI in our sources.  And they'd be active if you used a DP->HDMI or DP->DVI adapter...

I've also double checked a DVI config on my Dell E6510 docking station and it does work as expected (with drm-intel-next-queued).  But something is getting misdetected or misprogrammed on yours...
Comment 41 Daniel Vetter 2012-05-11 06:38:02 UTC
Hm, could this be due to us not setting the CADL in opregion and hence the bios somehow disabling the docking station forwarding?
Comment 42 Jesse Barnes 2012-12-11 21:09:37 UTC
Sounds possible... you recently fixed that didn't you Daniel?
Comment 43 Chris Wilson 2013-01-07 17:44:27 UTC
Assuming the CADL issue recently fixed, please reopen if the issue is still occuring.
Comment 44 Stefan SF 2013-01-07 18:03:57 UTC
What does recently mean? I tried it with

linux kernel 3.6.11
intel drv 2.20.16

where the problem still persists.
Comment 45 Daniel Vetter 2013-01-07 18:17:20 UTC
You want

commit d627b62ff8d4d36761adbcd90ff143d79c94ab22
Author: Lekensteyn <lekensteyn@gmail.com>
Date:   Tue Jun 26 00:36:24 2012 +0200

    i915: initialize CADL in opregion


which is only in 3.7
Comment 46 Stefan SF 2013-01-22 16:41:32 UTC
The problem stays the same with 3.8.0-RC3+
I did a test with version 2945111e30137965700f061f6f4bda1bc3ab0ecd and the monitor stays black as before.
Comment 47 Jesse Barnes 2013-03-28 18:01:34 UTC
Sorry this is taking so long Sefan, I hope your workaround isn't too cumbersome!

Can you do a couple more register dumps?  I'd like to see what the register dump looks like when you boot w/o i915 loaded (you can just boot with i915.foo=1 or something to disable it) and with the LVDS on and DP connected to the dock.

Then another dump with i915 loaded when you've tried to enable both monitors and the monitor has the green light indicating its receiving a signal.

What I'm afraid of is that the nVidia might be wired to drive things through the dock, e.g. for gaming while docked, so we won't actually be able to drive the dock ports.

I'd try enabling the nvidia device and trying out the nouveau driver with the switching support to see if it works.
Comment 48 Stefan SF 2013-03-29 08:03:26 UTC
Created attachment 77186 [details]
intel_reg_dumper i915 disabled and connected via Dock+DP
Comment 49 Stefan SF 2013-03-29 08:04:50 UTC
Created attachment 77187 [details]
intel_reg_dumper connect via Dock+DP
Comment 50 Jesse Barnes 2013-03-29 15:25:01 UTC
In the dump from comment #48, are both displays up and working with i915 disabled?

If so, we may be hitting what I was afraid of, since the second pipe appears to be off:

--- i915 disabled
+++ i915 enabled

-                      DSPBCNTR: 0x00000000 (disabled)
-                      DSPBBASE: 0x00000000
-                    DSPBSTRIDE: 0x00000000 (0)
-                      DSPBSURF: 0x00000000
-                   DSPBTILEOFF: 0x00000000 (0, 0)
+                      DSPBCNTR: 0xd8004400 (enabled)
+                      DSPBBASE: 0xffff6680
+                    DSPBSTRIDE: 0x00002c00 (176)
+                      DSPBSURF: 0x0a02e000
+                   DSPBTILEOFF: 0x00000020 (32, 0)

i.e. when we load i915, it tries to use pipe b to light up the screen, but it doesn't work.  Even the HDMI is disabled:

-                         HDMIC: 0x0000001c (disabled pipe A 8bpc SDVO DVI audio disabled +vsync +hsync detected)
+                         HDMIC: 0xc000001c (enabled pipe C 8bpc SDVO DVI audio disabled +vsync +hsync detected)

So this may be a case of 'not our bug', or at least not solely, since it means we need the switchable graphics handling support to work.
Comment 51 Stefan SF 2013-04-03 15:51:35 UTC
(In reply to comment #50)
> In the dump from comment #48, are both displays up and working with i915
> disabled?

No. Sorry for not mentioning this ;)
Only the notebook screen is working. It gets even worse. The LED of the external monitor indicates that the monitor gets no signal at all, i.e. xrandr shows only the notebook monitor:

xrandr: Failed to get size of gamma for output default
Screen 0: minimum 800 x 600, current 1280 x 800, maximum 1280 x 800
default connected 1280x800+0+0 0mm x 0mm
   1280x800        0.0* 
   1024x768       61.0  
   960x600         0.0  
   800x600        61.0

However, with enabled i915 driver, xrandr shows the external monitor which stays black as before:

Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192
LVDS2 connected primary 1440x900+0+0 (normal left inverted right x axis y axis) 303mm x 190mm
   1440x900       60.0*+   50.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA2 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP4 disconnected (normal left inverted right x axis y axis)
HDMI2 connected (normal left inverted right x axis y axis)
   1280x1024      60.0 +
   1024x768       60.0  
   800x600        60.3  
   640x480        60.0  
   720x400        70.1  
HDMI3 disconnected (normal left inverted right x axis y axis)
DP5 disconnected (normal left inverted right x axis y axis)
DP6 disconnected (normal left inverted right x axis y axis)


...
> So this may be a case of 'not our bug', or at least not solely, since it
> means we need the switchable graphics handling support to work.

Can you give me a hint where I can try to enable switchable graphics support? I never tried this on Linux before.
Comment 52 Daniel Vetter 2013-04-03 16:04:39 UTC
Oh dear, so the ddc line is connected to the intel gpu, but not the actual data lines :(

I think step one would be to get nouveau working and check whether you can light that up. You might need to manually add the mode (since likely nouveau doesn't have access to the ddc lines ...).
Comment 53 Stefan SF 2013-04-03 16:09:13 UTC
I did a quick test and enabled only the discrete graphicscard, i.e. the NVIDIA card, and both displays worked as expected.
Comment 54 Jesse Barnes 2013-06-25 20:34:12 UTC
Is there anything more for us to do here?  Sounds like the discrete card is needed to drive outputs on the docking station...
Comment 55 Stefan SF 2013-06-26 16:32:48 UTC
I'm fine with closing this bug. Thanks for all your help so far!

Regards,
Stefan


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.