Module Name: src
Committed By: jruoho
Date: Sun Aug 15 08:53:19 UTC 2010
Modified Files:
src/sys/dev/acpi: acpi_cpu_cstate.c acpi_cpu_tstate.c
Log Message:
Add comments and raise the minimum allowed T-state duty width to 10 %.
To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/sys/dev/acpi/acpi_cpu_cstate.c
cvs rdiff -u -r1.8 -r1.9 src/sys/dev/acpi/acpi_cpu_tstate.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/acpi/acpi_cpu_cstate.c
diff -u src/sys/dev/acpi/acpi_cpu_cstate.c:1.27 src/sys/dev/acpi/acpi_cpu_cstate.c:1.28
--- src/sys/dev/acpi/acpi_cpu_cstate.c:1.27 Sat Aug 14 17:27:34 2010
+++ src/sys/dev/acpi/acpi_cpu_cstate.c Sun Aug 15 08:53:19 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_cpu_cstate.c,v 1.27 2010/08/14 17:27:34 jruoho Exp $ */
+/* $NetBSD: acpi_cpu_cstate.c,v 1.28 2010/08/15 08:53:19 jruoho Exp $ */
/*-
* Copyright (c) 2010 Jukka Ruohonen <[email protected]>
@@ -27,7 +27,7 @@
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_cstate.c,v 1.27 2010/08/14 17:27:34 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_cstate.c,v 1.28 2010/08/15 08:53:19 jruoho Exp $");
#include <sys/param.h>
#include <sys/cpu.h>
@@ -568,7 +568,6 @@
/*
* The P_BLK length should always be 6. If it
* is not, reduce functionality accordingly.
- * Sanity check also FADT's latency levels.
*/
if (sc->sc_object.ao_pblklen < 5)
cs[ACPI_STATE_C2].cs_method = 0;
@@ -576,6 +575,11 @@
if (sc->sc_object.ao_pblklen < 6)
cs[ACPI_STATE_C3].cs_method = 0;
+ /*
+ * Sanity check the latency levels in FADT.
+ * Values above the thresholds are used to
+ * inform that C-states are not supported.
+ */
CTASSERT(ACPICPU_C_C2_LATENCY_MAX == 100);
CTASSERT(ACPICPU_C_C3_LATENCY_MAX == 1000);
Index: src/sys/dev/acpi/acpi_cpu_tstate.c
diff -u src/sys/dev/acpi/acpi_cpu_tstate.c:1.8 src/sys/dev/acpi/acpi_cpu_tstate.c:1.9
--- src/sys/dev/acpi/acpi_cpu_tstate.c:1.8 Sun Aug 15 04:35:16 2010
+++ src/sys/dev/acpi/acpi_cpu_tstate.c Sun Aug 15 08:53:19 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_cpu_tstate.c,v 1.8 2010/08/15 04:35:16 jruoho Exp $ */
+/* $NetBSD: acpi_cpu_tstate.c,v 1.9 2010/08/15 08:53:19 jruoho Exp $ */
/*-
* Copyright (c) 2010 Jukka Ruohonen <[email protected]>
@@ -27,7 +27,7 @@
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_tstate.c,v 1.8 2010/08/15 04:35:16 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_tstate.c,v 1.9 2010/08/15 08:53:19 jruoho Exp $");
#include <sys/param.h>
#include <sys/evcnt.h>
@@ -399,7 +399,10 @@
for (i = 0; i < 5; i++, p++)
*p = val[i];
- if (ts->ts_percent < 1 || ts->ts_percent > 100)
+ /*
+ * The minimum should be around 100 / 8 = 12.5 %.
+ */
+ if (ts->ts_percent < 10 || ts->ts_percent > 100)
return AE_BAD_DECIMAL_CONSTANT;
if (ts->ts_latency < 1)
@@ -519,6 +522,10 @@
if (sc->sc_object.ao_pblkaddr == 0)
return AE_AML_ILLEGAL_ADDRESS;
+ /*
+ * A zero DUTY_WIDTH is used announce that
+ * T-states are not available via FADT.
+ */
if (width == 0 || width + offset > 4)
return AE_AML_BAD_RESOURCE_VALUE;