Date: Fri, 01 Jul 2011 14:54:55 +0300 From: Andriy Gapon <avg@FreeBSD.org> To: Vitaly Magerya <vmagerya@gmail.com> Cc: freebsd-acpi@FreeBSD.org Subject: Re: (Missing) power states of an Atom N455-based netbook Message-ID: <4E0DB58F.4070906@FreeBSD.org> In-Reply-To: <BANLkTinRY-h%2BkpXtwWJ_L86qVRdoynFSdg@mail.gmail.com> References: <BANLkTim%2B1UwquMJ32WP8wZBGkYxPv78MLA@mail.gmail.com> <4E05EB91.9090509@FreeBSD.org> <BANLkTi=dyNx=TjyEqYMhSkRtddjVA4nAtw@mail.gmail.com> <4E0862A0.7060405@FreeBSD.org> <BANLkTikmVUtLyANBSqYb%2BL-xkwQ4Zo51Eg@mail.gmail.com> <4E09BADF.7050702@FreeBSD.org> <BANLkTin_%2BZH%2Bo7rdR9ijHMtrXcSdH9ZSdQ@mail.gmail.com> <4E0A41C8.3000904@FreeBSD.org> <BANLkTikwgy%2BKuA5E5zXQKGT-eyV35YAVag@mail.gmail.com> <4E0CE158.6030804@FreeBSD.org> <BANLkTinRY-h%2BkpXtwWJ_L86qVRdoynFSdg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E0DB58F.4070906>