Skip to contentSkip to conversation

ASUS M6800N: processor has only C1

DISCUSSION Luca Capello 5 participants 21 messages Mar 2, 2004 – Mar 20, 2004 15 messages not in the archive

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

I've some problems with my new ASUS laptop with the latest BIOS 0205A from

	http://fsai.fh-trier.de/~gielj/M6800N/

As from the title, when I insert the ACPI 'processor' module, I got this error:
=====
acpi_processor-2210 [188] acpi_processor_get_inf: Invalid PBLK length [7]
ACPI: Processor [CPU1] (supports C1)
=====

while all the entry in /proc/acpi/processor/CPU1/ seem there:
=====

gismo:/proc/acpi/processor/CPU1# cat info
processor id:            2
acpi id:                 1927985
bus mastering control:   no
power management:        no
throttling control:      no
limit interface:         no
gismo:/proc/acpi/processor/CPU1# cat limit
<not supported>
gismo:/proc/acpi/processor/CPU1# cat power
active state:            C47514253
default state:           C26214683
bus master activity:     00010000
states:
    C1:                  promotion[--] demotion[C23360] latency[000]
usage[134972534]
    C2:                  <not supported>
    C3:                  <not supported>
gismo:/proc/acpi/processor/CPU1# cat throttling
Could not determine current throttling state.
=====

I already hacked my DSDT (attached in .dsl format), but the last tests I made on 2.6.3 + ACPI 20040220 and 'ACPI DSDT in initrd' gave the same error (attached 'dmesg' output).

Possible solutions?

Thx, bye,
Gismo / Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org

iD8DBQFARFn7VAp7Xm10JmkRAnJLAJsHNSajA3/hYGBINjOmgJPJC86/uACfa1BJ wpr5JQ8eix6oM7zhmht4Yrw=
=YMRS
-----END PGP SIGNATURE-----

#2 lore raw
In reply to a message not in the archive
Quoted 5 lines · Luca Capello

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

Quoted 7 lines

I've some problems with my new ASUS laptop with the latest BIOS 0205A from

	http://fsai.fh-trier.de/~gielj/M6800N/

As from the title, when I insert the ACPI 'processor' module, I got this error:
=====
acpi_processor-2210 [188] acpi_processor_get_inf: Invalid PBLK length [7]
ACPI: Processor [CPU1] (supports C1)
=====

Perhaps
http://bugzilla.kernel.org/show_bug.cgi?id=1958
may help you.

Cheers,

Signature · 11 lines
Bruno Ducrot

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
#4 lore raw
In reply to a message not in the archive

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

Quoted 3 lines · Bruno Ducrot

Perhaps
http://bugzilla.kernel.org/show_bug.cgi?id=1958
may help you.

the patch at that bug failed on 2.6.4-rc1 + ACPI 20040220:
=====

gismo:/usr/src/linux-2.6.4-rc1-test# patch -p1 <
../kernel/v2.6/bug1958-20040127.processor.c.diff
patching file drivers/acpi/processor.c
Hunk #1 FAILED at 3.
Hunk #2 succeeded at 299 (offset 1 line).
Hunk #3 succeeded at 407 (offset 1 line).
Hunk #4 succeeded at 424 (offset 1 line).
Hunk #5 succeeded at 441 (offset 1 line).
Hunk #6 succeeded at 517 (offset 1 line).
Hunk #7 succeeded at 546 (offset 1 line).
Hunk #8 succeeded at 851 (offset 1 line).
Hunk #9 succeeded at 890 (offset 1 line).
Hunk #10 succeeded at 949 (offset 1 line).
Hunk #11 succeeded at 1016 (offset 1 line).
Hunk #12 succeeded at 2145 (offset 595 lines).
Hunk #13 succeeded at 2601 (offset 581 lines).
1 out of 13 hunks FAILED -- saving rejects to file drivers/acpi/processor.c.rej
gismo:/usr/src/linux-2.6.4-rc1-test#
=====

This is not a big problem, the FAILED is cause by the fact that in the new 'processor.c' at line 3 there's even the
* Copyright (C) 2004 Dominik Brodowski <[email protected]>
which wasn't present in 2.6.1.

