[Dell XPS 15 L502X] X stops responding to input after entering idle power saving (screen off)

Bug #1343543 reported by Adam Skillen on 2014-07-17
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Unassigned

Bug Description

I recently upgraded from 12.04 to 14.04. Since the upgrade I have been having issues with X freezing after the screen enters power saving. The issue did not occur in 12.04. If I boot up a raring or saucy kernel, the issue does not occur. The 3.13 trusty, and 3.16 utopic kernels are affected. It also occured when I tested the latest mainline drm-intel-next and utopic-rc kernels.

Symptoms:
After waking the screen from power saving/screensaver, the primary display wakes but X stops responding to input (the mouse cursor can still move, but clicking has no effect). Secondary display does not wake.

Frequency/conditions:
Occurs almost every time the screen enters power saving (possibly DPMS issue?)

When did you first notice it:
Immediately after upgrading to 14.04

I followed the suggestions at this URL and tested a few kernels:
https://wiki.ubuntu.com/X/Troubleshooting/Freeze

The issue does NOT occur when running these older kernels:
  linux-image-3.8.0-42-generic (3.8.0-42.62~precise1)
  linux-image-3.11.0-24-generic (3.11.0-24.42~precise1)

The issue does occur when running these kernels:
  linux-image-3.16.0-997-generic (3.16.0-997.201407120342)
  linux-image-3.16.0-031600rc5-generic (3.16.0-031600rc5.201407131735)
  linux-image-3.16.0-3-generic (3.16.0-3.8)
  linux-image-3.13.0-32-generic (3.13.0-32.56)

Additional notes:
I have a hybrid Intel/Nvidia GPU model (Nvidia optimus), however the error
occurs whether or not I have invoked the discrete Nvidia card.

I am running the most recent BIOS for my system.

When running the 3.11 saucy kernel I still see error messages in dmesg after entering power saving, however X does not freeze.

dmesg errors:

