Bug 78601 - i915 intel black screen after xorg and needs ssh from another box to "suspend and resume"
Summary: i915 intel black screen after xorg and needs ssh from another box to "suspend...
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - Intel) (show other bugs)
Hardware: x86-64 Linux
: P1 normal
Assignee: Rodrigo Vivi
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-21 12:30 UTC by conraid
Modified: 2014-06-30 14:40 UTC (History)
3 users (show)

See Also:
Kernel Version: 3.15
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description conraid 2014-06-21 12:30:48 UTC
It is not just a problem of suspend, but the screen, I think

With kernel 3.15 display got black screen after startx or kdm (init4). Other tty idem, it's black.
If I login with ssh I can do "pm-suspend" and after with poweroff button I can resume and diplay work well

There are no errors in the log file, it are identical to the kernel 3.14


My system is hp6710s with Slackware current:

00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) (rev 0c) (prog-if 00 [VGA controller])
        Subsystem: Hewlett-Packard Company Compaq 6710b
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 44
        Region 0: Memory at e4300000 (64-bit, non-prefetchable) [size=1M]
        Region 2: Memory at d0000000 (64-bit, prefetchable) [size=256M]
        Region 4: I/O ports at 4000 [size=8]
        Expansion ROM at <unassigned> [disabled]
        Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
                Address: fee0300c  Data: 41d1
        Capabilities: [d0] Power Management version 3
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
                Bridge: PM- B3+
        Kernel driver in use: i915

00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (secondary) (rev 0c)
        Subsystem: Hewlett-Packard Company Compaq 6710b
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Region 0: Memory at e4400000 (64-bit, non-prefetchable) [size=1M]
        Capabilities: [d0] Power Management version 3
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
                Bridge: PM- B3+
Comment 1 Zhang Rui 2014-06-23 05:55:28 UTC
(In reply to conraid from comment #0)
> It is not just a problem of suspend, but the screen, I think
> 
> With kernel 3.15 display got black screen after startx or kdm (init4). Other
> tty idem, it's black.
> If I login with ssh I can do "pm-suspend" and after with poweroff button I
> can resume and diplay work well
> 
hmm, do you mean the the display is black after fresh boot, and come back to work after a suspend/hibernation cycle?
Comment 2 conraid 2014-06-23 10:40:23 UTC
(In reply to Zhang Rui from comment #1)
> (In reply to conraid from comment #0)
> > It is not just a problem of suspend, but the screen, I think
> > 
> > With kernel 3.15 display got black screen after startx or kdm (init4).
> Other
> > tty idem, it's black.
> > If I login with ssh I can do "pm-suspend" and after with poweroff button I
> > can resume and diplay work well
> > 
> hmm, do you mean the the display is black after fresh boot, and come back to
> work after a suspend/hibernation cycle?


yes, but only after the start X server. After the command startx, or starting the display manager, the screen goes black, and only after a suspend/hibernation cycle back to work.
Comment 3 Felix Miata 2014-06-23 19:54:10 UTC
Could this be a problem non-specific to Intel?

https://bugzilla.redhat.com/show_bug.cgi?id=1096487 isn't exactly the same, but it smells close.

I can't remember right now if I've seen this or not on any of my Intel Rawhide or Factory installations.
Comment 4 conraid 2014-06-24 06:38:45 UTC
I do not know if it depends or not the intel driver, acpi, or the other.
I just have to try this notebook. 
File logs show nothing abnormal, the computer is operating normally. Simply the monitor goes into standby and it doesn't wake up in any way.
In my case, however, switching to a different tty doesn't work. Need a csuspend/resume cycle to return the active display.

p.s.
I'm sorry for my bad english
Comment 5 conraid 2014-06-27 13:49:44 UTC
I found this bug report. 
https://www.libreoffice.org/bugzilla/show_bug.cgi?id=80010
My problem is the same, and in fact it works with that patch. 

Removing the line

.initial_config = intel_fb_initial_config,

in drivers/gpu/drm/i915/intel_fbdev.c

I tried with 3.15.1 and the patch that fixes the problem.
I do not know, however, what does remove that line, so I hope someone solves the mainline and give the correct solution.
Comment 6 conraid 2014-06-29 16:25:34 UTC
Update testing

With kernel 3.16.2-rc2 I have no problems

With the patch
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=2e7eeeb59a92d09144fdb7d2dc1af77a10a7945b

commit 2e7eeeb59a92d09144fdb7d2dc1af77a10a7945b 

there is no need to make a suspend/resume cycle, but just do a switch on the tty and return in primary tty, for example with boot init4 I do ctrl+alt+f2 and then ctrl+alt+f7 and console show log in as if nothing had happened.
Comment 7 Jani Nikula 2014-06-30 09:10:32 UTC
Fixed by

commit 2e7eeeb59a92d09144fdb7d2dc1af77a10a7945b
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Mon Jun 9 18:24:34 2014 +0300

    drm/i915: set backlight duty cycle after backlight enable for gen4

upstream, to be backported to 3.14 and 3.15.

Thanks for the report and testing.
Comment 8 conraid 2014-06-30 14:40:07 UTC
The commit 2e7eeeb59a92d09144fdb7d2dc1af77a10a7945b does not solve the problem, but "changing" the behavior of the display.
With this you do not need a supend/resume cycle, but just change tty to "wake up" the monitor.

Without the line

.initial_config = intel_fb_initial_config,

in drivers/gpu/drm/i915/intel_fbdev.c instead it works.

I tried to apply, to the kernel 3.15, other commits in mainline, but I get a compile error. Probably require changes to other parts of the kernel.

Kernel 3.14 and 3.16 it's ok in my system.

Note You need to log in before you can comment on or make changes to this bug.