[Bug 80355] New: DP MST problems with xrandr while docking

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Jun 22 07:50:01 PDT 2014


https://bugs.freedesktop.org/show_bug.cgi?id=80355

          Priority: medium
            Bug ID: 80355
          Assignee: chris at chris-wilson.co.uk
           Summary: DP MST problems with xrandr while docking
        QA Contact: intel-gfx-bugs at lists.freedesktop.org
          Severity: normal
    Classification: Unclassified
                OS: Linux (All)
          Reporter: freedesktop at h.totakura.in
          Hardware: Other
            Status: NEW
           Version: unspecified
         Component: Driver/intel
           Product: xorg

Created attachment 101529
  --> https://bugs.freedesktop.org/attachment.cgi?id=101529&action=edit
X log from the session where I booted docked, un-docked and re-docked

Hi!

I am trying out Dave Airlie's patches for DP MST on Intel Haswell
platform.  Particularly I am using the branch drm-i915-mst-v3.14 from
here http://cgit.freedesktop.org/~airlied/linux/?h=drm-next merged into
v3.14.4 from the linux-stable git repository.

Along with this, I am using the  HEAD version of userspace intel driver
from git://anongit.freedesktop.org/xorg/driver/xf86-video-intel.

The patches work -- I have a Lenovo T440s with two external monitors of
different resolutions connected through an ThinkPad ultradock and they
get detected as separate displays.  However, there is a problem when I
un-dock my notebook and re-dock it.

When I boot connected to the dock, xrandr shows the three monitors
(including my notebook's monitor) and all works fine:
> Screen 0: minimum 8 x 8, current 4864 x 1280, maximum 32767 x 32767
> eDP1 connected primary 1920x1080+2944+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)
> DP3 connected 1920x1080+1024+0 (normal left inverted right x axis y axis) 598mm x 336mm
>    1920x1080      60.0*+   50.0     59.9  
>    1680x1050      59.9  
>    1280x1024      75.0     60.0  
>    1440x900       59.9  
>    1280x960       60.0  
>    1280x800       59.9  
>    1152x864       75.0  
>    1280x720       60.0     50.0     59.9  
>    1024x768       75.1     70.1     60.0  
>    832x624        74.6  
>    800x600        72.2     75.0     60.3     56.2  
>    720x576        50.0  
>    720x480        60.0     59.9  
>    640x480        75.0     72.8     66.7     60.0     59.9  
>    720x400        70.1  
> DP4 connected 1024x1280+0+0 left (normal left inverted right x axis y axis) 376mm x 301mm
>    1280x1024      60.0*+   75.0  
>    1152x864       75.0  
>    1024x768       75.1     70.1     60.0  
>    832x624        74.6  
>    800x600        72.2     75.0     60.3     56.2  
>    640x480        75.0     72.8     66.7     60.0  
>    720x400        70.1  
> DP5 disconnected (normal left inverted right x axis y axis)
> VIRTUAL1 disconnected (normal left inverted right x axis y axis)

When I un-dock, I see this in xrandr which is correct and all my
workspaces get transferred onto the notebook's monitor:
> Screen 0: minimum 8 x 8, 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)
> DP3 disconnected (normal left inverted right x axis y axis)
> DP4 disconnected (normal left inverted right x axis y axis)
> DP5 disconnected (normal left inverted right x axis y axis)
> VIRTUAL1 disconnected (normal left inverted right x axis y axis)

And when I re-dock, I see the first xrandr output, but the monitors
don't light up.  I am not able to use xrandr to set a mode for them,
i.e. this fails:
> $ xrandr --output DP3 --mode 1920x1080
> xrandr: cannot find mode 1920x1080

As a result of this gnome-settings-daemon seems to crash.

I noticed that this does not happen if I dock the notebook after booting
it un-docked.  The xrandr output is different if I boot up un-docked; it
does not have DP3, DP4, DP5, but they show up when I dock it.  The
problem surfaces if I un-dock and then re-dock.

I guess the problem happens when the outputs DP3, DP4, DP5 are not
removed in xrandr when the notebook is un-docked.