[ 4087.958566] WARNING: CPU: 6 PID: 1331 at /build/buildd/linux-3.13.0/drivers/gpu/drm/i915/intel_display.c:9237 intel_modeset_check_state+0x62d/0x780 [i915]()
[ 4087.958571] encoder's hw state doesn't match sw tracking (expected 1, found 0)
[ 4087.958574] Modules linked in: bbswitch(OF) ipt_REJECT xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack iptable_filter ip_tables x_tables pci_stub vboxpci(OF) vboxnetadp(OF) vboxnetflt(OF) vboxdrv(OF) bnep rfcomm bluetooth binfmt_misc arc4 iwldvm mac80211 snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_page_alloc snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq snd_seq_device snd_timer parport_pc ppdev lp hid_generic uvcvideo usbhid videobuf2_vmalloc videobuf2_memops intel_rapl videobuf2_core x86_pkg_temp_thermal mei_me intel_powerclamp mei videodev hid iwlwifi snd dell_laptop dell_wmi coretemp dcdbas sparse_keymap wmi soundcore kvm_intel cfg80211 kvm parport joydev mac_hid lpc_ich serio_raw dm_crypt ses enclosure usb_storage i915 crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul i2c_algo_bit glue_helper ablk_helper drm_kms_helper cryptd drm psmouse r8169 ahci libahci mii video
[ 4087.958682] CPU: 6 PID: 1331 Comm: Xorg Tainted: GF W O 3.13.0-32-generic #57-Ubuntu
[ 4087.958686] Hardware name: Dell Inc. Dell System XPS L502X/0NJT03, BIOS A12 09/07/2012
[ 4087.958690] 0000000000000009 ffff880220445b68 ffffffff8171bcb4 ffff880220445bb0
[ 4087.958698] ffff880220445ba0 ffffffff810676cd ffff880220445c20 0000000000000001
[ 4087.958705] ffff88022d517800 ffff88022d517af8 ffff88022ccc2800 ffff880220445c00
[ 4087.958712] Call Trace:
[ 4087.958728] [<ffffffff8171bcb4>] dump_stack+0x45/0x56
[ 4087.958737] [<ffffffff810676cd>] warn_slowpath_common+0x7d/0xa0
[ 4087.958743] [<ffffffff8106773c>] warn_slowpath_fmt+0x4c/0x50
[ 4087.958783] [<ffffffffa017533d>] intel_modeset_check_state+0x62d/0x780 [i915]
[ 4087.958817] [<ffffffffa0175525>] intel_set_mode+0x25/0x30 [i915]
[ 4087.958851] [<ffffffffa0175dcb>] intel_crtc_set_config+0x7ab/0x9a0 [i915]
[ 4087.958893] [<ffffffffa006eebd>] drm_mode_set_config_internal+0x5d/0xe0 [drm]
[ 4087.958929] [<ffffffffa0071da7>] drm_mode_setcrtc+0xf7/0x5e0 [drm]
[ 4087.958956] [<ffffffffa0062c22>] drm_ioctl+0x502/0x630 [drm]
[ 4087.958975] [<ffffffff811cfd10>] do_vfs_ioctl+0x2e0/0x4c0
[ 4087.958983] [<ffffffff8109ddf4>] ? vtime_account_user+0x54/0x60
[ 4087.958992] [<ffffffff811cff71>] SyS_ioctl+0x81/0xa0
[ 4087.959002] [<ffffffff8172c87f>] tracesys+0xe1/0xe6
[ 4087.959007] ---[ end trace e81d86e8a034e409 ]---
[ 4087.959048] [drm:intel_pipe_config_compare] *ERROR* mismatch in has_dp_encoder (expected 1, found 0)
[ 4087.959052] ------------[ cut here ]------------
[ 4087.959085] WARNING: CPU: 6 PID: 1331 at /build/buildd/linux-3.13.0/drivers/gpu/drm/i915/intel_display.c:9310 check_crtc_state+0x255/0x340 [i915]()
[ 4087.959089] pipe state doesn't match!
[ 4087.959091] Modules linked in: bbswitch(OF) ipt_REJECT xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack iptable_filter ip_tables x_tables pci_stub vboxpci(OF) vboxnetadp(OF) vboxnetflt(OF) vboxdrv(OF) bnep rfcomm bluetooth binfmt_misc arc4 iwldvm mac80211 snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_page_alloc snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq snd_seq_device snd_timer parport_pc ppdev lp hid_generic uvcvideo usbhid videobuf2_vmalloc videobuf2_memops intel_rapl videobuf2_core x86_pkg_temp_thermal mei_me intel_powerclamp mei videodev hid iwlwifi snd dell_laptop dell_wmi coretemp dcdbas sparse_keymap wmi soundcore kvm_intel cfg80211 kvm parport joydev mac_hid lpc_ich serio_raw dm_crypt ses enclosure usb_storage i915 crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul i2c_algo_bit glue_helper ablk_helper drm_kms_helper cryptd drm psmouse r8169 ahci libahci mii video
[ 4087.959183] CPU: 6 PID: 1331 Comm: Xorg Tainted: GF W O 3.13.0-32-generic #57-Ubuntu
[ 4087.959186] Hardware name: Dell Inc. Dell System XPS L502X/0NJT03, BIOS A12 09/07/2012
[ 4087.959189] 0000000000000009 ffff8802204458a8 ffffffff8171bcb4 ffff8802204458f0
[ 4087.959196] ffff8802204458e0 ffffffff810676cd ffff8802328ed6e0 ffff880220445970
[ 4087.959202] ffff88022d517800 ffff8802328ed000 ffff88022d517b28 ffff880220445940
[ 4087.959208] Call Trace:
[ 4087.959217] [<ffffffff8171bcb4>] dump_stack+0x45/0x56
[ 4087.959224] [<ffffffff810676cd>] warn_slowpath_common+0x7d/0xa0
[ 4087.959230] [<ffffffff8106773c>] warn_slowpath_fmt+0x4c/0x50
[ 4087.959263] [<ffffffffa01660ab>] ? intel_pipe_config_compare+0x60b/0xae0 [i915]
[ 4087.959293] [<ffffffffa01678c5>] check_crtc_state+0x255/0x340 [i915]
[ 4087.959327] [<ffffffffa0174fcb>] intel_modeset_check_state+0x2bb/0x780 [i915]
[ 4087.959357] [<ffffffffa0175525>] intel_set_mode+0x25/0x30 [i915]
[ 4087.959386] [<ffffffffa0175dcb>] intel_crtc_set_config+0x7ab/0x9a0 [i915]
[ 4087.959417] [<ffffffffa006eebd>] drm_mode_set_config_internal+0x5d/0xe0 [drm]
[ 4087.959448] [<ffffffffa0071da7>] drm_mode_setcrtc+0xf7/0x5e0 [drm]
[ 4087.959472] [<ffffffffa0062c22>] drm_ioctl+0x502/0x630 [drm]
[ 4087.959487] [<ffffffff811cfd10>] do_vfs_ioctl+0x2e0/0x4c0
[ 4087.959493] [<ffffffff8109ddf4>] ? vtime_account_user+0x54/0x60
[ 4087.959501] [<ffffffff811cff71>] SyS_ioctl+0x81/0xa0
[ 4087.959509] [<ffffffff8172c87f>] tracesys+0xe1/0xe6
[ 4087.959513] ---[ end trace e81d86e8a034e40a ]---
---
ApportVersion: 2.14.1-0ubuntu3.2
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: adam 2455 F.... pulseaudio
CurrentDesktop: Unity
DistroRelease: Ubuntu 14.04
HibernationDevice: RESUME=UUID=e4077f94-6164-4268-b130-d6ae6eaa2dea
InstallationDate: Installed on 2013-12-01 (227 days ago)
InstallationMedia: Ubuntu 12.04.3 LTS "Precise Pangolin" - Release amd64 (20130820.2)
MachineType: Dell Inc. Dell System XPS L502X
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.13.0-32-generic root=UUID=be640676-3b3e-4da5-950e-0c72e37bd481 ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.13.0-32.57-generic 3.13.11.4
RelatedPackageVersions:
 linux-restricted-modules-3.13.0-32-generic N/A
 linux-backports-modules-3.13.0-32-generic N/A
 linux-firmware 1.127.5
