Bug 87319 - [BDW] Dock with builtin DP/VGA "dongle" fails cycling through modes
Summary: [BDW] Dock with builtin DP/VGA "dongle" fails cycling through modes
Status: CLOSED WORKSFORME
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: Other All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-15 08:52 UTC by Timo Aaltonen
Modified: 2017-07-24 22:49 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg from switch to internal only (10.37 KB, text/plain)
2014-12-15 08:52 UTC, Timo Aaltonen
no flags Details
"full" dmesg (160.71 KB, text/plain)
2014-12-15 14:48 UTC, Timo Aaltonen
no flags Details
drm debug messages while doing hot-plugging with the VGA port in the docking station (7.28 KB, text/plain)
2014-12-16 08:14 UTC, Chih-Hsyuan Ho
no flags Details
Lost hot-plug event when VGA output is turned off (118.84 KB, text/plain)
2014-12-23 18:19 UTC, Gary Wang
no flags Details

Description Timo Aaltonen 2014-12-15 08:52:52 UTC
Created attachment 110847 [details]
dmesg from switch to internal only

Cycling through display modes (external, clone, extended, internal only..) somehow drops the connection to VGA after it has switched back to using internal only:

[  121.653437] [drm:intel_modeset_stage_output_state] [CONNECTOR:35:DP-2] to [NOCRTC]

full logs from the switch to internal only attached
Comment 1 Yang Kun (YK) 2014-12-15 13:32:56 UTC
this is a stop-ship issue, I'm raising the importance to highest + blocker

please let me know if this is not appropriate.