On the other hand, I got these error when compiling:
======
CC [M] drivers/acpi/processor.o
drivers/acpi/processor.c: In function `acpi_processor_power_activate':
drivers/acpi/processor.c:311: error: structure has no member named type' drivers/acpi/processor.c:315: error: structure has no member named type' drivers/acpi/processor.c:321: error: structure has no member named type' drivers/acpi/processor.c: In function acpi_processor_idle':
drivers/acpi/processor.c:409: error: structure has no member named type' drivers/acpi/processor.c: In function acpi_processor_set_power_policy':
drivers/acpi/processor.c:548: error: structure has no member named count' drivers/acpi/processor.c:549: error: structure has no member named type' drivers/acpi/processor.c: In function `acpi_processor_get_power_info_cst':
drivers/acpi/processor.c:668: error: structure has no member named `count' drivers/acpi/processor.c:691: error: dereferencing pointer to incomplete type drivers/acpi/processor.c:692: error: dereferencing pointer to incomplete type drivers/acpi/processor.c:695: error: dereferencing pointer to incomplete type drivers/acpi/processor.c:696: error: dereferencing pointer to incomplete type drivers/acpi/processor.c:703: error: structure has no member named type' drivers/acpi/processor.c:718: error: structure has no member named type' drivers/acpi/processor.c:818: error: structure has no member named count' drivers/acpi/processor.c:818: error: structure has no member named count' drivers/acpi/processor.c:819: error: structure has no member named count' drivers/acpi/processor.c:823: error: structure has no member named count' drivers/acpi/processor.c:825: error: structure has no member named count' drivers/acpi/processor.c:828: error: structure has no member named count' drivers/acpi/processor.c: In function `acpi_processor_get_power_info_fadt':
drivers/acpi/processor.c:892: error: structure has no member named type' drivers/acpi/processor.c:895: error: structure has no member named count' drivers/acpi/processor.c:951: error: structure has no member named type' drivers/acpi/processor.c:955: error: structure has no member named count' drivers/acpi/processor.c: In function `acpi_processor_get_power_info':
drivers/acpi/processor.c:979: error: structure has no member named type' drivers/acpi/processor.c:991: error: structure has no member named type' drivers/acpi/processor.c:992: error: structure has no member named count' drivers/acpi/processor.c:1018: error: structure has no member named count' drivers/acpi/processor.c: In function `acpi_processor_power_seq_show':
drivers/acpi/processor.c:2147: error: structure has no member named count' drivers/acpi/processor.c:2150: error: structure has no member named type' drivers/acpi/processor.c: In function `acpi_processor_add':
drivers/acpi/processor.c:2603: error: structure has no member named `count' make[3]: *** [drivers/acpi/processor.o] Error 1
make[2]: *** [drivers/acpi] Error 2
make[1]: *** [drivers] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.4-rc1-test'
make: *** [stamp-build] Error 2 gismo:/usr/src/linux-2.6.4-rc1-test#
=====

Should I wait for a patch against 2.6.4 + latest ACPI or should I try the old 2.6.1?

