I will attach acpidump and dmesg.
Created attachment 32582 [details] dmesg (2.6.35-22ck-generic Ubuntu)
Created attachment 32592 [details] acpi-MSI-Wind-U110.dump
thanks for the acpidump. please attach a copy of the files found under /sys/firmware/acpi/tables/dynamic > intel_idle: MWAIT substates: 0x3020220 > intel_idle: v0.4 model 0x1C > intel_idle: lapic_timer_reliable_states 0x6 Yep, this system advertises C6 with 3 sub-states. Please paste the output from 'cat /proc/cpuinfo' and 'lspci'
Created attachment 32642 [details] lspci
Created attachment 32652 [details] cpuinfo
> There are no files in .../dynamic/ Hmmm, please check again when disabling intel_idle (via CONFIG_INTEL_IDLE=n or "acpi_idle.max_cstate=0") or if that doesn't work, you should be able to get the same data files manually this way: acpidump -a 0x7FAA0270 -l 0x00000259 > cpu0ist.dat acpidump -a 0x7FAA01A0 -l 0x000000CC > cpu1ist.dat acpidump -a 0x7FAA0560 -l 0x0000072D > cpu0cst.dat acpidump -a 0x7FAA04D0 -l 0x00000085 > cpu1cst.dat
Created attachment 32702 [details] enable Atom C6 Here is the patch I have in mind. I need to see ACPI's _CST before knowing for sure if it is correct, but you can go ahead and test it now.
Created attachment 32722 [details] cpu0cst.dat
Created attachment 32732 [details] cpu0ist.dat
Created attachment 32742 [details] cpu1cst.dat
Created attachment 32752 [details] cpu1ist.dat
There were no files no matter whether I had intel_idle active or not so I have attached the requested acpidumps. I am compiling the kernel right now to check the modifications ("backported" to 2.6.35 - why it didn't apply I don't know)
ah, i should have mentioned that the patch in comment #7 is built on the upstream kernel tree, linux-2.6.36-rc7. It may be easiest to grab the latest intel_idle.c from there and apply the patch on top of it. curious on /sys/firmware/acpi/tables/dynamic/ missing. If you are in ACPI mode, using acpi_idle, and using deep C-states then you'd need the _CST that is loaded dynamically, and when a dynamic SSDT is loaded, it should appear in sysfs.
The patch works as expected. Now I can use the C6 state no matter if the power adapter is connected or not, thanks! ;) And the weird hickup that unplugging the power during standby means no C6 after wake should be fixed, too. btw. I use the psb module from gma500 ppa: http://ppa.launchpad.net/gma500/ppa/ubuntu with ubuntu 9.10 why?
I tried again. C6 is activated when I unplug the power adapter. But nothing appeared in /sys where you said -- empty dir.
when I unplug dmesg says: [ 491.467111] Monitor-Mwait will be used to enter C-3 state [ 491.477106] Monitor-Mwait will be used to enter C-3 state
I'm now trying with intel_idle from git + patch as is just to be absolutely sure.
Ok, won't compile (error: ‘CPUIDLE_FLAG_TLB_FLUSHED’ undeclared here (not in a function). But it works fine! Tested-by: Dennis Jansen <Dennis.Jansen (at) web (...) de
Re: comment #8 _CST: Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000052, // Address 0x03, // Access Size ) }, 0x03, 0x8C, 0x0A } This AML verifies that ATM-C6 should be entered with sub-state 2, ie 0x52, and the 0x8C is 140usec worst case latency. re: comment #14 thanks for verifying that the patch gives you c6 on both AC and DC. > And the weird hickup that unplugging the power during standby > means no C6 after wake should be fixed, too. Interesting. I that is either an ACPI BIOS bug or a Linux kernel ACPI bug. Mis-guided ACPI-BIOS feature anyway. dmesg in comment #1 show that the dynamic SSDT's are loaded. Very strange that they are not visible in /sys/firmware/acpi/tables/dynamic If you could, it would be ideal to file a new bug for that issue in the ACPI category. Re: comment #18 the patch builds for me on top of the latest git tree. I'd supply a back-port, but the reality is that all the patches underneath it are going to .stable anyway; so mixing their order would just complicate things.
Created attachment 32922 [details] refreshed patch vs 2.6.36-rc7 enabling ATM-C6 Here is the patch as staged to go upstream. It is functionally the same as the previous patch, but with tweaked C-state parameters to match what we observed in the ACPI table.
Created attachment 32932 [details] patch: install table handler before any dynamic tables are loaded I assume you can see SSDT1/SSDT2/SSDT3/SSDT4 in /sys/firmware/acpi/tables, right? can you please apply this patch and see if /sys/firmware/acpi/tables/dynamic is still empty?
(In reply to comment #21) > patch: install table handler before any dynamic tables are loaded > > I assume you can see SSDT1/SSDT2/SSDT3/SSDT4 in /sys/firmware/acpi/tables, > right? Yes, I see them: APIC DSDT dynamic/ FACP FACS GSCI HPET MCFG OEMB SLIC SSDT1 SSDT2 SSDT3 SSDT4 SSDT5 > can you please apply this patch and see if /sys/firmware/acpi/tables/dynamic > is > still empty? Sorry, it doesn't apply to 2.6.35. I don't have git on my netbook. it's hard enough to get it all together and running well in the first place with the psb module. Maybe when I switch to 2.6.36 eventually I can try this patch.
ps. Thanks Len!!!
commit 7fcca7d900957b43c84da171b750afcf1682808a Author: Len Brown <len.brown@intel.com> Date: Tue Oct 5 13:43:14 2010 -0400 intel_idle: enable Atom C6 is shipping in linux-2.6.36-rc8 this bug report is closed. ideally, a new but report should be created for the (independent) issue regarding the dynamic tables.
It sounded like Zhang Rui has a fix in #21. Did that go into 2.6.36, too? Or can you tell me how to port it to 2.6.35, it seems like a one-liner?
Zhang tracked it seperately in bug #21142