diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-12 19:06:51 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-12 19:06:51 -0500 |
| commit | b6fedfd2a18a489d31246312f7279f82e3cc6b37 (patch) | |
| tree | eeaac614f3bb97731dfd9d9614f87f006b651117 /drivers | |
| parent | c32da02342b7521df25fefc2ef20aee0e61cf887 (diff) | |
| parent | 30124d11097e371e42052144d8a3f4a78d26e09f (diff) | |
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
powerpc/booke: Fix breakpoint/watchpoint one-shot behavior
powerpc: Reduce printk from pseries_mach_cpu_die()
powerpc: Move checks in pseries_mach_cpu_die()
powerpc: Reset kernel stack on cpu online from cede state
powerpc: Fix G5 thermal shutdown
powerpc/pseries: Pass CPPR value to H_XIRR hcall
powerpc/booke: Fix a couple typos in the advanced ptrace code
powerpc: Fix SMP build with disabled CPU hotplugging.
powerpc: Dynamically allocate pacas
powerpc/perf: e500 support
powerpc/perf: Build callchain code regardless of hardware event support.
powerpc/cpm2: Checkpatch cleanup
powerpc/86xx: Renaming following split of GE Fanuc joint venture
powerpc/86xx: Convert gef_pic_lock to raw_spinlock
powerpc/qe: Convert qe_ic_lock to raw_spinlock
powerpc/82xx: Convert pci_pic_lock to raw_spinlock
powerpc/85xx: Convert socrates_fpga_pic_lock to raw_spinlock
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/macintosh/therm_pm72.c | 30 | ||||
| -rw-r--r-- | drivers/macintosh/therm_pm72.h | 2 |
2 files changed, 25 insertions, 7 deletions
diff --git a/drivers/macintosh/therm_pm72.c b/drivers/macintosh/therm_pm72.c index 5738d8bf2d9..921373e4e3a 100644 --- a/drivers/macintosh/therm_pm72.c +++ b/drivers/macintosh/therm_pm72.c | |||
| @@ -948,10 +948,16 @@ static void do_monitor_cpu_combined(void) | |||
| 948 | printk(KERN_WARNING "Warning ! Temperature way above maximum (%d) !\n", | 948 | printk(KERN_WARNING "Warning ! Temperature way above maximum (%d) !\n", |
| 949 | temp_combi >> 16); | 949 | temp_combi >> 16); |
| 950 | state0->overtemp += CPU_MAX_OVERTEMP / 4; | 950 | state0->overtemp += CPU_MAX_OVERTEMP / 4; |
| 951 | } else if (temp_combi > (state0->mpu.tmax << 16)) | 951 | } else if (temp_combi > (state0->mpu.tmax << 16)) { |
| 952 | state0->overtemp++; | 952 | state0->overtemp++; |
| 953 | else | 953 | printk(KERN_WARNING "Temperature %d above max %d. overtemp %d\n", |
| 954 | temp_combi >> 16, state0->mpu.tmax, state0->overtemp); | ||
| 955 | } else { | ||
| 956 | if (state0->overtemp) | ||
| 957 | printk(KERN_WARNING "Temperature back down to %d\n", | ||
| 958 | temp_combi >> 16); | ||
| 954 | state0->overtemp = 0; | 959 | state0->overtemp = 0; |
| 960 | } | ||
| 955 | if (state0->overtemp >= CPU_MAX_OVERTEMP) | 961 | if (state0->overtemp >= CPU_MAX_OVERTEMP) |
| 956 | critical_state = 1; | 962 | critical_state = 1; |
| 957 | if (state0->overtemp > 0) { | 963 | if (state0->overtemp > 0) { |
| @@ -1023,10 +1029,16 @@ static void do_monitor_cpu_split(struct cpu_pid_state *state) | |||
| 1023 | " (%d) !\n", | 1029 | " (%d) !\n", |
| 1024 | state->index, temp >> 16); | 1030 | state->index, temp >> 16); |
| 1025 | state->overtemp += CPU_MAX_OVERTEMP / 4; | 1031 | state->overtemp += CPU_MAX_OVERTEMP / 4; |
| 1026 | } else if (temp > (state->mpu.tmax << 16)) | 1032 | } else if (temp > (state->mpu.tmax << 16)) { |
| 1027 | state->overtemp++; | 1033 | state->overtemp++; |
| 1028 | else | 1034 | printk(KERN_WARNING "CPU %d temperature %d above max %d. overtemp %d\n", |
| 1035 | state->index, temp >> 16, state->mpu.tmax, state->overtemp); | ||
| 1036 | } else { | ||
| 1037 | if (state->overtemp) | ||
| 1038 | printk(KERN_WARNING "CPU %d temperature back down to %d\n", | ||
| 1039 | state->index, temp >> 16); | ||
| 1029 | state->overtemp = 0; | 1040 | state->overtemp = 0; |
| 1041 | } | ||
| 1030 | if (state->overtemp >= CPU_MAX_OVERTEMP) | 1042 | if (state->overtemp >= CPU_MAX_OVERTEMP) |
| 1031 | critical_state = 1; | 1043 | critical_state = 1; |
| 1032 | if (state->overtemp > 0) { | 1044 | if (state->overtemp > 0) { |
| @@ -1085,10 +1097,16 @@ static void do_monitor_cpu_rack(struct cpu_pid_state *state) | |||
| 1085 | " (%d) !\n", | 1097 | " (%d) !\n", |
| 1086 | state->index, temp >> 16); | 1098 | state->index, temp >> 16); |
| 1087 | state->overtemp = CPU_MAX_OVERTEMP / 4; | 1099 | state->overtemp = CPU_MAX_OVERTEMP / 4; |
| 1088 | } else if (temp > (state->mpu.tmax << 16)) | 1100 | } else if (temp > (state->mpu.tmax << 16)) { |
| 1089 | state->overtemp++; | 1101 | state->overtemp++; |
| 1090 | else | 1102 | printk(KERN_WARNING "CPU %d temperature %d above max %d. overtemp %d\n", |
| 1103 | state->index, temp >> 16, state->mpu.tmax, state->overtemp); | ||
| 1104 | } else { | ||
| 1105 | if (state->overtemp) | ||
| 1106 | printk(KERN_WARNING "CPU %d temperature back down to %d\n", | ||
| 1107 | state->index, temp >> 16); | ||
| 1091 | state->overtemp = 0; | 1108 | state->overtemp = 0; |
| 1109 | } | ||
| 1092 | if (state->overtemp >= CPU_MAX_OVERTEMP) | 1110 | if (state->overtemp >= CPU_MAX_OVERTEMP) |
| 1093 | critical_state = 1; | 1111 | critical_state = 1; |
| 1094 | if (state->overtemp > 0) { | 1112 | if (state->overtemp > 0) { |
diff --git a/drivers/macintosh/therm_pm72.h b/drivers/macintosh/therm_pm72.h index 393cc9df94e..df3680e2a22 100644 --- a/drivers/macintosh/therm_pm72.h +++ b/drivers/macintosh/therm_pm72.h | |||
| @@ -269,7 +269,7 @@ struct slots_pid_state | |||
| 269 | #define CPU_TEMP_HISTORY_SIZE 2 | 269 | #define CPU_TEMP_HISTORY_SIZE 2 |
| 270 | #define CPU_POWER_HISTORY_SIZE 10 | 270 | #define CPU_POWER_HISTORY_SIZE 10 |
| 271 | #define CPU_PID_INTERVAL 1 | 271 | #define CPU_PID_INTERVAL 1 |
| 272 | #define CPU_MAX_OVERTEMP 30 | 272 | #define CPU_MAX_OVERTEMP 90 |
| 273 | 273 | ||
| 274 | #define CPUA_PUMP_RPM_INDEX 7 | 274 | #define CPUA_PUMP_RPM_INDEX 7 |
| 275 | #define CPUB_PUMP_RPM_INDEX 8 | 275 | #define CPUB_PUMP_RPM_INDEX 8 |
