Bug 97211 - [SKL] Dell XPS 15 9550 w/HD Graphics 530 - screen wont turn on when resuming from suspend
Summary: [SKL] Dell XPS 15 9550 w/HD Graphics 530 - screen wont turn on when resuming ...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: PatchMerged
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-05 08:21 UTC by Mads
Modified: 2017-07-27 16:52 UTC (History)
2 users (show)

See Also:
i915 platform: SKL
i915 features: power/suspend-resume


Attachments
dmesg drm-intel-nightly drm.debug=0x1e before suspend (141.94 KB, text/plain)
2016-08-05 08:21 UTC, Mads
no flags Details
dmesg drm-intel-nightly drm.debug=0x1e dmesg when suspending and then resuming again (53.19 KB, text/plain)
2016-08-05 08:24 UTC, Mads
no flags Details

Description Mads 2016-08-05 08:21:04 UTC
Created attachment 125550 [details]
dmesg drm-intel-nightly drm.debug=0x1e before suspend

When resuming my Dell XPS 15 9550 from a suspend, the monitor won't turn on again. Tested all quirks available from pm-suspend, it does not work.

It's not related to X11, it happens also if you suspend without starting X.

The machine also has an 960M nVIDIA card, but the module is not loaded, and the card is turned off with the help of the bbswitch module. Have tested with the nvidia driver loaded, it makes no difference. No physical output on the laptop is wired to the nVIDIA card (tested with starting X with only nvidia loaded, it shows no outputs available).

Tested both vanilla linux-kernel-4.7.0 and latest drm-intel-nightly (currently at 4ef516d46da2ae7091ef0b0b8d05f600d2e85ab8). Nothing seems to happen in dmesg with vanilla kernel, but that was tested without drm.debug=0x1e log_buf_len=1M.

It also gets no error state after resuming from suspend:

# cat /sys/class/drm/card0/error
no error state collected

# lspci:

00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 07)
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #0 (rev 31)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #1 (rev 31)
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)
00:1c.1 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev ff)
02:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
04:00.0 Non-Volatile memory controller: Toshiba America Info Systems Device 010f (rev 01)
06:00.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015]
07:00.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015]
07:01.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015]
07:02.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015]
3e:00.0 USB controller: Intel Corporation DSL6340 USB 3.1 Controller [Alpine Ridge]

# BIOS output from dmidecode:

...
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: Dell Inc.
        Version: 01.02.10
        Release Date: 06/30/2016
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 16384 kB
        Characteristics:
                PCI is supported
                PNP is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                ACPI is supported
                USB legacy is supported
                Smart battery is supported
                BIOS boot specification is supported
                Function key-initiated network boot is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.2
...
Comment 1 Mads 2016-08-05 08:24:40 UTC
Created attachment 125551 [details]
dmesg drm-intel-nightly drm.debug=0x1e dmesg when suspending and then resuming again

Here's everything new in dmesg after suspending and then resuming again.
Comment 2 Mads 2016-08-05 09:30:24 UTC
This might be the same bug, I'm not sure: https://bugs.freedesktop.org/show_bug.cgi?id=93555

It made me test with i915.enable_psr=0, but that made no difference - the screen still stays black.
Comment 3 Mads 2016-10-17 18:44:03 UTC
Tested again with new BIOS, version 1.12.14 compiled 31.08.2016.
Comment 4 Mads 2016-10-17 18:44:56 UTC
Tested again with new BIOS, version 1.12.14 compiled 31.08.2016. Did not work.
Comment 5 Mads 2016-10-18 19:56:25 UTC
Tested again with this version of drm-intel-nightly:

commit 5b633f423e27af3a7f30d303e243f5a2e82917ae
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Oct 18 14:27:24 2016 +0100

    drm-intel-nightly: 2016y-10m-18d-13h-24m-11s UTC integration manifest

and then booting with intel_iommu=igfx_off (because of https://bugs.freedesktop.org/show_bug.cgi?id=98309). Now suspend works!

Is this still a bug?
Comment 6 yann 2016-10-19 08:58:41 UTC
(In reply to Mads from comment #5)
> Tested again with this version of drm-intel-nightly:
> 
> commit 5b633f423e27af3a7f30d303e243f5a2e82917ae
> Author: Chris Wilson <chris@chris-wilson.co.uk>
> Date:   Tue Oct 18 14:27:24 2016 +0100
> 
>     drm-intel-nightly: 2016y-10m-18d-13h-24m-11s UTC integration manifest
> 
> and then booting with intel_iommu=igfx_off (because of
> https://bugs.freedesktop.org/show_bug.cgi?id=98309). Now suspend works!
> 
> Is this still a bug?

This is still a bug because dmar_map_gfx is on by default on SKL and igfx_off is disabling explicitly
Comment 7 Ernst Sjöstrand 2017-01-17 10:05:44 UTC
Does this also happen with a long dpms period?
Comment 8 Jari Tahvanainen 2017-04-11 07:33:01 UTC
Mads - there have been quite a few code blocks submitted to drm-tip affecting this area. Can you please retest with the latest kernel (preferable drm-tip from git://anongit.freedesktop.org/git/drm-tip) without igfx_off. If failure is still valid then mark status REOPENED, and attach the latest dmesg.
Note also the question on comment 7.
Comment 9 Mads 2017-04-11 19:23:09 UTC
(In reply to Jari Tahvanainen from comment #8)
> Mads - there have been quite a few code blocks submitted to drm-tip
> affecting this area. Can you please retest with the latest kernel
> (preferable drm-tip from git://anongit.freedesktop.org/git/drm-tip) without
> igfx_off. If failure is still valid then mark status REOPENED, and attach
> the latest dmesg.
> Note also the question on comment 7.

I can't check this until Monday, I'm om vacation right now..
Comment 10 Mads 2017-04-20 10:53:59 UTC
Tested this drm-tip commit:

commit 1b757084743a73fa672e92b4e5cf00a291667dfc
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Wed Apr 19 15:50:51 2017 +0300

    drm-tip: 2017y-04m-19d-12h-50m-15s UTC integration manifest

Booted without intel_iommu=igfx_off - and things actually seems to work! The screen turns on again, both with and without external monitors connected :)

Would be wonderful if more people could test so we know that it's not just a fluke.

Nice work!
Comment 11 Mads 2017-04-20 10:55:46 UTC
Just FYI, my Dell XPS 15 9550 has BIOS version: 1.2.18

(I know .19 is out, but haven't tried with that yet...)
Comment 12 Jari Tahvanainen 2017-05-23 13:14:25 UTC
Marking as resolved+fixed. Let's see if get tested-by from anybody before actually closing this.


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.