We really should not add code that aims to satisfy some oddball firmware,
not in the generic drivers that aim to comply with the specifications.
In the long-term this is even worse than quirk tables.
detachment routine for acpitz(4). Add comments explaining the relationship
between power resources and active cooling. Also some improvements to code
readability.
The old code served us well, but a major overhaul would have been needed for
it to cope with the increased demands of the code -- and the specifications.
ok jmcneill@, pgoyette@
<dev/acpi/acpivar.h>. Ditto for <dev/sysmon/sysmonvar.h>, <sys/bus.h>,
<dev/pci/pcivar.h>, and <dev/isa/isavar.h>.
Also nuke a lot of unused and invalid headers. Some of these are audibly
provided by standard headers (namely <sys/param.h> and <sys/device.h>), some
have nothing to do with ACPI devices (e.g. <sys/syslog.h>), and some are
nonexistent local includes (e.g. "mpu_ym.h"). Moreoever, try to group the
includes into their respective blocks.
Tested with GENERIC and ALL (i386). No functional change.
device's active cooling levels prevents the user from overriding these
limits with his own values.
XXX We should probably also change setting SCRITOVER state to SCRITICAL,
XXX but right now that just confuses things. We currently don't have a
XXX way for a sensor to be both SCRITICAL and SCRITOVER.
should store the value in the correct location. We're already setting
the correct flag bit.
Should resolve problem reported by Frank Wille on current-users...
HP Pavillion dv9700 laptop features a fan sensor
in the ACPI Thermal Zone which is beyond of the ACPI
Spec.
envstat shows
[acpitz0]
Processor Thermal Zone: 56.000 95.000 degC
FAN: 2840 RPM
envstat -W shows the limits
[acpitz0]
Processor Thermal Zone: 55.000 degC
FAN: 2570 4500 2000 RPM
Patch presented on tech-kern@.
No comments.
driver was updated to sysmon_envsys V2; a simple_lock was turned into
a mutex. But the only code that ever used the simple_lock was removed
so the mutex can also be removed.
Noticed by njoly@
1. ENVSYS_WARNOVER event is generated whenever any active cooling level
is exceeded.
2. ENVSYS_CRITOVER event is generated whenever _HOT limit is exceeded;
if the _HOT limit is not defined, then ENVSYS_CRITOVER will be
generated when the _CRT limit is exceeded.
3. For Passive Cooling Only mode, there will be no change in behavior.
Additionally, since there are specific actions taken at each of the Active
Cooling Levels (powering parts of a zone on or off), and the limits are not
user-programmable,
4. The {warn,crit}{min,max} threshold levels will be specified only
by the device itself; event reporting thresholds may not be set
from userland.
No comments received for two weeks after proposing these changes on both
current-users@ and tech-kern@
All Reference Objects returned via the AcpiEvaluateObject interface are now
marked as type "REFERENCE" instead of "ANY". The type ANY is now reserved for
NULL objects - either NULL package elements or unresolved named references.
http://mail-index.netbsd.org/tech-kern/2007/11/09/0001.html
sysmon_envsys_create() and sysmon_envsys_destroy() were added to
create/destroy sysmon_envsys objects (and its TAILQ/LIST for sensors/events).
sysmon_envsys_sensor_attach() and sysmon_envsys_sensor_detach() were
added to attach/detach sensors to a specified sysmon_envsys device.
The events framework is now per device and configurable via the
ENVSYS_SETDICTIONARY ioctl or /etc/envsys.conf and envstat(8).
Update all users and documentation to reflect these changes.