thank you
-YK
Comment 2 Ander Conselvan de Oliveira 2014-12-15 13:55:15 UTC
(In reply to Timo Aaltonen from comment #0)
> Created attachment 110847 [details]
> dmesg from switch to internal only

With which kernel version and hardware does this happen? Have you tested with drm-intel-nightly?

Please attach the full dmesg.

(In reply to Yang Kun (YK) from comment #1)
> this is a stop-ship issue, I'm raising the importance to highest + blocker
> 
> please let me know if this is not appropriate.

I don't think blocker is appropriate. Sounds like a limited number of users would be affected, given that it happens only with a certain configuration.
Comment 3 Timo Aaltonen 2014-12-15 14:45:45 UTC
happens with -nightly too
Comment 4 Timo Aaltonen 2014-12-15 14:48:33 UTC
Created attachment 110868 [details]
"full" dmesg

the first 7s worth of logs have been cut off but that's good since this is unreleased hw..
Comment 5 Gavin Hindman 2014-12-16 06:18:20 UTC
switches to VGA port, or VGA resolution?  What HW/SKU is this?
Comment 6 Timo Aaltonen 2014-12-16 06:44:31 UTC
to vga port
Comment 7 Timo Aaltonen 2014-12-16 06:45:18 UTC
broadwell
Comment 8 Chih-Hsyuan Ho 2014-12-16 08:14:58 UTC
Created attachment 110893 [details]
drm debug messages while doing hot-plugging with the VGA port in the docking station

   On the VGA port on the Dock, there is no hotplug event after the DP-2 port output state is set to NOCRTC.

Investigation:
  After we compare the drm debug message of the VGA ports (the VGA port on the machine and on the dock).
 1. The VGA port on the machine:
      After we turn off the DP-2 (output state was set to NOCRTC.), the drm driver receives the hot plug event from DP-2 port.
     The drm driver will probe the port.
     At 2032.729660 second in the dmesg_vga_port_on_the_machine.log in the attached compressed file, DP-2 output state is set to NOCRTC.
    At 2032.755454 second, drm driver receive a hot-plug event.

 2. The VGA port on the dock:
      After we turn off the DP-2 (output state was set to NOCRTC.), there is no the hot plug event from DP-2 port.
      At 1721.038377 second in the dmesg_vga_port_on_the_dock.log in the attached compressed file, DP-2 output state is set to NOCRTC.
      After that, there is no hot plug event.
Comment 9 Rodrigo Vivi 2014-12-16 19:41:46 UTC
I'm afraid I didn't get the setup in use here.

Is it a docking station? What is the dongle/adaptor?
Comment 10 Timo Aaltonen 2014-12-16 20:02:40 UTC
yes it's a laptop dock which apparently has a builtin dp-vga dongle on it
Comment 11 Gavin Hindman 2014-12-17 07:01:26 UTC
So that we are completely clear, the issue is that when docked, the system enumerates available displays and ends up enabling the internal display but not the external display hooked up to VGA through DP->VGA bridge?

Assuming so, does this only occur during hot-dock, or does this also fail if you suspend-resume while docked, or power-on while the device is already docked?
Comment 12 Gavin Hindman 2014-12-17 07:02:02 UTC
And this is BDW-U?
Comment 13 Phidias Chiang 2014-12-17 07:26:42 UTC
Yes it's BDW-U (i5-5200U from /proc/cpuinfo)

It failed after cycling back in all situation,
including hot-dock, suspend-resume while docked, and power-on while docked.

It has been tested with -nightly and -next.
Comment 14 Gary Wang 2014-12-17 09:39:52 UTC
@Phidias,
It seems hotplug event is only recovered by un-dock & dock again (hard reset), and to be possible related HW single to generate event.

I got the test result from Canonical about using Ubuntu 14.04 & output display through docking tests (please correct if something is wrong here)
Pass: DP-port <-> Synaptic-DP-hub <-> DP EFP
Pass: DP-port <-> Synaptic-DP-hub <-> external DP to VGA dongle <-> VGA EFP
Failed: DP-port <-> Synaptic-DP-hub + built-in DP to VGA dongle <-> VGA EFP

Can you help coordinate to measure the HW signal is correct or not in points of DP-port and Synaptic-DP-hub  (input/output) when issue happened? This is important for debugging in graphic driver further.

Thanks!

Gary
Comment 15 Gary Wang 2014-12-17 10:05:21 UTC
Correct typo, sorry!

@Phidias,
It seems hotplug event is only recovered by un-dock & dock again (hard reset), and to be possible related to HW signal for generating event.

I got the test result from Canonical about using Ubuntu 14.04 & output display through docking tests (please correct if something is wrong here)
Pass: DP-port <-> Synaptic-DP-hub <-> DP EFP
Pass: DP-port <-> Synaptic-DP-hub <-> external DP to VGA dongle <-> VGA EFP
Failed: DP-port <-> Synaptic-DP-hub + built-in DP to VGA dongle <-> VGA EFP

Can you help coordinate to measure the HW signal is correct or not in points of DP-port and Synaptic-DP-hub  (input/output) when issue happened? This is important for debugging in graphic driver further.

Thanks!

Gary
Comment 16 Phidias Chiang 2014-12-17 10:22:38 UTC
@Gary:
> Pass: DP-port <-> Synaptic-DP-hub <-> external DP to VGA dongle <-> VGA EFP

I'm not sure of this because I don't have the DP-VGA dongle, I will verify that when I have one.

> Can you help coordinate to measure the HW signal is correct or not in points of DP-port and Synaptic-DP-hub  (input/output) when issue happened? This is important for debugging in graphic driver further.

I'll inform our PM to see what can we do about this. Thanks.
Comment 17 Rodrigo Vivi 2014-12-17 23:07:47 UTC
Apparently we have trouble with VGA on BDW in general: https://bugs.freedesktop.org/show_bug.cgi?id=87220
Comment 18 Phidias Chiang 2014-12-18 03:33:13 UTC
(In reply to Gary Wang from comment #15)
> Can you help coordinate to measure the HW signal is correct or not in points
> of DP-port and Synaptic-DP-hub  (input/output) when issue happened? This is
> important for debugging in graphic driver further.
> 
> Thanks!
> 
> Gary

We've mailed to HP for help on the signal test.

By the way the docker works properly on Windows.
Comment 19 Phidias Chiang 2014-12-18 03:53:45 UTC
(In reply to Gary Wang from comment #15)
> Pass: DP-port <-> Synaptic-DP-hub <-> DP EFP
> Pass: DP-port <-> Synaptic-DP-hub <-> external DP to VGA dongle <-> VGA EFP
> Failed: DP-port <-> Synaptic-DP-hub + built-in DP to VGA dongle <-> VGA EFP

Sorry, I should clarify our setup and result here:

       Monitor           Dock           Connector on Dock
Pass:    DP     <->  Synaptic-DP-hub    <->   DP
Failed:  VGA    <->  Synaptic-DP-hub    <->   VGA (built-in VGA/DP dongle)

I'm not sure the result of following setup:

  Monitor       Converter                   Dock             Connector on Dock
    DP  <-> ext. DP-to-VGA dongle  <->  Synaptic-DP-hub  <->     VGA 
    VGA <-> ext. VGA-to-DP dongle  <->  Synaptic-DP-hub  <->     DP
Comment 20 Gary Wang 2014-12-23 10:20:34 UTC
I checked test result from customer, and they told me following test cases are correct. For failed case, the DP1's status was disconnected and disabled.

Pass: drm DP-port (card0-DP-2) <-> Synaptic-DP-hub in docking <-> docking's DP port <-> DP EFP
Pass: drm DP-port (card0-DP-2) <-> Synaptic-DP-hub in docking <-> docking's DP port <-> external DP to VGA dongle <-> VGA EFP
Failed: drm DP-port (card0-DP-1) <-> Synaptic-DP-hub with built-in DP-to-VGA converter in docking <-> docking's VGA port <-> VGA EFP

Before turn off external monitor by UI (or "xrandr --output DP1 --off"),
...
Screen 0: minimum 320 x 200, current 2944 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 309mm x 175mm
   1920x1080      60.0*+   59.9  
   1680x1050      60.0     59.9  
   1600x1024      60.2  
   1400x1050      60.0  
   1280x1024      60.0  
   1440x900       59.9  
   1280x960       60.0  
   1360x768       59.8     60.0  
   1152x864       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
DP1 connected 1024x768+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       60.0* 
   800x600        60.3     56.2  
   848x480        60.0  
   640x480        59.9  
HDMI1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
...
,
After turn off external monitor by UI,
...
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 309mm x 175mm
   1920x1080      60.0*+   59.9  
   1680x1050      60.0     59.9  
   1600x1024      60.2  
   1400x1050      60.0  
   1280x1024      60.0  
   1440x900       59.9  
   1280x960       60.0  
   1360x768       59.8     60.0  
   1152x864       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
...
Comment 21 Gary Wang 2014-12-23 18:19:50 UTC
Created attachment 111224 [details]
Lost hot-plug event when VGA output is turned off

I found when turn off "VGA display" by UI or xrandr, the necessary hot-plug event was lost, and caused the it (i.e. DP1 disconnected).

@Timo/Rodrigo, do you have any idea on hoe to clarify DP-hub works correctly or not?
Comment 22 Gary Wang 2014-12-23 18:22:04 UTC
for attachment in comment #21, it's html file. Please download it and open it locally by browser.
Comment 23 Gary Wang 2014-12-24 02:37:45 UTC
Customer's device encounters this issue on Ubuntu 12.04.1/14.04,

For this issue in Ubuntu 14.04,
1. Remove DP cable from docking's DP port also cause this issue (hot-plug event lost) when extended mode is enabled via DP port. (device’s DP2)
2. Remove DP cable from NB’s DP port doesn't cause this issue when extended mode is enabled via DP port. (device’s DP1)                                                                                                                                                                                                                                                          
3. When VGA port caused this issue, DP port also got trouble (no hot-plug event).
Comment 24 Rodrigo Vivi 2014-12-24 16:30:09 UTC
BDW-U I have here DP port doesn't work at all so I got another BDW here and a regular DP-dongle and everything just works fine with 

xrandr --output DP1 --mode 1920x1080 --output eDP1 --off
xrandr --output DP1 --auto --output eDP1 --auto --same-as DP1 or xrandr --output DP1 --mode 1024x768 --output eDP1 --mode 1024x768
xrandr --output DP1 --mode 1920x1080 --output eDP1 --mode 3200x1800 --above DP1
xrandr --output DP1 --off --output eDP1 --mode 3200x1800
xrandr

Am I missing any step?
Can you reproduce the issue with xrandr or only with ubuntu app?
Could you please post a xrandr script with the sequence that fails for you?
Comment 25 Gary Wang 2014-12-24 18:01:30 UTC
After I issued "xrandr --output DP1 --off", it cannot turn on docking's VGA port by "xrandr --output DP1 --auto". Its status and enabled were "disconnected" and "disabled", but VGA-port still plug-in with VGA monitor (didn't plug-out).
Comment 26 Rodrigo Vivi 2014-12-24 18:17:41 UTC
always?

although here and it works reliably 100%.
Comment 27 Rodrigo Vivi 2015-01-05 18:26:35 UTC
It seems it was a product specific one since it was working with regular DP-VGA dongles and also a workaround was found, applied and verified for the customer.
So I'm closing this bug here. Feel free to reopen if needed.
Comment 28 Timo Aaltonen 2015-01-05 19:04:15 UTC
it's still a bug with vanilla upstream kernel, so will the workaround get mainline too?


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.