[ltp] [patch 11/12][2.6.18] ibm-acpi: workaround for EC 0x2f initialization bug

Henrique de Moraes Holschuh linux-thinkpad@linux-thinkpad.org
Mon, 23 Oct 2006 21:10:34 -0300


On Tue, 24 Oct 2006, Shem Multinymous wrote:
> I mean you can leave it as "unknown", and if anyone's sufficiently
> annoyed he write a boot script that checks the temperatures and resets
> the fan speed.

Ok.

> How about this conservative but more useful variant?
> If the fan level register reads 0x07, don't touch it (it's either a
> DSDT emergency, or the boot bug, or a someone who's doing manual
> control anyway and can run "level auto" instead).
> Otherwise set it to 0x80.

I could make it "if it is zero, set it to 0x80, otherwise leave it alone",
and change the watchdog to do a level 7 always...  Sounds even better, what
do you think?  The semanthics for enable is "make sure it is on" anyway, and
the watchdog is for safety, not comfort.

> >Just a note: I am not sure *any* of the thermal conditioning code in the
> >DSDT is active under Linux for the T43.  Almost all of it seems to depend 
> >on
> >stuff that gets set depending on the version of *windows*, and not much of
> >it has "else" clauses that get run on Linux!
> 
> Yikes! Running the EC on code paths nobody has looked at is rather 
> disturbing.

Well, I don't know about "nobody has looked over", but I sure hope these
codepaths in the DSDT don't do anything important... and that IBM frigging
tested the EC fan control loop properly before they started messing with it
to lessen the noise.

I am not about to test it (someone who wants, can do so. Heat up one of the
thermal sensors to 80C and see what happens, but be careful not to heat much
else other than the thermal sensor!).

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh