Bug 2974 - PBLK length 7 considered invalid
Summary: PBLK length 7 considered invalid
Status: REJECTED DUPLICATE of bug 1958
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Processor (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: acpi_power-processor
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-06-28 10:02 UTC by Herman Sheremetyev
Modified: 2004-06-30 07:54 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.7
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
allows PBLK length of 7 in addition to 6 to be acceptable (864 bytes, patch)
2004-06-28 10:04 UTC, Herman Sheremetyev
Details | Diff
disassembled DSDT from BIOS v0209A for Asus M6N (181.68 KB, text/plain)
2004-06-30 07:54 UTC, Herman Sheremetyev
Details

Description Herman Sheremetyev 2004-06-28 10:02:13 UTC
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
Comment 1 Herman Sheremetyev 2004-06-28 10:04:11 UTC
Created attachment 3269 [details]
allows PBLK length of 7 in addition to 6 to be acceptable
Comment 2 Luming Yu 2004-06-28 18:53:12 UTC
  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.
Comment 3 Zhu Yi 2004-06-28 19:39:43 UTC
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?
Comment 4 Herman Sheremetyev 2004-06-28 21:23:39 UTC
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 ***
Comment 5 Zhu Yi 2004-06-29 19:10:50 UTC
Can you please attach your DSDT?
Comment 6 Herman Sheremetyev 2004-06-30 07:54:56 UTC
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

Note You need to log in before you can comment on or make changes to this bug.