From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Bruin Subject: Re: 3.11.0+ Laptop screen goes blank during kernelboot Date: Sat, 14 Sep 2013 22:29:10 +0200 Message-ID: <5234C716.8040706@xmsnet.nl> References: <522AF1B5.4070605@xmsnet.nl> <87ob819c1z.fsf@intel.com> <523227D6.4020603@xmsnet.nl> <20130912204945.GE5459@phenom.ffwll.local> <52334EC1.5040005@xmsnet.nl> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from smtp1.ispfabriek.nl (smtp1.ispfabriek.nl [37.251.0.168]) by gabe.freedesktop.org (Postfix) with ESMTP id CBA41E5C0E for ; Sat, 14 Sep 2013 13:28:51 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Daniel Vetter Cc: intel-gfx List-Id: intel-gfx@lists.freedesktop.org On 09/13/2013 09:36 PM, Daniel Vetter wrote: > On Fri, Sep 13, 2013 at 7:43 PM, Hans de Bruin wrote: >> On 09/12/2013 10:49 PM, Daniel Vetter wrote: >>> >>> On Thu, Sep 12, 2013 at 10:45:10PM +0200, Hans de Bruin wrote: >>>> >>>> On 09/10/2013 01:00 PM, Jani Nikula wrote: >>>>> >>>>> >>>>> Hi Hans - >>>>> >>>>> On Sat, 07 Sep 2013, Hans de Bruin wrote: >>>>>> >>>>>> Since a day or two the screen of my laptop goes blank when the kernel >>>>>> switches resolution in the boot process. Happily the x-server turns it >>>>>> on again. >>>>> >>>>> >>>>> Please try the drm-intel-nightly branch of >>>>> git://people.freedesktop.org/~danvet/drm-intel >>>> >>>> >>>> Well the drm-intel-testing branch works fine but that was not the >>>> question. lets see if I am able to use gits -b option and clone >>>> drm-intel-nightly. >>> >>> >>> -testing should be recent enough for the commit Jani mentioned. It's also >>> already in Linus' git, so hopefully that works again for you. >> >> >> drm-intel-nightly Works fine to (the compile was already running when I >> read your mail). Today's Linus tree still has the defect. Time for a >> bisect? > > Hm, so either it's a different feature patch in -nightly which -fixes > this, or much more likely a regression somewhere in Linus' git tree. I > think a bisect is asked for here indeed. > -Daniel > This is the one: 137b944e100278d696826cf25c83014ac17473fe is the first bad commit commit 137b944e100278d696826cf25c83014ac17473fe Author: Daniel Lezcano Date: Wed Jun 12 15:08:48 2013 +0200 cpuidle: Make it clear that governors cannot be modules cpufreq governors are defined as modules in the code, but the Kconfig options do not allow them to be built as modules. This is not really a problem, but the cpuidle init ordering is: the cpuidle init functions (framework and driver) and then the governors. That leads to some weirdness in the cpuidle framework. Namely, cpuidle_register_device() calls cpuidle_enable_device() which fails at the first attempt, because governors have not been registered yet. When a governor is registered, the framework calls cpuidle_enable_device() again which runs __cpuidle_register_device() only then. Of course, for that to work, the cpuidle_enable_device() return value has to be ignored by cpuidle_register_device(). Instead of having this cyclic call graph and relying on a positive side effects of the hackish back and forth cpuidle_enable_device() calls it is better to fix the cpuidle init ordering. To that end, replace the module init code with postcore_initcall() so we have: * cpuidle framework : core_initcall * cpuidle governors : postcore_initcall * cpuidle drivers : device_initcall and remove the corresponding module exit code as it is dead anyway (governors can't be built as modules). [rjw: Changelog] Signed-off-by: Daniel Lezcano Signed-off-by: Rafael J. Wysocki :040000 040000 45e7cb28411864c00b62296a7ff239f9f139d5d9 86a36b01dee52a77cfbab41a973b7a2bfa44ce34 M drivers Reverting it makes the problem go away. The pull request from Rafael had cc's to linux-acpi@vger.kernel.org linux-pci@vger.kernel.org. -- Hans