ACPI C-states not working properly

Johannes Hofmann johannes.hofmann at gmx.de
Fri Nov 13 14:11:00 PST 2009


Hi,

after the recent ACPI update, setting hw.acpi.cpu.cx_lowest=C3 caused
clock interrupt issues on my ThinkPad X60.
This is because the special handling that sets the clock interrupt
source to i8254 when C3 is enabled was no longer working. The type
field of struct acpi_cx in acpi_cpu_cstate.c was overwritten due to a
typo. The patch below fixes the issue.

Cheers,
Johannes


diff --git a/sys/dev/acpica5/acpi_cpu_cstate.c b/sys/dev/acpica5/acpi_cpu_cstate.c
index 21b9b92..2113f22 100644
--- a/sys/dev/acpica5/acpi_cpu_cstate.c
+++ b/sys/dev/acpica5/acpi_cpu_cstate.c
@@ -641,7 +641,7 @@ acpi_cpu_cx_cst(struct acpi_cpu_softc *sc)
 
 	/* Allocate the control register for C2 or C3. */
 	cx_ptr->rid = sc->cpu_parent->cpux_next_rid;
-	acpi_PkgGas(sc->cpu_dev, pkg, 0, &cx_ptr->type, &cx_ptr->rid, &cx_ptr->p_lvlx,
+	acpi_PkgGas(sc->cpu_dev, pkg, 0, &cx_ptr->res_type, &cx_ptr->rid, &cx_ptr->p_lvlx,
 		    RF_SHAREABLE);
 	if (cx_ptr->p_lvlx) {
 	    sc->cpu_parent->cpux_next_rid++;





More information about the Bugs mailing list