RfKill:
 0: phy0: Wireless LAN
  Soft blocked: no
  Hard blocked: yes
Tags: trusty
Uname: Linux 3.13.0-32-generic x86_64
UpgradeStatus: Upgraded to trusty on 2014-07-05 (12 days ago)
UserGroups: adm bumblebee cdrom dip fuse lpadmin plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 09/07/2012
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A12
dmi.board.name: 0NJT03
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.chassis.version: 0.1
dmi.modalias: dmi:bvnDellInc.:bvrA12:bd09/07/2012:svnDellInc.:pnDellSystemXPSL502X:pvr:rvnDellInc.:rn0NJT03:rvrA00:cvnDellInc.:ct8:cvr0.1:
dmi.product.name: Dell System XPS L502X
dmi.sys.vendor: Dell Inc.

Adam Skillen (askillen) wrote :
Adam Skillen (askillen) wrote :
tags: added: kernel-bug
tags: added: drm-intel xorg
description: updated

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1343543

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: raring

apport information

tags: added: apport-collected trusty
description: updated

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed

Adam Skillen, the next step is to fully commit bisect the kernel in order to identify the offending commit. Could you please do this following https://wiki.ubuntu.com/Kernel/KernelBisection ?

tags: added: kernel-bug-exists-upstream-3.16-rc5 latest-bios-a12 needs-bisect regression-release
removed: drm-intel kernel-bug xorg
Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
summary: - X stops responding to input after entering idle power saving (screen
- off)
+ [Dell XPS 15 L502X] X stops responding to input after entering idle
+ power saving (screen off)
Adam Skillen (askillen) wrote :

I completed the bisect, here is the result:

$ git bisect bad fdbc3b1f639bb2cbfb32c612b2699e0ba373317d
fdbc3b1f639bb2cbfb32c612b2699e0ba373317d is the first bad commit

$ git show
commit fdbc3b1f639bb2cbfb32c612b2699e0ba373317d
Author: Jani Nikula <email address hidden>
Date: Tue Nov 12 17:10:13 2013 +0200

    drm/i915/dp: set sink to power down mode on dp disable

    We used to put the local sink and any downstream sinks to power down
    mode at disable or dpms off using the DPCD SET_POWER register, until
    this was broken by

    commit e8cb455876fa8f67c6aba394d0a14b697bf04cc3
    Author: Daniel Vetter <email address hidden>
    Date: Sun Jul 1 13:05:48 2012 +0200

        drm/i915/dp: convert to encoder disable/enable

    Fix it.

    Signed-off-by: Jani Nikula <email address hidden>
    Reviewed-by: Todd Previte <email address hidden>
    Signed-off-by: Daniel Vetter <email address hidden>

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index eb8139d..0b2e842 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1774,7 +1774,7 @@ static void intel_disable_dp(struct intel_encoder *encoder)
         * ensure that we have vdd while we switch off the panel. */
        ironlake_edp_panel_vdd_on(intel_dp);
        ironlake_edp_backlight_off(intel_dp);
- intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON);
+ intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_OFF);
        ironlake_edp_panel_off(intel_dp);

        /* cpu edp my only be disable _after_ the cpu pipe/plane is disabled. */

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Adam Skillen (askillen) wrote :

I reverted the offending commit in the v3.16-rc5 branch and it seems to fix the problem.

Specifically, in the file drivers/gpu/drm/i915/intel_dp.c
near line 1902, under function :
 static void intel_disable_dp(struct intel_encoder *encoder)

I changed line 1912 from:
 intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_OFF);
to:
 intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON);

And that seems to fix the problem.

How do I proceed from here?

tags: added: bisect-done
removed: needs-bisect raring

Adam Skillen, the issue you are reporting is an upstream one. Could you please report this problem through the appropriate channel by following the instructions _verbatim_ at https://wiki.ubuntu.com/Bugs/Upstream/kernel ?

Please provide a direct URL to your e-mail to the mailing list once you have made it so that it may be tracked.

Thank you for your understanding.

Changed in linux (Ubuntu):
status: Confirmed → Triaged
tags: added: raring
Adam Skillen (askillen) wrote :

I opened a bug ticket with the intel driver kernel developers: https://bugs.freedesktop.org/show_bug.cgi?id=81537

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.