BTW, 2.6.4 + ACPI 20040220 has the same problem as the older one, I mean, same error on ACPI and only C1 :-(

Thx, bye,
Gismo / Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org

iD8DBQFARIFpVAp7Xm10JmkRAp+LAJ9xUd96H62JjkIRropA0XCjVMTebACbBqil qa7YtCuawPalRAehnh3hHDs=
=oKSv
-----END PGP SIGNATURE-----

-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click

#6 lore raw
In reply to a message not in the archive

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

Quoted 49 lines · Luca Capello

On the other hand, I got these error when compiling:
======
CC [M] drivers/acpi/processor.o
drivers/acpi/processor.c: In function `acpi_processor_power_activate':
drivers/acpi/processor.c:311: error: structure has no member named type' drivers/acpi/processor.c:315: error: structure has no member named type' drivers/acpi/processor.c:321: error: structure has no member named type' drivers/acpi/processor.c: In function acpi_processor_idle':
drivers/acpi/processor.c:409: error: structure has no member named type' drivers/acpi/processor.c: In function acpi_processor_set_power_policy':
drivers/acpi/processor.c:548: error: structure has no member named count' drivers/acpi/processor.c:549: error: structure has no member named type' drivers/acpi/processor.c: In function `acpi_processor_get_power_info_cst':
drivers/acpi/processor.c:668: error: structure has no member named `count' drivers/acpi/processor.c:691: error: dereferencing pointer to incomplete type drivers/acpi/processor.c:692: error: dereferencing pointer to incomplete type drivers/acpi/processor.c:695: error: dereferencing pointer to incomplete type drivers/acpi/processor.c:696: error: dereferencing pointer to incomplete type drivers/acpi/processor.c:703: error: structure has no member named type' drivers/acpi/processor.c:718: error: structure has no member named type' drivers/acpi/processor.c:818: error: structure has no member named count' drivers/acpi/processor.c:818: error: structure has no member named count' drivers/acpi/processor.c:819: error: structure has no member named count' drivers/acpi/processor.c:823: error: structure has no member named count' drivers/acpi/processor.c:825: error: structure has no member named count' drivers/acpi/processor.c:828: error: structure has no member named count' drivers/acpi/processor.c: In function `acpi_processor_get_power_info_fadt':
drivers/acpi/processor.c:892: error: structure has no member named type' drivers/acpi/processor.c:895: error: structure has no member named count' drivers/acpi/processor.c:951: error: structure has no member named type' drivers/acpi/processor.c:955: error: structure has no member named count' drivers/acpi/processor.c: In function `acpi_processor_get_power_info':
drivers/acpi/processor.c:979: error: structure has no member named type' drivers/acpi/processor.c:991: error: structure has no member named type' drivers/acpi/processor.c:992: error: structure has no member named count' drivers/acpi/processor.c:1018: error: structure has no member named count' drivers/acpi/processor.c: In function `acpi_processor_power_seq_show':
drivers/acpi/processor.c:2147: error: structure has no member named count' drivers/acpi/processor.c:2150: error: structure has no member named type' drivers/acpi/processor.c: In function `acpi_processor_add':
drivers/acpi/processor.c:2603: error: structure has no member named `count' make[3]: *** [drivers/acpi/processor.o] Error 1
make[2]: *** [drivers/acpi] Error 2
make[1]: *** [drivers] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.4-rc1-test'
make: *** [stamp-build] Error 2 gismo:/usr/src/linux-2.6.4-rc1-test#
=====

Quoted 2 lines

Should I wait for a patch against 2.6.4 + latest ACPI or should I try the old 2.6.1?

well, I've tried on the old 2.6.1 (w/o any ACPI patches, as I don't know where I could find them) and I got the same errors:
=====
CC [M] drivers/acpi/processor.o
drivers/acpi/processor.c: In function `acpi_processor_power_activate':
drivers/acpi/processor.c:311: error: structure has no member named type' drivers/acpi/processor.c:315: error: structure has no member named type' drivers/acpi/processor.c:321: error: structure has no member named type' drivers/acpi/processor.c: In function acpi_processor_idle':
drivers/acpi/processor.c:409: error: structure has no member named type' drivers/acpi/processor.c: In function acpi_processor_set_power_policy':
drivers/acpi/processor.c:548: error: structure has no member named count' drivers/acpi/processor.c:549: error: structure has no member named type' drivers/acpi/processor.c: In function `acpi_processor_get_power_info_cst':
drivers/acpi/processor.c:668: error: structure has no member named `count' drivers/acpi/processor.c:691: error: dereferencing pointer to incomplete type drivers/acpi/processor.c:692: error: dereferencing pointer to incomplete type drivers/acpi/processor.c:695: error: dereferencing pointer to incomplete type drivers/acpi/processor.c:696: error: dereferencing pointer to incomplete type drivers/acpi/processor.c:703: error: structure has no member named type' drivers/acpi/processor.c:718: error: structure has no member named type' drivers/acpi/processor.c:818: error: structure has no member named count' drivers/acpi/processor.c:818: error: structure has no member named count' drivers/acpi/processor.c:819: error: structure has no member named count' drivers/acpi/processor.c:823: error: structure has no member named count' drivers/acpi/processor.c:825: error: structure has no member named count' drivers/acpi/processor.c:828: error: structure has no member named count' drivers/acpi/processor.c: In function `acpi_processor_get_power_info_fadt':
drivers/acpi/processor.c:892: error: structure has no member named type' drivers/acpi/processor.c:895: error: structure has no member named count' drivers/acpi/processor.c:951: error: structure has no member named type' drivers/acpi/processor.c:955: error: structure has no member named count' drivers/acpi/processor.c: In function `acpi_processor_get_power_info':
drivers/acpi/processor.c:979: error: structure has no member named type' drivers/acpi/processor.c:991: error: structure has no member named type' drivers/acpi/processor.c:992: error: structure has no member named count' drivers/acpi/processor.c:1018: error: structure has no member named count' drivers/acpi/processor.c: In function `acpi_processor_power_seq_show':
drivers/acpi/processor.c:1553: error: structure has no member named count' drivers/acpi/processor.c:1556: error: structure has no member named type' drivers/acpi/processor.c: In function `acpi_processor_add':
drivers/acpi/processor.c:2023: error: structure has no member named `count' make[3]: *** [drivers/acpi/processor.o] Error 1
make[2]: *** [drivers/acpi] Error 2
make[1]: *** [drivers] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.1'
make: *** [stamp-build] Error 2
gismo:/usr/src/linux-2.6.1#
=====

So I can suppose this is not a kernel 2.6.1 or 2.6.4 problem, but something
other: am I right?

Thx, bye,
Gismo / Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org

iD8DBQFARJ2NVAp7Xm10JmkRApIIAJ47/P1I3b+aJvWBiHOwD/naXGhLUwCfSUPb 194T+dov+lgpkxq+Ly2g3Kk=
=JBCN
-----END PGP SIGNATURE-----

-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click

#8 lore raw
In reply to a message not in the archive
Quoted 4 lines · Luca Capello

Hash: SHA1

Hello,

Thanks. Sound like that I send only an half patch, sorry.

include/acpi/processor.h +12 -0
@@ -15,6 +15,16 @@
 
 /* Power Management */
 