This output from dmesg when I un-docked seem related:
> [ 1560.059912] ------------[ cut here ]------------
> [ 1560.059935] WARNING: CPU: 0 PID: 4990 at drivers/gpu/drm/i915/intel_display.c:9462 intel_modeset_check_state+0x576/0x7b0 [i915]()
> [ 1560.059938] encoder's enabled state mismatch (expected 1, found 0)
> [ 1560.059939] Modules linked in: ctr ccm rfcomm bnep vboxpci(O) vboxnetadp(O) vboxnetflt(O) vboxdrv(O) binfmt_misc uinput snd_hda_codec_hdmi snd_hda_codec_realtek iTCO_wdt iTCO_vendor_support snd_hda_codec_generic nls_iso8859_1 nls_cp437 vfat fat ext2 x86_pkg_temp_thermal intel_powerclamp arc4 snd_usb_audio snd_usbmidi_lib snd_seq_midi snd_seq_midi_event snd_rawmidi intel_rapl coretemp uvcvideo videobuf2_vmalloc videobuf2_memops kvm_intel videobuf2_core videodev media kvm pcspkr joydev psmouse serio_raw evdev btusb bluetooth 6lowpan_iphc iwlmvm mac80211 iwlwifi cfg80211 i2c_i801 rtsx_pci_ms memstick lpc_ich mei_me mei snd_hda_intel snd_hda_codec wmi snd_hwdep snd_pcm snd_seq i915 snd_timer ac snd_seq_device thinkpad_acpi nvram tpm_tis i2c_algo_bit rfkill tpm drm_kms_helper snd drm battery i2c_core video soundcore processor button fuse autofs4 ext4 crc16 jbd2 mbcache hid_logitech_dj hid_generic dm_crypt dm_mod crc32_pclmul crc32c_intel rtsx_pci_sdmmc mmc_core ghash_clmulni_intel ae
 s
ni_intel ahci libahci aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd
libata e1000e ptp rtsx_pci pps_core mfd_core thermal thermal_sys
> [ 1560.060002] CPU: 0 PID: 4990 Comm: kworker/u16:0 Tainted: G           O 3.14.4-mst+ #14
> [ 1560.060004] Hardware name: LENOVO 20AQS00600/20AQS00600, BIOS GJET75WW (2.25 ) 03/28/2014
> [ 1560.060011] Workqueue: i915-dp i915_digport_work_func [i915]
> [ 1560.060013]  0000000000000000 0000000098c1ca1d ffffffff81501ab4 ffff8802c5855c50
> [ 1560.060016]  ffffffff8104ccf2 ffff8800db5a32e8 ffff8802c5855ca8 ffff8802c5855cc0
> [ 1560.060019]  0000000000000001 ffff8800db5a3318 ffffffff8104cd67 ffffffffa03820b0
> [ 1560.060023] Call Trace:
> [ 1560.060029]  [<ffffffff81501ab4>] ? dump_stack+0x41/0x51
> [ 1560.060033]  [<ffffffff8104ccf2>] ? warn_slowpath_common+0x72/0x90
> [ 1560.060036]  [<ffffffff8104cd67>] ? warn_slowpath_fmt+0x57/0x70
> [ 1560.060047]  [<ffffffffa0336242>] ? intel_ddi_get_hw_state+0x32/0x170 [i915]
> [ 1560.060058]  [<ffffffffa032b7d6>] ? intel_modeset_check_state+0x576/0x7b0 [i915]
> [ 1560.060069]  [<ffffffffa033eda1>] ? intel_dp_destroy_mst_connector+0x31/0xa0 [i915]
> [ 1560.060075]  [<ffffffffa02b7d12>] ? drm_dp_destroy_port+0x32/0x70 [drm_kms_helper]
> [ 1560.060081]  [<ffffffffa02b7e65>] ? drm_dp_destroy_mst_branch_device+0x115/0x140 [drm_kms_helper]
> [ 1560.060087]  [<ffffffffa02b9d65>] ? drm_dp_mst_topology_mgr_set_mst+0x2f5/0x400 [drm_kms_helper]
> [ 1560.060097]  [<ffffffffa033eab1>] ? intel_dp_handle_hpd_irq+0x141/0x170 [i915]
> [ 1560.060105]  [<ffffffffa02f84f5>] ? i915_digport_work_func+0x125/0x1a0 [i915]
> [ 1560.060109]  [<ffffffff8106891e>] ? process_one_work+0x16e/0x450
> [ 1560.060112]  [<ffffffff810695b1>] ? worker_thread+0x121/0x3d0
> [ 1560.060115]  [<ffffffff81069490>] ? flush_delayed_work+0x40/0x40
> [ 1560.060118]  [<ffffffff8106f79a>] ? kthread+0xda/0xf0
> [ 1560.060121]  [<ffffffff8106f6c0>] ? kthread_create_on_node+0x1a0/0x1a0
> [ 1560.060124]  [<ffffffff8150fc4c>] ? ret_from_fork+0x7c/0xb0
> [ 1560.060127]  [<ffffffff8106f6c0>] ? kthread_create_on_node+0x1a0/0x1a0
> [ 1560.060129] ---[ end trace fdc24314fed53257 ]---
> [ 1560.084214] usb 2-3.4.1.3: USB disconnect, device number 10
> [ 1560.272152] usb 3-3: USB disconnect, device number 2
> [ 1560.544416] thinkpad_acpi: EC reports that Thermal Table has changed
> [ 1560.648057] thinkpad_acpi: undocked from hotplug port replicator

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20140622/a5d69fe9/attachment-0001.html>


More information about the intel-gfx-bugs mailing list