aboutsummaryrefslogtreecommitdiff
path: root/sys/powerpc/cpufreq/pcr.c
diff options
context:
space:
mode:
authorNathan Whitehorn <nwhitehorn@FreeBSD.org>2010-05-16 15:21:13 +0000
committerNathan Whitehorn <nwhitehorn@FreeBSD.org>2010-05-16 15:21:13 +0000
commitc59bb3ff62c097c5fc90a33aff2247fc35c831da (patch)
tree7eb6cb4238dbac69dc86990a9bd3402de4d3a445 /sys/powerpc/cpufreq/pcr.c
parentca2c19312e5e03ab79f51b121a7788dcd9f276c7 (diff)
downloadsrc-c59bb3ff62c097c5fc90a33aff2247fc35c831da.tar.gz
src-c59bb3ff62c097c5fc90a33aff2247fc35c831da.zip
On SMP G5 systems, sometimes the power-mode-data property is only found
on CPU 0, so look there if it is not otherwise available.
Notes
Notes: svn path=/head/; revision=208150
Diffstat (limited to 'sys/powerpc/cpufreq/pcr.c')
-rw-r--r--sys/powerpc/cpufreq/pcr.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/powerpc/cpufreq/pcr.c b/sys/powerpc/cpufreq/pcr.c
index 5dacaaae3db4..08e9a33aade7 100644
--- a/sys/powerpc/cpufreq/pcr.c
+++ b/sys/powerpc/cpufreq/pcr.c
@@ -202,6 +202,11 @@ pcr_attach(device_t dev)
return (ENXIO);
}
+ if (OF_getproplen(cpu, "power-mode-data") <= 0) {
+ /* Use the first CPU's node */
+ cpu = OF_child(OF_parent(cpu));
+ }
+
/*
* Collect the PCR values for each mode from the device tree.
* These include bus timing information, and so cannot be