initial value of tz_active
Andriy Gapon
avg at icyb.net.ua
Wed Apr 23 22:37:45 UTC 2008
on 23/04/2008 22:46 Nate Lawson said the following:
> Andriy Gapon wrote:
>> It seems that tz_active (in acpi_thermal) is initialized to NONE/-1.
>> I don't have a patch, but I have an idea - acpi_thermal should query
>> current power state of fans and set tz_active based on that.
>> For example, some systems start up with all fans turned on (at full
>> speed) for safety reasons, acpi_thermal sees that temperature is low
>> enough, it thinks/assumes that no fan is active, so it doesn't change AC
>> level, so in reality AC0 is always in effect.
>
> Good point. I think there should be a "first_time" static that is set
> on boot. Once acpi_thermal decides to turn some fans on or off,
> first_time is set. Until it has been set, all fan control is actually
> performed, regardless of tz_active. After it is set, we can depend on
> tz_active as before.
>
> The reason we can't just read the fan status and initialize tz_active
> accordingly is that some ASL doesn't return the real value of the fans.
> It just returns a hard-coded value. On many systems, it does return
> the real value but if even one system is wrong, we can't trust any of them.
>
I agree - this is a better approach.
On a technical level - maybe use TZ_ACTIVE_UNKNOWN=-2 instead of a new
variable.
I'll try to work on this somewhere in the middle of May.
--
Andriy Gapon
More information about the freebsd-acpi
mailing list