+struct acpi_power_register {
+	u8			descriptor;
+	u16			length;
+	u8			space_id;
+	u8			bit_width;
+	u8			bit_offset;
+	u8			reserved;
+	u64			address;
+} __attribute__ ((packed));
+
 struct acpi_processor_cx_policy {
 	u32			count;
 	int			state;
@@ -32,6 +42,7 @@ struct acpi_processor_cx {
 	u32			latency;
 	u32			latency_ticks;
 	u32			power;
+	u32			type;
 	u32			usage;
 	struct acpi_processor_cx_policy promotion;
 	struct acpi_processor_cx_policy demotion;
@@ -40,6 +51,7 @@ struct acpi_processor_cx {
 struct acpi_processor_power {
 	int			state;
 	int			default_state;
+	int			count;
 	u32			bm_activity;
 	struct acpi_processor_cx states[ACPI_PROCESSOR_MAX_POWER];
 };
Signature · 11 lines
Bruno Ducrot

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
#10 lore raw
In reply to a message not in the archive

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

Quoted 1 line · Bruno Ducrot

Thanks. Sound like that I send only an half patch, sorry.

nothing changed, well, I got one more error:
=====
acpi_processor-2490 [29] acpi_processor_get_inf: Invalid PBLK length [7] acpi_processor-0654 [31] acpi_processor_get_pow: Invalid _CST data
ACPI: Processor [CPU1] (supports C1)
=====

I tried this on kernel 2.6.4-rc1 + ACPI 20040220 with the original DSDT.

I tried to compile the same kernel with 'ACPI DSDT in initrd' patch, but after the patch applied with some hunks (just one failed in a comment section), I got an error:
=====
LD init/built-in.o
LD .tmp_vmlinux1
init/built-in.o(.init.text+0x347f): In function `populate_rootfs':
: undefined reference to dsdt_start' init/built-in.o(.init.text+0x3546): In function populate_rootfs':
: undefined reference to dsdt_start' drivers/built-in.o(.text+0x869e): In function acpi_os_table_override':
: undefined reference to dsdt_start' drivers/built-in.o(.text+0x86b0): In function acpi_os_table_override':
: undefined reference to dsdt_start' drivers/built-in.o(.text+0x2933e): In function acpi_tb_table_override':
: undefined reference to dsdt_start' drivers/built-in.o(.text+0x2934f): more undefined references to dsdt_start' follow make[1]: *** [.tmp_vmlinux1] Error 1
make[1]: Leaving directory `/usr/src/linux-2.6.4-rc1.processor-cst.acpi-initrd'
make: *** [stamp-build] Error 2 gismo:/usr/src/linux-2.6.4-rc1.processor-cst.acpi-initrd#
=====

Thx, bye,
Gismo / Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org

iD8DBQFARj14VAp7Xm10JmkRAnKCAJ0QkEsEPaWW/6K/dPWd2erkzllmeACdEJXg Jfd//ZiKf50KkgyEQPFRH2A=
=jPlO
-----END PGP SIGNATURE-----

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click

#12 lore raw
In reply to a message not in the archive
Quoted 5 lines · Luca Capello

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

Quoted 9 lines
Quoted 1 line · Bruno Ducrot

Thanks. Sound like that I send only an half patch, sorry.

nothing changed, well, I got one more error:
=====
acpi_processor-2490 [29] acpi_processor_get_inf: Invalid PBLK length [7] acpi_processor-0654 [31] acpi_processor_get_pow: Invalid _CST data
ACPI: Processor [CPU1] (supports C1)
=====

Could you please try:

drivers/acpi/processor.c +2 -2
@@ -649,8 +649,8 @@ acpi_processor_get_power_info_cst (
 
 	count = cst->package.elements[0].integer.value;
 
-	/* There must be at least 2 power states. */
-	if (count <= 1 || count != cst->package.count - 1) {
+	/* There must be at least one power state (some bios forgot C1), and validate count */
+	if (count < 1 || count != cst->package.count - 1) {
 		ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid _CST data\n"));
 		status = -EFAULT;
 		goto end;

I think also that the bios will only allow C2, not C3 nor C4 if you are on AC.

Could you then try on battery also? Note that I have not implemented yet the reevaluation of _CST in case of AC/battery switch...

Signature · 11 lines
Bruno Ducrot

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
#23 lore raw
In reply to a message not in the archive

On Tue, Mar 02, 2004 at 10:55:09AM +0100, Luca Capello wrote:

BTW, I tried to recompile your dsl with iasl version 20040220.

Since it has:
Processor (CPU1, 0x01, 0x00000410, 0x07)

I expected that the compilation failed because of the length of 7, or at least a warning. But threre was nothing. Therefore I consider that iasl break ACPI 2.0c, 16.2.3.3.1.17 for the definition of the ASL ProcessorTerm token.

Of course, that is only a minor issue, but well, since there were some bios developper documentation broken in that regard, it should be fine to get at least a warning.

Bob, could you please add this check?

Thanks,

Signature · 11 lines
Bruno Ducrot

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
#24 lore raw
In reply to a message not in the archive
Quoted 15 lines · Luca Capello
gismo:/proc/acpi/processor/CPU1# cat power
active state:            C47514253
default state:           C26214683
bus master activity:     00010000
states:
    C1:                  promotion[--] demotion[C23360] latency[000]
usage[134972534]
    C2:                  <not supported>
    C3:                  <not supported>
gismo:/proc/acpi/processor/CPU1# cat throttling
Could not determine current throttling state.
=====
Quoted 6 lines

I already hacked my DSDT (attached in .dsl format), but the last tests I made on 2.6.3 + ACPI 20040220 and 'ACPI DSDT in initrd' gave the same error (attached 'dmesg' output).

Possible solutions?

I had the same problem.
Your machine supports the C4 state.
Change the P_BLK in your DSDT to 0x06

e.g.:
Processor (\_PR.CPU0, 0x01, 0x00001010, 0x07)
to:
Processor (\_PR.CPU0, 0x01, 0x00001010, 0x06)

or use the patch from Pavel, posted on the 28.02.2004, 17:10.

Unfortunately this won't enable the C4 state if you have one. What do mainters say about supporting Cn processor states in the future?

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click

#26 lore raw
In reply to a message not in the archive
Quoted 28 lines · Thomas Renninger
Quoted 15 lines · Luca Capello
gismo:/proc/acpi/processor/CPU1# cat power
active state:            C47514253
default state:           C26214683
bus master activity:     00010000
states:
    C1:                  promotion[--] demotion[C23360] latency[000]
usage[134972534]
    C2:                  <not supported>
    C3:                  <not supported>
gismo:/proc/acpi/processor/CPU1# cat throttling
Could not determine current throttling state.
=====
Quoted 6 lines

I already hacked my DSDT (attached in .dsl format), but the last tests I made on 2.6.3 + ACPI 20040220 and 'ACPI DSDT in initrd' gave the same error (attached 'dmesg' output).

Possible solutions?

I had the same problem.
Your machine supports the C4 state.
Change the P_BLK in your DSDT to 0x06

e.g.:

Quoted 8 lines
   Processor (\_PR.CPU0, 0x01, 0x00001010, 0x07)
to:
   Processor (\_PR.CPU0, 0x01, 0x00001010, 0x06)

or use the patch from Pavel, posted on the 28.02.2004, 17:10.

Unfortunately this won't enable the C4 state if you have one. What do mainters say about supporting Cn processor states in the future?

I am pretty sure this message will come up more often in future.
Could it be that new mobile Intel processors support the C4 state -> therefore P_BLK = 0x07?

Pavel's patch is a workaround, setting P_BLK back to 6, but isn't it worth a critical bug for supporting Cn states, as only supporting C0-C3 states offends the specification?

Thomas

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click

#29 lore raw
In reply to a message not in the archive
Quoted 1 line · Thomas Renninger

or use the patch from Pavel, posted on the 28.02.2004, 17:10.

Sorry haven't read the whole thread...

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click

#14 lore raw
In reply to a message not in the archive

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

drivers/acpi/processor.c acpi_processor_get_power_info_cst ( · line 652

Quoted 11 lines · Bruno Ducrot

Could you please try:

drivers/acpi/processor.c +1 -2
@@ -649,8 +649,8 @@ acpi_processor_get_power_info_cst (
 
 	count = cst->package.elements[0].integer.value;
 
-	/* There must be at least 2 power states. */
-	if (count <= 1 || count != cst->package.count - 1) {
+	/* There must be at least one power state (some bios forgot C1), and

validate count */

drivers/acpi/processor.c acpi_processor_get_power_info_cst ( · line 656

Quoted 4 lines
drivers/acpi/processor.c +1 -0
+	if (count < 1 || count != cst->package.count - 1) {
 		ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid _CST data\n"));
 		status = -EFAULT;
 		goto end;

no problem, I forgot to advise you that I can make all the necessary tests to bring my new laptop to a completely ACPI working system :-)

Quoted 1 line

I think also that the bios will only allow C2, not C3 nor C4 if you are on AC.

You're right, but even on battery I get only C1 & C2 (as from the attached).

Quoted 2 lines

Could you then try on battery also? Note that I have not implemented yet the reevaluation of _CST in case of AC/battery switch...

As above, it doesn't matter if I'm on battery or on AC: it's the same, but anyway I have no more the _CST error message, but only the PBLK length one.

Thx, bye,
Gismo / Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org

iD8DBQFARzTnVAp7Xm10JmkRAo/2AJ93Hek8RsyZvF2hlrVjgAdVAsWSsACeILws mLV3QeCgx3/wbW6onD3ZX8k=
=Mhm+
-----END PGP SIGNATURE-----

#16 lore raw
In reply to a message not in the archive
Quoted 5 lines · Luca Capello

Hello,

no problem, I forgot to advise you that I can make all the necessary tests to bring my new laptop to a completely ACPI working system :-)

Thanks!

Quoted 3 lines
Quoted 2 lines

I think also that the bios will only allow C2, not C3 nor C4 if you are on AC.

You're right, but even on battery I get only C1 & C2 (as from the attached).

Well, there is a stupid bug, I guess.

drivers/acpi/processor.c +2 -5
@@ -666,7 +666,7 @@ acpi_processor_get_power_info_cst (
 	/* Get all power states */
 
 	/* Note that C0 and C1 are filled already by our caller. */
-	pr->power.count = 2;
+	pr->power.count = 1;
 	for (i = 1; i <= count; i++) {
 		union acpi_object *element;
 		union acpi_object *obj;
@@ -816,13 +816,10 @@ acpi_processor_get_power_info_cst (
 		/* All check done.  Register this power state. */
 		cx.valid = 1;
 		cx.latency_ticks = US_TO_PM_TIMER_TICKS(cx.latency);
-		memcpy(&(pr->power.states[pr->power.count]), &cx, sizeof(cx));
 		(pr->power.count)++;
+		memcpy(&(pr->power.states[pr->power.count]), &cx, sizeof(cx));
 	}
 
-	/* adjust count. */
-	(pr->power.count)--;
-
 	ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Found %d power states\n", pr->power.count));
 
 	/* Validate number of power states */
include/acpi/processor.h +1 -1
@@ -5,7 +5,7 @@
 
 #define ACPI_PROCESSOR_BUSY_METRIC	10
 
-#define ACPI_PROCESSOR_MAX_POWER	ACPI_C_STATE_COUNT
+#define ACPI_PROCESSOR_MAX_POWER	8
 #define ACPI_PROCESSOR_MAX_C2_LATENCY	100
 #define ACPI_PROCESSOR_MAX_C3_LATENCY	1000
 
Signature · 11 lines
Bruno Ducrot

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
#18 lore raw
In reply to a message not in the archive

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

Quoted 4 lines · Bruno Ducrot
Quoted 2 lines

no problem, I forgot to advise you that I can make all the necessary tests to bring my new laptop to a completely ACPI working system :-)

Thanks!

your welcome :-)

BTW 1: I forgot to advise you that I'm using again kernel 2.6.3 + ACPI 20040220
+ ACPI DSDT in initrd patch (from http://gaugusch.at/kernel.shtml) and a modified DSDT (available from http://fsai.fh-trier.de/~gielj/M6800N/), which fixes the battery status problem.

BTW 2: should I update my tests even on the kernel bug page? IMHO you should update your second patch (you posted 20040304 at 12:12).

Quoted 5 lines
Quoted 3 lines
Quoted 1 line

I think also that the bios will only allow C2, not C3 nor C4 if you are on AC.

You're right, but even on battery I get only C1 & C2 (as from the attached).

Well, there is a stupid bug, I guess.

on the above 2.6.3 there're no changes, always C1 & C2 in battery mode and on AC. The same behaviour on 2.6.4-rc1 + ACPI 20040220 + your patches.

Thx, bye,
Gismo / Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org

iD8DBQFASJ/IVAp7Xm10JmkRAt0RAJ4s6qv9ldZlSVxPy4O9ARlPJ2qKfACeIrI9 RQZcQ8dHCAHV9DLeSLFxE80=
=FEbt
-----END PGP SIGNATURE-----

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click

#30 lore raw
In reply to a message not in the archive

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

Quoted 8 lines · Thomas Renninger

I had the same problem.
Your machine supports the C4 state.
Change the P_BLK in your DSDT to 0x06

e.g.:

   Processor (\_PR.CPU0, 0x01, 0x00001010, 0x07)
to:
   Processor (\_PR.CPU0, 0x01, 0x00001010, 0x06)

with all Bruno's patches in this thread and if I change in my DSDT
=====

     Scope (\_PR)
     {
- -        Processor (CPU1, 0x01, 0x00000410, 0x07)
+        Processor (CPU1, 0x01, 0x00000410, 0x06)
         {
             Method (_CST, 0, NotSerialized)
             {

=====

I get
=====

gismo:/# dmesg | grep Processor
ACPI: Processor [CPU1] (supports C1 C2, 8 throttling states)
gismo:/# cat /proc/acpi/processor/CPU1/info
processor id:            0
acpi id:                 1
bus mastering control:   yes
power management:        yes
throttling control:      yes
limit interface:         yes
gismo:/# cat /proc/acpi/processor/CPU1/limit
active limit:            P0:T0
user limit:              P0:T0
thermal limit:           P0:T0
gismo:/# cat /proc/acpi/processor/CPU1/power
active state:            C2
default state:           C1
bus master activity:     00000000
states:
   C1 [1]:               promotion[C2] demotion[--] latency[000] usage[00000010]
  *C2 [2]:               promotion[--] demotion[C1] latency[001] usage[00475240]
gismo:/# cat /proc/acpi/processor/CPU1/throttling
state count:             8
active state:            T0
states:
   *T0:                  00%
    T1:                  12%
    T2:                  25%
    T3:                  37%
    T4:                  50%
    T5:                  62%
    T6:                  75%
    T7:                  87%
=====
Quoted 1 line

or use the patch from Pavel, posted on the 28.02.2004, 17:10.

With Pavel's patch (posted 20040228 at 17:10) I get the same results.

Again the same results if I don't apply Bruno's patches about _CST methods for C4, with the exception of
=====

@gismo:/$ cat /proc/acpi/processor/CPU1/power
active state:            C2
default state:           C1
bus master activity:     00000000
states:
   C1:                  promotion[C2] demotion[--] latency[000] usage[00050830]
  *C2:                  promotion[--] demotion[C1] latency[099] usage[00350099]
   C3:                  <not supported>
=====

I re-read the thread 'ACPI C4 support' where Pavel posted his patch to allow 'pblk_length' of 7. I'm not an expert not a programmer, but from what I had read, it seems that:
- - Pavel's patch could be a good workaround, but Andrew Grover wouldn't avoid it
- - 'pblk_length' can have only 0 or 6 (7 is a bad value)
- - 'iasl' compiler (win32/20040220 and linux/20030918) doesn't recognize 'pblk_length' of 7 as a bad value (neither as a warning)

Now, my /simple/ question: should I modify my DSDT (as in the first case) or use Pavel's patch (as in the second) to avoid the 'pblk_length' error?

Thx, bye,
Gismo / Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org

iD4DBQFASL21VAp7Xm10JmkRAqtyAJihn4lDORPlekXeHzTJL8TfZB0YAJsE6iki DGM7jSfqkWAufDF82/Q8ig==
=gDrQ
-----END PGP SIGNATURE-----

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click

#20 lore raw
In reply to a message not in the archive
Quoted 8 lines · Luca Capello
Quoted 6 lines
Quoted 4 lines
Quoted 2 lines

I think also that the bios will only allow C2, not C3 nor C4 if you are on AC.

You're right, but even on battery I get only C1 & C2 (as from the attached).

Well, there is a stupid bug, I guess.

on the above 2.6.3 there're no changes, always C1 & C2 in battery mode and on AC. The same behaviour on 2.6.4-rc1 + ACPI 20040220 + your patches.

I updated that on bugzilla.

Could you please also send me the output of
/proc/acpi/processor/*/power
if that still fail on battery?

Thanks again for your time,

Signature · 11 lines
Bruno Ducrot

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
#22 lore raw
In reply to a message not in the archive

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

Quoted 10 lines · Bruno Ducrot
Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
Quoted 1 line

I think also that the bios will only allow C2, not C3 nor C4 if you are on AC.

You're right, but even on battery I get only C1 & C2 (as from the attached).

Well, there is a stupid bug, I guess.

on the above 2.6.3 there're no changes, always C1 & C2 in battery mode and on AC. The same behaviour on 2.6.4-rc1 + ACPI 20040220 + your patches.

I updated that on bugzilla.

thank you, I tried the new one on a fresh 2.6.3 + ACPI 20040220 + ACPI DSDT in initrd (so just the last patch and no more the old ones), but still the same on battery mode (only C1 & C2). With a fresh 2.6.4-rc1 + ACPI 20040220 nothing changes. The same results on AC mode and the 2.6.3 above.

Quoted 3 lines

Could you please also send me the output of
/proc/acpi/processor/*/power
if that still fail on battery?

Sure, here it is:
===== (2.6.3)

[email protected]:~$ dmesg | grep Processor
ACPI: Processor [CPU1] (supports C1 C2)
[email protected]:~$ cat /proc/acpi/processor/*/info
processor id:            0
acpi id:                 1
bus mastering control:   yes
power management:        yes
throttling control:      no
limit interface:         no
[email protected]:~$ cat /proc/acpi/processor/*/limit
<not supported>
[email protected]:~$ cat /proc/acpi/processor/*/power
active state:            C2
default state:           C1
bus master activity:     00000000
states:
    C1:         type[1] promotion[C2] demotion[--] latency[000] usage[00000010]
   *C2:         type[2] promotion[--] demotion[C1] latency[001] usage[00067837]
[email protected]:~$ cat /proc/acpi/processor/*/throttling
<not supported>

===== (2.6.4-rc1)

[email protected]:~$ dmesg | grep Processor
ACPI: Processor [CPU1] (supports C1 C2)
[email protected]:~$ cat /proc/acpi/processor/*/info
processor id:            0
acpi id:                 1
bus mastering control:   yes
power management:        yes
throttling control:      no
limit interface:         no
[email protected]:~$ cat /proc/acpi/processor/*/limit
<not supported>
[email protected]:~$ cat /proc/acpi/processor/*/power
active state:            C2
default state:           C1
bus master activity:     00000000
states:
    C1:         type[1] promotion[C2] demotion[--] latency[000] usage[00000010]
   *C2:         type[2] promotion[--] demotion[C1] latency[001] usage[00142674]
[email protected]:~$ cat /proc/acpi/processor/*/throttling
<not supported>
=====
Quoted 1 line

Thanks again for your time,

Once again, *I* should thank you :-)

Thx, bye,
Gismo / Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org

iD8DBQFASOErVAp7Xm10JmkRAh4BAJ98yHK8GuxBdEJCbelhJoEKBlBQKgCeKYBs /k0jX4ZkkjXml7njNaKZEts=
=GnKH
-----END PGP SIGNATURE-----

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click

#28 lore raw
In reply to a message not in the archive
Quoted 14 lines · Thomas Renninger
Quoted 4 lines · Thomas Renninger

Your machine supports the C4 state.
Change the P_BLK in your DSDT to 0x06

e.g.:

Quoted 8 lines
   Processor (\_PR.CPU0, 0x01, 0x00001010, 0x07)
to:
   Processor (\_PR.CPU0, 0x01, 0x00001010, 0x06)

or use the patch from Pavel, posted on the 28.02.2004, 17:10.

Unfortunately this won't enable the C4 state if you have one. What do mainters say about supporting Cn processor states in the future?

Quoted 7 lines

I am pretty sure this message will come up more often in future. Could it be that new mobile Intel processors support the C4 state -> therefore P_BLK = 0x07?

Pavel's patch is a workaround, setting P_BLK back to 6, but isn't it worth a critical bug for supporting Cn states,
as only supporting C0-C3 states offends the specification?

For FreeBSD, I took the approach that throttling requires P_BLK_LEN >= 4, C2 requires >= 5, and C3 requires >= 6. Systems with higher values will get C1-C3 but we will not support C4 on such systems. There are already plenty of valid systems with _CST out in the real world (i.e. IBM Centrino laptops) and so for someone to break the standard now is unacceptable. Users will get C1-C3 on broken systems, which is good enough.

-Nate

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click

#31 lore raw
In reply to a message not in the archive

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

I tried kernel 2.6.5-rc1 with a new BIOS 0206A, but still the same problem. It seems that Bruno's patches (which at least let me have C1 & C2) haven't been applied yet.

On the other hand, without Bruno's patches I get:
=====

gismo:~# cat /proc/acpi/processor/CPU1/*
processor id:            0
acpi id:                 1
bus mastering control:   yes
power management:        no
throttling control:      no
limit interface:         no
<not supported>
active state:            C1
default state:           C1
bus master activity:     00000000
states:
   *C1:                  promotion[--] demotion[--] latency[000] usage[00000000]
    C2:                  <not supported>
    C3:                  <not supported>
<not supported>
gismo:~#
=====

This output is the same if I use the original DSDT or a modified one to have battery support.

Question: with Bruno's patches, I never got C3 (neither the 'C3 <not supported>' message), so, could it be that my laptop doesn't support C3 but C4?

Attached the new DSDT from BIOS 0206A.

Thx, bye,
Gismo / Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org

iD8DBQFAXB0PVAp7Xm10JmkRAoEWAJ45t856zXKbUIy3GvtWvccmqp36gwCfXQLF R7Sgufi/xSxec77YWZLYhj4=
=93t0
-----END PGP SIGNATURE-----

#33 lore raw
In reply to a message not in the archive

Hi Luca,

With a little DSDT tweak I get the following output:

$ cat /proc/acpi/processor/CPU1/*
processor id:            0
acpi id:                 1
bus mastering control:   yes
power management:        yes
throttling control:      yes
limit interface:         yes
active limit:            P0:T0
user limit:              P0:T0
thermal limit:           P0:T0
active state:            C2
default state:           C1
bus master activity:     00000000
states:
    C1:                  promotion[C2] demotion[--] latency[000]
usage[00024090]
   *C2:                  promotion[--] demotion[C1] latency[099]
usage[00991232]
    C3:                  <not supported>
state count:             8
active state:            T0
states:
   *T0:                  00%
    T1:                  12%
    T2:                  25%
    T3:                  37%
    T4:                  50%
    T5:                  62%
    T6:                  75%
    T7:                  87%

The fix requires simply changing one value in the DSDT from:

Processor (CPU1, 0x01, 0x00000410, 0x07)

to:

Processor (CPU1, 0x01, 0x00000410, 0x06)

You can find more details on the forum I started dedicated to Linux on the M6N series laptops:

http://mrhammy2.ath.cx:81/forum/viewforum.php?f=1

-Herman

Quoted 44 lines · Luca Capello

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

I tried kernel 2.6.5-rc1 with a new BIOS 0206A, but still the same problem. It seems that Bruno's patches (which at least let me have C1 & C2) haven't been applied yet.

On the other hand, without Bruno's patches I get:
=====

gismo:~# cat /proc/acpi/processor/CPU1/*
processor id:            0
acpi id:                 1
bus mastering control:   yes
power management:        no
throttling control:      no
limit interface:         no
<not supported>
active state:            C1
default state:           C1
bus master activity:     00000000
states:
   *C1:                  promotion[--] demotion[--] latency[000] usage[00000000]
    C2:                  <not supported>
    C3:                  <not supported>
<not supported>
gismo:~#
=====

This output is the same if I use the original DSDT or a modified one to have battery support.

Question: with Bruno's patches, I never got C3 (neither the 'C3 <not supported>' message), so, could it be that my laptop doesn't support C3 but C4?

Attached the new DSDT from BIOS 0206A.

Thx, bye,
Gismo / Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org

Quoted 4 lines

iD8DBQFAXB0PVAp7Xm10JmkRAoEWAJ45t856zXKbUIy3GvtWvccmqp36gwCfXQLF R7Sgufi/xSxec77YWZLYhj4=
=93t0
-----END PGP SIGNATURE-----

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click

#35 lore raw
In reply to a message not in the archive

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

Quoted 1 line · Herman Sheremetyev

With a little DSDT tweak I get the following output:

<cut>

Quoted 7 lines

The fix requires simply changing one value in the DSDT from:

Processor (CPU1, 0x01, 0x00000410, 0x07)

to:

Processor (CPU1, 0x01, 0x00000410, 0x06)

this hack was already known

	http://sourceforge.net/mailarchive/message.php?msg_id=7451801

But the same can be achieved using Bruno Ducrot's at

	http://bugzilla.kernel.org/show_bug.cgi?id=1958

Please read the whole thread here

	http://sourceforge.net/mailarchive/message.php?msg_id=7451789

AFAIK Bruno's patches are a /cleaner/ solution, as you can have C1 & C2 without hacking your DSDT. On the other hand, it seems that our laptop support C4 state (via _CST), which is the final objective of Bruno's patches IIRC.

Thx, bye,
Gismo / Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org

iD8DBQFAXI/HVAp7Xm10JmkRAoieAJ9wkCvoWudcEGXu+Kq78AmqGkoYJQCfThQg H84lZKxoXpvApZHLilJkA9Y=
=iyHh
-----END PGP SIGNATURE-----

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click