Distribution: Fedora Core 2 Hardware Environment: Asus M6N series notebook, Pentium-M 1600Mhz Software Environment: Linux Problem Description: the BIOS provides a PBLK length of 7 which is considered invalid by the current Linux ACPI implementation and causes C2 processor state to be unsupported. It seems that 7 should be an acceptable value as Intel shipped docs and chipsets with PBLK of length 7 in the past (maybe still do?). Steps to reproduce: cat /proc/acpi/processor/CPU1/power
Created attachment 3269 [details] allows PBLK length of 7 in addition to 6 to be acceptable
ACPI spec 2.0b 16.2.3.3.1.17 constrains the possible value of PBKLen. It should be either 0 or 6. So, I don't like the patch.
AFAIK, there are a number of laptops have PBLKLen other than 6, like 5, 7, etc. In most cases, using the BIOS PBLKLen to request_region won't crash us. May I suggest to check "PBLKLen != 6" only when acpi=strict? On other conditions, we may permit more values like 5, 7 to walk around the ACPI BIOS bug. BTW, What does Windows do on your system?
I just realized that the DSDT does contain a _CST method with C2 and C3 defined, and if I understand it correctly they override the PBLK registers, so maybe 7 was meant to disable PBLK in this case after all...I guess that would also explain why C3_Latency is set to 1001 in the FADT. The "_CST patch" is probably the right solution to this problem rather than the one I propose, it's being dealt with in this bug report: http://bugzilla.kernel.org/show_bug.cgi?id=1958 As a result I'm going to close this bug report. *** This bug has been marked as a duplicate of 1958 ***
Can you please attach your DSDT?
Created attachment 3291 [details] disassembled DSDT from BIOS v0209A for Asus M6N Hi Zhu, I'm attaching the disassembled DSDT from the latest BIOS version. To answer your earlier question, I don't actually run Windows so I'm not sure how it behaves on this laptop with regard to C2/C3. -Herman