Module Name: src Committed By: jruoho Date: Fri Aug 20 04:16:00 UTC 2010
Modified Files: src/sys/dev/acpi: acpi_cpu_pstate.c acpi_cpu_tstate.c Log Message: Check the cached value also when setting a state. To generate a diff of this commit: cvs rdiff -u -r1.30 -r1.31 src/sys/dev/acpi/acpi_cpu_pstate.c cvs rdiff -u -r1.14 -r1.15 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_pstate.c diff -u src/sys/dev/acpi/acpi_cpu_pstate.c:1.30 src/sys/dev/acpi/acpi_cpu_pstate.c:1.31 --- src/sys/dev/acpi/acpi_cpu_pstate.c:1.30 Wed Aug 18 18:32:20 2010 +++ src/sys/dev/acpi/acpi_cpu_pstate.c Fri Aug 20 04:16:00 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: acpi_cpu_pstate.c,v 1.30 2010/08/18 18:32:20 jruoho Exp $ */ +/* $NetBSD: acpi_cpu_pstate.c,v 1.31 2010/08/20 04:16:00 jruoho Exp $ */ /*- * Copyright (c) 2010 Jukka Ruohonen <jruoho...@iki.fi> @@ -27,7 +27,7 @@ * SUCH DAMAGE. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_pstate.c,v 1.30 2010/08/18 18:32:20 jruoho Exp $"); +__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_pstate.c,v 1.31 2010/08/20 04:16:00 jruoho Exp $"); #include <sys/param.h> #include <sys/evcnt.h> @@ -978,6 +978,11 @@ mutex_enter(&sc->sc_mtx); + if (sc->sc_pstate_current == freq) { + mutex_exit(&sc->sc_mtx); + return 0; + } + for (i = sc->sc_pstate_max; i <= sc->sc_pstate_min; i++) { if (sc->sc_pstate[i].ps_freq == 0) Index: src/sys/dev/acpi/acpi_cpu_tstate.c diff -u src/sys/dev/acpi/acpi_cpu_tstate.c:1.14 src/sys/dev/acpi/acpi_cpu_tstate.c:1.15 --- src/sys/dev/acpi/acpi_cpu_tstate.c:1.14 Tue Aug 17 10:57:30 2010 +++ src/sys/dev/acpi/acpi_cpu_tstate.c Fri Aug 20 04:16:00 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: acpi_cpu_tstate.c,v 1.14 2010/08/17 10:57:30 jruoho Exp $ */ +/* $NetBSD: acpi_cpu_tstate.c,v 1.15 2010/08/20 04:16:00 jruoho Exp $ */ /*- * Copyright (c) 2010 Jukka Ruohonen <jruoho...@iki.fi> @@ -27,7 +27,7 @@ * SUCH DAMAGE. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_tstate.c,v 1.14 2010/08/17 10:57:30 jruoho Exp $"); +__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_tstate.c,v 1.15 2010/08/20 04:16:00 jruoho Exp $"); #include <sys/param.h> #include <sys/evcnt.h> @@ -750,6 +750,11 @@ mutex_enter(&sc->sc_mtx); + if (sc->sc_tstate_current == percent) { + mutex_exit(&sc->sc_mtx); + return 0; + } + for (i = sc->sc_tstate_max; i <= sc->sc_tstate_min; i++) { if (sc->sc_tstate[i].ts_percent == 0)