forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'acpi-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kerne…
…l/git/rafael/linux-pm Pull ACPI updates from Rafael Wysocki: "These update the ACPICA code in the kernel to the 20180508 upstream revision and make it support the RT patch, add CPPC v3 support to the ACPI CPPC library, add a WDAT-based watchdog quirk to prevent clashes with the RTC, add quirks to the ACPI AC and battery drivers, and update the ACPI SoC drivers. Specifics: - Update the ACPICA code in the kernel to the 20180508 upstream revision including: * iASL -tc option enhancement (Bob Moore). * Debugger improvements (Bob Moore). * Support for tables larger than 1 MB in acpidump/acpixtract (Bob Moore). * Minor fixes and cleanups (Colin Ian King, Toomas Soome). - Make the ACPICA code in the kernel support the RT patch (Sebastian Andrzej Siewior, Steven Rostedt). - Add a kmemleak annotation to the ACPICA code (Larry Finger). - Add CPPC v3 support to the ACPI CPPC library and fix two issues related to CPPC (Prashanth Prakash, Al Stone). - Add an ACPI WDAT-based watchdog quirk to prefer iTCO_wdt on systems where WDAT clashes with the RTC SRAM (Mika Westerberg). - Add some quirks to the ACPI AC and battery drivers (Carlo Caione, Hans de Goede). - Update the ACPI SoC drivers for Intel (LPSS) and AMD (APD) platforms (Akshu Agrawal, Hans de Goede). - Fix up some assorted minor issues (Al Stone, Laszlo Toth, Mathieu Malaterre)" * tag 'acpi-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits) ACPICA: Mark acpi_ut_create_internal_object_dbg() memory allocations as non-leaks ACPI / watchdog: Prefer iTCO_wdt always when WDAT table uses RTC SRAM mailbox: PCC: erroneous error message when parsing ACPI PCCT ACPICA: Update version to 20180508 ACPICA: acpidump/acpixtract: Support for tables larger than 1MB ACPI: APD: Add AMD misc clock handler support clk: x86: Add ST oscout platform clock ACPICA: Update version to 20180427 ACPICA: Debugger: Removed direct support for EC address space in "Test Objects" ACPICA: Debugger: Add Package support for "test objects" command ACPICA: Improve error messages for the namespace root node ACPICA: Fix potential infinite loop in acpi_rs_dump_byte_list ACPICA: vsnprintf: this statement may fall through ACPICA: Tables: Fix spelling mistake in comment ACPICA: iASL: Enhance the -tc option (create AML hex file in C) ACPI: Add missing prototype_for arch_post_acpi_subsys_init() ACPI / tables: improve comments regarding acpi_parse_entries_array() ACPICA: Convert acpi_gbl_hardware lock back to an acpi_raw_spinlock ACPICA: provide abstraction for raw_spinlock_t ACPI / CPPC: Fix invalid PCC channel status errors ...
- Loading branch information
Showing
36 changed files
with
751 additions
and
194 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
|
||
Collaborative Processor Performance Control (CPPC) | ||
|
||
CPPC defined in the ACPI spec describes a mechanism for the OS to manage the | ||
performance of a logical processor on a contigious and abstract performance | ||
scale. CPPC exposes a set of registers to describe abstract performance scale, | ||
to request performance levels and to measure per-cpu delivered performance. | ||
|
||
For more details on CPPC please refer to the ACPI specification at: | ||
|
||
http://uefi.org/specifications | ||
|
||
Some of the CPPC registers are exposed via sysfs under: | ||
|
||
/sys/devices/system/cpu/cpuX/acpi_cppc/ | ||
|
||
for each cpu X | ||
|
||
-------------------------------------------------------------------------------- | ||
|
||
$ ls -lR /sys/devices/system/cpu/cpu0/acpi_cppc/ | ||
/sys/devices/system/cpu/cpu0/acpi_cppc/: | ||
total 0 | ||
-r--r--r-- 1 root root 65536 Mar 5 19:38 feedback_ctrs | ||
-r--r--r-- 1 root root 65536 Mar 5 19:38 highest_perf | ||
-r--r--r-- 1 root root 65536 Mar 5 19:38 lowest_freq | ||
-r--r--r-- 1 root root 65536 Mar 5 19:38 lowest_nonlinear_perf | ||
-r--r--r-- 1 root root 65536 Mar 5 19:38 lowest_perf | ||
-r--r--r-- 1 root root 65536 Mar 5 19:38 nominal_freq | ||
-r--r--r-- 1 root root 65536 Mar 5 19:38 nominal_perf | ||
-r--r--r-- 1 root root 65536 Mar 5 19:38 reference_perf | ||
-r--r--r-- 1 root root 65536 Mar 5 19:38 wraparound_time | ||
|
||
-------------------------------------------------------------------------------- | ||
|
||
* highest_perf : Highest performance of this processor (abstract scale). | ||
* nominal_perf : Highest sustained performance of this processor (abstract scale). | ||
* lowest_nonlinear_perf : Lowest performance of this processor with nonlinear | ||
power savings (abstract scale). | ||
* lowest_perf : Lowest performance of this processor (abstract scale). | ||
|
||
* lowest_freq : CPU frequency corresponding to lowest_perf (in MHz). | ||
* nominal_freq : CPU frequency corresponding to nominal_perf (in MHz). | ||
The above frequencies should only be used to report processor performance in | ||
freqency instead of abstract scale. These values should not be used for any | ||
functional decisions. | ||
|
||
* feedback_ctrs : Includes both Reference and delivered performance counter. | ||
Reference counter ticks up proportional to processor's reference performance. | ||
Delivered counter ticks up proportional to processor's delivered performance. | ||
* wraparound_time: Minimum time for the feedback counters to wraparound (seconds). | ||
* reference_perf : Performance level at which reference performance counter | ||
accumulates (abstract scale). | ||
|
||
-------------------------------------------------------------------------------- | ||
|
||
Computing Average Delivered Performance | ||
|
||
Below describes the steps to compute the average performance delivered by taking | ||
two different snapshots of feedback counters at time T1 and T2. | ||
|
||
T1: Read feedback_ctrs as fbc_t1 | ||
Wait or run some workload | ||
T2: Read feedback_ctrs as fbc_t2 | ||
|
||
delivered_counter_delta = fbc_t2[del] - fbc_t1[del] | ||
reference_counter_delta = fbc_t2[ref] - fbc_t1[ref] | ||
|
||
delivered_perf = (refernce_perf x delivered_counter_delta) / reference_counter_delta |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.