From 7da22d0dfcdbcba950dcc1192641b1da0f953769 Mon Sep 17 00:00:00 2001 From: nwhitehorn Date: Wed, 10 Nov 2010 20:28:10 +0000 Subject: [PATCH] Entering deep nap mode on the 970MP requires that both MSR[NAP] and MSR[DEEPNAP] be set, not just MSR[DEEPNAP]. Fixing this reduces the idle temperature of my CPUs from 57 to 38 degrees and makes one-shot timer mode work properly. Hint from: mav MFC after: 4 days --- sys/powerpc/powerpc/cpu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/powerpc/powerpc/cpu.c b/sys/powerpc/powerpc/cpu.c index 86fd3234f8fe..4bbfcac82bbe 100644 --- a/sys/powerpc/powerpc/cpu.c +++ b/sys/powerpc/powerpc/cpu.c @@ -455,8 +455,8 @@ cpu_970_setup(int cpuid, uint16_t vers) /* Configure power-saving mode */ switch (vers) { case IBM970MP: - hid0_hi |= (HID0_DEEPNAP | HID0_DPM); - hid0_hi &= ~(HID0_DOZE | HID0_NAP); + hid0_hi |= (HID0_DEEPNAP | HID0_NAP | HID0_DPM); + hid0_hi &= ~HID0_DOZE; break; default: hid0_hi |= (HID0_NAP | HID0_DPM);