From owner-freebsd-acpi@FreeBSD.ORG Fri Jul 1 11:55:00 2011 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D60BF106564A for ; Fri, 1 Jul 2011 11:55:00 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 21B4B8FC18 for ; Fri, 1 Jul 2011 11:54:59 +0000 (UTC) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id OAA05326; Fri, 01 Jul 2011 14:54:57 +0300 (EEST) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1QccJF-000FJB-46; Fri, 01 Jul 2011 14:54:57 +0300 Message-ID: <4E0DB58F.4070906@FreeBSD.org> Date: Fri, 01 Jul 2011 14:54:55 +0300 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.18) Gecko/20110626 Lightning/1.0b2 Thunderbird/3.1.11 MIME-Version: 1.0 To: Vitaly Magerya References: <4E05EB91.9090509@FreeBSD.org> <4E0862A0.7060405@FreeBSD.org> <4E09BADF.7050702@FreeBSD.org> <4E0A41C8.3000904@FreeBSD.org> <4E0CE158.6030804@FreeBSD.org> In-Reply-To: X-Enigmail-Version: 1.1.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@FreeBSD.org Subject: Re: (Missing) power states of an Atom N455-based netbook X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2011 11:55:00 -0000 on 01/07/2011 01:52 Vitaly Magerya said the following: > I got the dumps for Linux (it appears that you can't just read > /dev/mem on there, you need to mmap it). The summary of differences > between FreeBSD and Linux right after the boot: > > DB00: 01 -> 00 > P80D: 06:08:00:00 -> 06:08:4C:00 Not sure what these two are. > PCP0: 1D -> BF > PCP1: 1D -> BF These reflect advertised OS power-management capabilities and appear to be correct. > BRTL: 00 -> 1E This seems to be a variable holding current BRighTness Level. It seems to be ralated to _BCM/_BQC/etc methods used acpi_video driver. > VDRV: 00 -> 01 Looks like this variable should tell if OS has ACPI Video driver, to be precise if _BCL method was invoked at least once. Looks like in your case the driver doesn't attach for some reason?.. Unfortunately, I don't remember if or where you provided your dmesg. > > (Note that C1ON is 0 just as with FreeBSD, and yet powertop does > report C2 and C4). Hmm, this is the strangest thing. According to my analysis of all the ASL code that we extracted if C1ON is zero, then no deep C-states should be reported by _CST method. As such, I wonder where does Linux get C-states information from? Or what else could be going on here. Maybe they somehow query them directly from HW by-passing ACPI in this case... Actually, it seems that they have them simply hardcoded: http://lxr.linux.no/#linux+v2.6.39/drivers/idle/intel_idle.c#L171 I am not sure how to check on Linux which cpuidle driver is being used. If you know, could please check that? And if the driver is intel_idle, then there is no mystery, they use those hardcoded values. > Then, after about 4 minutes of uptime, C1ON changes to 1 (and > powertop still reports the same states). OK, no difference here. So it's probably done by firmware based on some unknown logic. -- Andriy Gapon