Kyle Swenson | 8d8f654 | 2021-03-15 11:02:55 -0600 | [diff] [blame^] | 1 | Kernel driver power_meter |
| 2 | ========================= |
| 3 | |
| 4 | This driver talks to ACPI 4.0 power meters. |
| 5 | |
| 6 | Supported systems: |
| 7 | * Any recent system with ACPI 4.0. |
| 8 | Prefix: 'power_meter' |
| 9 | Datasheet: http://acpi.info/, section 10.4. |
| 10 | |
| 11 | Author: Darrick J. Wong |
| 12 | |
| 13 | Description |
| 14 | ----------- |
| 15 | |
| 16 | This driver implements sensor reading support for the power meters exposed in |
| 17 | the ACPI 4.0 spec (Chapter 10.4). These devices have a simple set of |
| 18 | features--a power meter that returns average power use over a configurable |
| 19 | interval, an optional capping mechanism, and a couple of trip points. The |
| 20 | sysfs interface conforms with the specification outlined in the "Power" section |
| 21 | of Documentation/hwmon/sysfs-interface. |
| 22 | |
| 23 | Special Features |
| 24 | ---------------- |
| 25 | |
| 26 | The power[1-*]_is_battery knob indicates if the power supply is a battery. |
| 27 | Both power[1-*]_average_{min,max} must be set before the trip points will work. |
| 28 | When both of them are set, an ACPI event will be broadcast on the ACPI netlink |
| 29 | socket and a poll notification will be sent to the appropriate |
| 30 | power[1-*]_average sysfs file. |
| 31 | |
| 32 | The power[1-*]_{model_number, serial_number, oem_info} fields display arbitrary |
| 33 | strings that ACPI provides with the meter. The measures/ directory contains |
| 34 | symlinks to the devices that this meter measures. |
| 35 | |
| 36 | Some computers have the ability to enforce a power cap in hardware. If this is |
| 37 | the case, the power[1-*]_cap and related sysfs files will appear. When the |
| 38 | average power consumption exceeds the cap, an ACPI event will be broadcast on |
| 39 | the netlink event socket and a poll notification will be sent to the |
| 40 | appropriate power[1-*]_alarm file to indicate that capping has begun, and the |
| 41 | hardware has taken action to reduce power consumption. Most likely this will |
| 42 | result in reduced performance. |
| 43 | |
| 44 | There are a few other ACPI notifications that can be sent by the firmware. In |
| 45 | all cases the ACPI event will be broadcast on the ACPI netlink event socket as |
| 46 | well as sent as a poll notification to a sysfs file. The events are as |
| 47 | follows: |
| 48 | |
| 49 | power[1-*]_cap will be notified if the firmware changes the power cap. |
| 50 | power[1-*]_interval will be notified if the firmware changes the averaging |
| 51 | interval. |