Message ID | 200908302054.20498.bzolnier@gmail.com (mailing list archive) |
---|---|
State | Accepted, archived |
Commit | b8e4a7dae53760b9791aca96e74366078692d90f |
Delegated to: | Benjamin Herrenschmidt |
Headers | show |
On Sun, 2009-08-30 at 20:54 +0200, Bartlomiej Zolnierkiewicz wrote: > From: Lyonel Vincent <lyonel@ezix.org> > Subject: [PATCH] powermac: thermal control turns system off in normal temperature conditions > > On certain PowerMacs, a module (therm_windtunnel) controls various > thermal settings (it can report CPU/case temperature, change speed > of internal fans, etc.) > > By default, the hardware thermal control has a temperature limit to > protect the computer from damages (the default limit seems to be 80°C) > but therm_windtunnel.c reduces it to an anormaly low value (65°C), > which means that he computer will shut down randomly when hit by direct > sun light or during summer (summer in France can be quite hot), actually > possibly losing data instead of protecting it. > > The overheat limit in therm_windtunnel.c:253-254 should be set to 75°C > and 70°C instead of 65°C and 60°C respectively. Looks reasonable, thanks. Ben. > From: Lyonel Vincent <lyonel@ezix.org> > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> > --- > Resurrected from Fedora's bugzilla (aka The Big Black Hole): > https://bugzilla.redhat.com/show_bug.cgi?id=171937 > > The patch itself seems perfectly valid to me > (especially given comments in therm_windtunnel.c). > > drivers/macintosh/therm_windtunnel.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > Index: b/drivers/macintosh/therm_windtunnel.c > =================================================================== > --- a/drivers/macintosh/therm_windtunnel.c > +++ b/drivers/macintosh/therm_windtunnel.c > @@ -239,8 +239,8 @@ setup_hardware( void ) > * to be on the safe side (OSX doesn't)... > */ > if( x.overheat_temp == (80 << 8) ) { > - x.overheat_temp = 65 << 8; > - x.overheat_hyst = 60 << 8; > + x.overheat_temp = 75 << 8; > + x.overheat_hyst = 70 << 8; > write_reg( x.thermostat, 2, x.overheat_hyst, 2 ); > write_reg( x.thermostat, 3, x.overheat_temp, 2 ); >
Hello! First: I'm just a user. And I hope I don't cause disturbance. I've read about this when I was setting up Linux on my Power Mac G4 MDD about two years ago and I remember reading that the temperature might be reported falsely. The original author reduced the limits to be on the safe side. While Mac OS X seems to push the allowed temperature more to the limits, it could still be fatal to trust the reported temperatures. My machine had the same shut-downs due to temperature at first. Since my MDD was quite a few years old when I got it I cleaned the CPUs and used new thermal compound with the original heatsink. This fixed the "overheat" issue for me. Sorry to interrupt, Andreas aka Linux User #330250 ---------- Original message ---------- Subject: [PATCH] powermac: thermal control turns system off in normal temperature conditions Date: Sonntag, 30. August 2009N From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> To: Benjamin Herrenschmidt <benh@kernel.crashing.org> > From: Lyonel Vincent <lyonel@ezix.org> > Subject: [PATCH] powermac: thermal control turns system off in normal > temperature conditions > > On certain PowerMacs, a module (therm_windtunnel) controls various > thermal settings (it can report CPU/case temperature, change speed > of internal fans, etc.) > > By default, the hardware thermal control has a temperature limit to > protect the computer from damages (the default limit seems to be 80°C) > but therm_windtunnel.c reduces it to an anormaly low value (65°C), > which means that he computer will shut down randomly when hit by direct > sun light or during summer (summer in France can be quite hot), actually > possibly losing data instead of protecting it. > > The overheat limit in therm_windtunnel.c:253-254 should be set to 75°C > and 70°C instead of 65°C and 60°C respectively. > > From: Lyonel Vincent <lyonel@ezix.org> > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> > --- > Resurrected from Fedora's bugzilla (aka The Big Black Hole): > https://bugzilla.redhat.com/show_bug.cgi?id=171937 > > The patch itself seems perfectly valid to me > (especially given comments in therm_windtunnel.c). > > drivers/macintosh/therm_windtunnel.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > Index: b/drivers/macintosh/therm_windtunnel.c > =================================================================== > --- a/drivers/macintosh/therm_windtunnel.c > +++ b/drivers/macintosh/therm_windtunnel.c > @@ -239,8 +239,8 @@ setup_hardware( void ) > * to be on the safe side (OSX doesn't)... > */ > if( x.overheat_temp == (80 << 8) ) { > - x.overheat_temp = 65 << 8; > - x.overheat_hyst = 60 << 8; > + x.overheat_temp = 75 << 8; > + x.overheat_hyst = 70 << 8; > write_reg( x.thermostat, 2, x.overheat_hyst, 2 ); > write_reg( x.thermostat, 3, x.overheat_temp, 2 );
On Mon, 2009-08-31 at 11:25 +0200, Linux User #330250 wrote: > Hello! > > First: I'm just a user. And I hope I don't cause disturbance. > > I've read about this when I was setting up Linux on my Power Mac G4 MDD about > two years ago and I remember reading that the temperature might be reported > falsely. The original author reduced the limits to be on the safe side. > > While Mac OS X seems to push the allowed temperature more to the limits, it > could still be fatal to trust the reported temperatures. > > > My machine had the same shut-downs due to temperature at first. Since my MDD > was quite a few years old when I got it I cleaned the CPUs and used new > thermal compound with the original heatsink. This fixed the "overheat" issue > for me. Thanks. I think pushing them a bit like this patch does still remains within reasonably safe limits though. The CPU should cope with more hopefully :-) But yeah, cleaning up the dust is definitely a good idea :-) Cheers, Ben. > > Sorry to interrupt, > Andreas aka Linux User #330250 > > > > ---------- Original message ---------- > Subject: [PATCH] powermac: thermal control turns system off in normal > temperature conditions > Date: Sonntag, 30. August 2009N > From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> > To: Benjamin Herrenschmidt <benh@kernel.crashing.org> > > > From: Lyonel Vincent <lyonel@ezix.org> > > Subject: [PATCH] powermac: thermal control turns system off in normal > > temperature conditions > > > > On certain PowerMacs, a module (therm_windtunnel) controls various > > thermal settings (it can report CPU/case temperature, change speed > > of internal fans, etc.) > > > > By default, the hardware thermal control has a temperature limit to > > protect the computer from damages (the default limit seems to be 80°C) > > but therm_windtunnel.c reduces it to an anormaly low value (65°C), > > which means that he computer will shut down randomly when hit by direct > > sun light or during summer (summer in France can be quite hot), actually > > possibly losing data instead of protecting it. > > > > The overheat limit in therm_windtunnel.c:253-254 should be set to 75°C > > and 70°C instead of 65°C and 60°C respectively. > > > > From: Lyonel Vincent <lyonel@ezix.org> > > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> > > --- > > Resurrected from Fedora's bugzilla (aka The Big Black Hole): > > https://bugzilla.redhat.com/show_bug.cgi?id=171937 > > > > The patch itself seems perfectly valid to me > > (especially given comments in therm_windtunnel.c). > > > > drivers/macintosh/therm_windtunnel.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > Index: b/drivers/macintosh/therm_windtunnel.c > > =================================================================== > > --- a/drivers/macintosh/therm_windtunnel.c > > +++ b/drivers/macintosh/therm_windtunnel.c > > @@ -239,8 +239,8 @@ setup_hardware( void ) > > * to be on the safe side (OSX doesn't)... > > */ > > if( x.overheat_temp == (80 << 8) ) { > > - x.overheat_temp = 65 << 8; > > - x.overheat_hyst = 60 << 8; > > + x.overheat_temp = 75 << 8; > > + x.overheat_hyst = 70 << 8; > > write_reg( x.thermostat, 2, x.overheat_hyst, 2 ); > > write_reg( x.thermostat, 3, x.overheat_temp, 2 );
Index: b/drivers/macintosh/therm_windtunnel.c =================================================================== --- a/drivers/macintosh/therm_windtunnel.c +++ b/drivers/macintosh/therm_windtunnel.c @@ -239,8 +239,8 @@ setup_hardware( void ) * to be on the safe side (OSX doesn't)... */ if( x.overheat_temp == (80 << 8) ) { - x.overheat_temp = 65 << 8; - x.overheat_hyst = 60 << 8; + x.overheat_temp = 75 << 8; + x.overheat_hyst = 70 << 8; write_reg( x.thermostat, 2, x.overheat_hyst, 2 ); write_reg( x.thermostat, 3, x.overheat_temp, 2 );