diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-20 14:26:56 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-20 14:26:56 -0500 |
commit | 8793422fd9ac5037f5047f80473007301df3689f (patch) | |
tree | f5aa3b3a564f053e1b5604c45db80193abc734a4 /Documentation | |
parent | b3cdda2b4f541439ca4205793040aa2e1c852e3b (diff) | |
parent | 10baf04e95fbf7eb6089410220a547211dd2ffa7 (diff) |
Merge tag 'pm+acpi-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI and power management updates from Rafael Wysocki:
- Rework of the ACPI namespace scanning code from Rafael J. Wysocki
with contributions from Bjorn Helgaas, Jiang Liu, Mika Westerberg,
Toshi Kani, and Yinghai Lu.
- ACPI power resources handling and ACPI device PM update from Rafael
J Wysocki.
- ACPICA update to version 20130117 from Bob Moore and Lv Zheng with
contributions from Aaron Lu, Chao Guan, Jesper Juhl, and Tim Gardner.
- Support for Intel Lynxpoint LPSS from Mika Westerberg.
- cpuidle update from Len Brown including Intel Haswell support, C1
state for intel_idle, removal of global pm_idle.
- cpuidle fixes and cleanups from Daniel Lezcano.
- cpufreq fixes and cleanups from Viresh Kumar and Fabio Baltieri with
contributions from Stratos Karafotis and Rickard Andersson.
- Intel P-states driver for Sandy Bridge processors from Dirk
Brandewie.
- cpufreq driver for Marvell Kirkwood SoCs from Andrew Lunn.
- cpufreq fixes related to ordering issues between acpi-cpufreq and
powernow-k8 from Borislav Petkov and Matthew Garrett.
- cpufreq support for Calxeda Highbank processors from Mark Langsdorf
and Rob Herring.
- cpufreq driver for the Freescale i.MX6Q SoC and cpufreq-cpu0 update
from Shawn Guo.
- cpufreq Exynos fixes and cleanups from Jonghwan Choi, Sachin Kamat,
and Inderpal Singh.
- Support for "lightweight suspend" from Zhang Rui.
- Removal of the deprecated power trace API from Paul Gortmaker.
- Assorted updates from Andreas Fleig, Colin Ian King, Davidlohr Bueso,
Joseph Salisbury, Kees Cook, Li Fei, Nishanth Menon, ShuoX Liu,
Srinivas Pandruvada, Tejun Heo, Thomas Renninger, and Yasuaki
Ishimatsu.
* tag 'pm+acpi-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (267 commits)
PM idle: remove global declaration of pm_idle
unicore32 idle: delete stray pm_idle comment
openrisc idle: delete pm_idle
mn10300 idle: delete pm_idle
microblaze idle: delete pm_idle
m32r idle: delete pm_idle, and other dead idle code
ia64 idle: delete pm_idle
cris idle: delete idle and pm_idle
ARM64 idle: delete pm_idle
ARM idle: delete pm_idle
blackfin idle: delete pm_idle
sparc idle: rename pm_idle to sparc_idle
sh idle: rename global pm_idle to static sh_idle
x86 idle: rename global pm_idle to static x86_idle
APM idle: register apm_cpu_idle via cpuidle
cpufreq / intel_pstate: Add kernel command line option disable intel_pstate.
cpufreq / intel_pstate: Change to disallow module build
tools/power turbostat: display SMI count by default
intel_idle: export both C1 and C1E
ACPI / hotplug: Fix concurrency issues and memory leaks
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/ABI/testing/sysfs-devices-power_resources_D0 | 13 | ||||
-rw-r--r-- | Documentation/ABI/testing/sysfs-devices-power_resources_D1 | 14 | ||||
-rw-r--r-- | Documentation/ABI/testing/sysfs-devices-power_resources_D2 | 14 | ||||
-rw-r--r-- | Documentation/ABI/testing/sysfs-devices-power_resources_D3hot | 14 | ||||
-rw-r--r-- | Documentation/ABI/testing/sysfs-devices-power_state | 20 | ||||
-rw-r--r-- | Documentation/ABI/testing/sysfs-devices-real_power_state | 23 | ||||
-rw-r--r-- | Documentation/ABI/testing/sysfs-devices-resource_in_use | 12 | ||||
-rw-r--r-- | Documentation/acpi/enumeration.txt | 4 | ||||
-rw-r--r-- | Documentation/acpi/scan_handlers.txt | 77 | ||||
-rw-r--r-- | Documentation/cpu-freq/cpu-drivers.txt | 6 | ||||
-rw-r--r-- | Documentation/cpu-freq/user-guide.txt | 8 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/arm/kirkwood.txt | 27 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 16 | ||||
-rw-r--r-- | Documentation/power/freezing-of-tasks.txt | 5 | ||||
-rw-r--r-- | Documentation/power/runtime_pm.txt | 4 | ||||
-rw-r--r-- | Documentation/trace/events-power.txt | 27 |
16 files changed, 242 insertions, 42 deletions
diff --git a/Documentation/ABI/testing/sysfs-devices-power_resources_D0 b/Documentation/ABI/testing/sysfs-devices-power_resources_D0 new file mode 100644 index 000000000000..73b77a6be196 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-devices-power_resources_D0 | |||
@@ -0,0 +1,13 @@ | |||
1 | What: /sys/devices/.../power_resources_D0/ | ||
2 | Date: January 2013 | ||
3 | Contact: Rafael J. Wysocki <rafael.j.wysocki@intel.com> | ||
4 | Description: | ||
5 | The /sys/devices/.../power_resources_D0/ directory is only | ||
6 | present for device objects representing ACPI device nodes that | ||
7 | use ACPI power resources for power management. | ||
8 | |||
9 | If present, it contains symbolic links to device directories | ||
10 | representing ACPI power resources that need to be turned on for | ||
11 | the given device node to be in ACPI power state D0. The names | ||
12 | of the links are the same as the names of the directories they | ||
13 | point to. | ||
diff --git a/Documentation/ABI/testing/sysfs-devices-power_resources_D1 b/Documentation/ABI/testing/sysfs-devices-power_resources_D1 new file mode 100644 index 000000000000..30c20703fb8c --- /dev/null +++ b/Documentation/ABI/testing/sysfs-devices-power_resources_D1 | |||
@@ -0,0 +1,14 @@ | |||
1 | What: /sys/devices/.../power_resources_D1/ | ||
2 | Date: January 2013 | ||
3 | Contact: Rafael J. Wysocki <rafael.j.wysocki@intel.com> | ||
4 | Description: | ||
5 | The /sys/devices/.../power_resources_D1/ directory is only | ||
6 | present for device objects representing ACPI device nodes that | ||
7 | use ACPI power resources for power management and support ACPI | ||
8 | power state D1. | ||
9 | |||
10 | If present, it contains symbolic links to device directories | ||
11 | representing ACPI power resources that need to be turned on for | ||
12 | the given device node to be in ACPI power state D1. The names | ||
13 | of the links are the same as the names of the directories they | ||
14 | point to. | ||
diff --git a/Documentation/ABI/testing/sysfs-devices-power_resources_D2 b/Documentation/ABI/testing/sysfs-devices-power_resources_D2 new file mode 100644 index 000000000000..fd9d84b421e1 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-devices-power_resources_D2 | |||
@@ -0,0 +1,14 @@ | |||
1 | What: /sys/devices/.../power_resources_D2/ | ||
2 | Date: January 2013 | ||
3 | Contact: Rafael J. Wysocki <rafael.j.wysocki@intel.com> | ||
4 | Description: | ||
5 | The /sys/devices/.../power_resources_D2/ directory is only | ||
6 | present for device objects representing ACPI device nodes that | ||
7 | use ACPI power resources for power management and support ACPI | ||
8 | power state D2. | ||
9 | |||
10 | If present, it contains symbolic links to device directories | ||
11 | representing ACPI power resources that need to be turned on for | ||
12 | the given device node to be in ACPI power state D2. The names | ||
13 | of the links are the same as the names of the directories they | ||
14 | point to. | ||
diff --git a/Documentation/ABI/testing/sysfs-devices-power_resources_D3hot b/Documentation/ABI/testing/sysfs-devices-power_resources_D3hot new file mode 100644 index 000000000000..3df32c20addf --- /dev/null +++ b/Documentation/ABI/testing/sysfs-devices-power_resources_D3hot | |||
@@ -0,0 +1,14 @@ | |||
1 | What: /sys/devices/.../power_resources_D3hot/ | ||
2 | Date: January 2013 | ||
3 | Contact: Rafael J. Wysocki <rafael.j.wysocki@intel.com> | ||
4 | Description: | ||
5 | The /sys/devices/.../power_resources_D3hot/ directory is only | ||
6 | present for device objects representing ACPI device nodes that | ||
7 | use ACPI power resources for power management and support ACPI | ||
8 | power state D3hot. | ||
9 | |||
10 | If present, it contains symbolic links to device directories | ||
11 | representing ACPI power resources that need to be turned on for | ||
12 | the given device node to be in ACPI power state D3hot. The | ||
13 | names of the links are the same as the names of the directories | ||
14 | they point to. | ||
diff --git a/Documentation/ABI/testing/sysfs-devices-power_state b/Documentation/ABI/testing/sysfs-devices-power_state new file mode 100644 index 000000000000..7ad9546748f0 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-devices-power_state | |||
@@ -0,0 +1,20 @@ | |||
1 | What: /sys/devices/.../power_state | ||
2 | Date: January 2013 | ||
3 | Contact: Rafael J. Wysocki <rafael.j.wysocki@intel.com> | ||
4 | Description: | ||
5 | The /sys/devices/.../power_state attribute is only present for | ||
6 | device objects representing ACPI device nodes that provide power | ||
7 | management methods. | ||
8 | |||
9 | If present, it contains a string representing the current ACPI | ||
10 | power state of the given device node. Its possible values, | ||
11 | "D0", "D1", "D2", "D3hot", and "D3cold", reflect the power state | ||
12 | names defined by the ACPI specification (ACPI 4 and above). | ||
13 | |||
14 | If the device node uses shared ACPI power resources, this state | ||
15 | determines a list of power resources required not to be turned | ||
16 | off. However, some power resources needed by the device node in | ||
17 | higher-power (lower-number) states may also be ON because of | ||
18 | some other devices using them at the moment. | ||
19 | |||
20 | This attribute is read-only. | ||
diff --git a/Documentation/ABI/testing/sysfs-devices-real_power_state b/Documentation/ABI/testing/sysfs-devices-real_power_state new file mode 100644 index 000000000000..8b3527c82a7d --- /dev/null +++ b/Documentation/ABI/testing/sysfs-devices-real_power_state | |||
@@ -0,0 +1,23 @@ | |||
1 | What: /sys/devices/.../real_power_state | ||
2 | Date: January 2013 | ||
3 | Contact: Rafael J. Wysocki <rafael.j.wysocki@intel.com> | ||
4 | Description: | ||
5 | The /sys/devices/.../real_power_state attribute is only present | ||
6 | for device objects representing ACPI device nodes that provide | ||
7 | power management methods and use ACPI power resources for power | ||
8 | management. | ||
9 | |||
10 | If present, it contains a string representing the real ACPI | ||
11 | power state of the given device node as returned by the _PSC | ||
12 | control method or inferred from the configuration of power | ||
13 | resources. Its possible values, "D0", "D1", "D2", "D3hot", and | ||
14 | "D3cold", reflect the power state names defined by the ACPI | ||
15 | specification (ACPI 4 and above). | ||
16 | |||
17 | In some situations the value of this attribute may be different | ||
18 | from the value of the /sys/devices/.../power_state attribute for | ||
19 | the same device object. If that happens, some shared power | ||
20 | resources used by the device node are only ON because of some | ||
21 | other devices using them at the moment. | ||
22 | |||
23 | This attribute is read-only. | ||
diff --git a/Documentation/ABI/testing/sysfs-devices-resource_in_use b/Documentation/ABI/testing/sysfs-devices-resource_in_use new file mode 100644 index 000000000000..b4a3bc5922a3 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-devices-resource_in_use | |||
@@ -0,0 +1,12 @@ | |||
1 | What: /sys/devices/.../resource_in_use | ||
2 | Date: January 2013 | ||
3 | Contact: Rafael J. Wysocki <rafael.j.wysocki@intel.com> | ||
4 | Description: | ||
5 | The /sys/devices/.../resource_in_use attribute is only present | ||
6 | for device objects representing ACPI power resources. | ||
7 | |||
8 | If present, it contains a number (0 or 1) representing the | ||
9 | current status of the given power resource (0 means that the | ||
10 | resource is not in use and therefore it has been turned off). | ||
11 | |||
12 | This attribute is read-only. | ||
diff --git a/Documentation/acpi/enumeration.txt b/Documentation/acpi/enumeration.txt index 54469bc81b1c..94a656131885 100644 --- a/Documentation/acpi/enumeration.txt +++ b/Documentation/acpi/enumeration.txt | |||
@@ -63,8 +63,8 @@ from ACPI tables. | |||
63 | Currently the kernel is not able to automatically determine from which ACPI | 63 | Currently the kernel is not able to automatically determine from which ACPI |
64 | device it should make the corresponding platform device so we need to add | 64 | device it should make the corresponding platform device so we need to add |
65 | the ACPI device explicitly to acpi_platform_device_ids list defined in | 65 | the ACPI device explicitly to acpi_platform_device_ids list defined in |
66 | drivers/acpi/scan.c. This limitation is only for the platform devices, SPI | 66 | drivers/acpi/acpi_platform.c. This limitation is only for the platform |
67 | and I2C devices are created automatically as described below. | 67 | devices, SPI and I2C devices are created automatically as described below. |
68 | 68 | ||
69 | SPI serial bus support | 69 | SPI serial bus support |
70 | ~~~~~~~~~~~~~~~~~~~~~~ | 70 | ~~~~~~~~~~~~~~~~~~~~~~ |
diff --git a/Documentation/acpi/scan_handlers.txt b/Documentation/acpi/scan_handlers.txt new file mode 100644 index 000000000000..3246ccf15992 --- /dev/null +++ b/Documentation/acpi/scan_handlers.txt | |||
@@ -0,0 +1,77 @@ | |||
1 | ACPI Scan Handlers | ||
2 | |||
3 | Copyright (C) 2012, Intel Corporation | ||
4 | Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com> | ||
5 | |||
6 | During system initialization and ACPI-based device hot-add, the ACPI namespace | ||
7 | is scanned in search of device objects that generally represent various pieces | ||
8 | of hardware. This causes a struct acpi_device object to be created and | ||
9 | registered with the driver core for every device object in the ACPI namespace | ||
10 | and the hierarchy of those struct acpi_device objects reflects the namespace | ||
11 | layout (i.e. parent device objects in the namespace are represented by parent | ||
12 | struct acpi_device objects and analogously for their children). Those struct | ||
13 | acpi_device objects are referred to as "device nodes" in what follows, but they | ||
14 | should not be confused with struct device_node objects used by the Device Trees | ||
15 | parsing code (although their role is analogous to the role of those objects). | ||
16 | |||
17 | During ACPI-based device hot-remove device nodes representing pieces of hardware | ||
18 | being removed are unregistered and deleted. | ||
19 | |||
20 | The core ACPI namespace scanning code in drivers/acpi/scan.c carries out basic | ||
21 | initialization of device nodes, such as retrieving common configuration | ||
22 | information from the device objects represented by them and populating them with | ||
23 | appropriate data, but some of them require additional handling after they have | ||
24 | been registered. For example, if the given device node represents a PCI host | ||
25 | bridge, its registration should cause the PCI bus under that bridge to be | ||
26 | enumerated and PCI devices on that bus to be registered with the driver core. | ||
27 | Similarly, if the device node represents a PCI interrupt link, it is necessary | ||
28 | to configure that link so that the kernel can use it. | ||
29 | |||
30 | Those additional configuration tasks usually depend on the type of the hardware | ||
31 | component represented by the given device node which can be determined on the | ||
32 | basis of the device node's hardware ID (HID). They are performed by objects | ||
33 | called ACPI scan handlers represented by the following structure: | ||
34 | |||
35 | struct acpi_scan_handler { | ||
36 | const struct acpi_device_id *ids; | ||
37 | struct list_head list_node; | ||
38 | int (*attach)(struct acpi_device *dev, const struct acpi_device_id *id); | ||
39 | void (*detach)(struct acpi_device *dev); | ||
40 | }; | ||
41 | |||
42 | where ids is the list of IDs of device nodes the given handler is supposed to | ||
43 | take care of, list_node is the hook to the global list of ACPI scan handlers | ||
44 | maintained by the ACPI core and the .attach() and .detach() callbacks are | ||
45 | executed, respectively, after registration of new device nodes and before | ||
46 | unregistration of device nodes the handler attached to previously. | ||
47 | |||
48 | The namespace scanning function, acpi_bus_scan(), first registers all of the | ||
49 | device nodes in the given namespace scope with the driver core. Then, it tries | ||
50 | to match a scan handler against each of them using the ids arrays of the | ||
51 | available scan handlers. If a matching scan handler is found, its .attach() | ||
52 | callback is executed for the given device node. If that callback returns 1, | ||
53 | that means that the handler has claimed the device node and is now responsible | ||
54 | for carrying out any additional configuration tasks related to it. It also will | ||
55 | be responsible for preparing the device node for unregistration in that case. | ||
56 | The device node's handler field is then populated with the address of the scan | ||
57 | handler that has claimed it. | ||
58 | |||
59 | If the .attach() callback returns 0, it means that the device node is not | ||
60 | interesting to the given scan handler and may be matched against the next scan | ||
61 | handler in the list. If it returns a (negative) error code, that means that | ||
62 | the namespace scan should be terminated due to a serious error. The error code | ||
63 | returned should then reflect the type of the error. | ||
64 | |||
65 | The namespace trimming function, acpi_bus_trim(), first executes .detach() | ||
66 | callbacks from the scan handlers of all device nodes in the given namespace | ||
67 | scope (if they have scan handlers). Next, it unregisters all of the device | ||
68 | nodes in that scope. | ||
69 | |||
70 | ACPI scan handlers can be added to the list maintained by the ACPI core with the | ||
71 | help of the acpi_scan_add_handler() function taking a pointer to the new scan | ||
72 | handler as an argument. The order in which scan handlers are added to the list | ||
73 | is the order in which they are matched against device nodes during namespace | ||
74 | scans. | ||
75 | |||
76 | All scan handles must be added to the list before acpi_bus_scan() is run for the | ||
77 | first time and they cannot be removed from it. | ||
diff --git a/Documentation/cpu-freq/cpu-drivers.txt b/Documentation/cpu-freq/cpu-drivers.txt index c436096351f8..72f70b16d299 100644 --- a/Documentation/cpu-freq/cpu-drivers.txt +++ b/Documentation/cpu-freq/cpu-drivers.txt | |||
@@ -111,6 +111,12 @@ policy->governor must contain the "default policy" for | |||
111 | For setting some of these values, the frequency table helpers might be | 111 | For setting some of these values, the frequency table helpers might be |
112 | helpful. See the section 2 for more information on them. | 112 | helpful. See the section 2 for more information on them. |
113 | 113 | ||
114 | SMP systems normally have same clock source for a group of cpus. For these the | ||
115 | .init() would be called only once for the first online cpu. Here the .init() | ||
116 | routine must initialize policy->cpus with mask of all possible cpus (Online + | ||
117 | Offline) that share the clock. Then the core would copy this mask onto | ||
118 | policy->related_cpus and will reset policy->cpus to carry only online cpus. | ||
119 | |||
114 | 120 | ||
115 | 1.3 verify | 121 | 1.3 verify |
116 | ------------ | 122 | ------------ |
diff --git a/Documentation/cpu-freq/user-guide.txt b/Documentation/cpu-freq/user-guide.txt index 04f6b32993e6..ff2f28332cc4 100644 --- a/Documentation/cpu-freq/user-guide.txt +++ b/Documentation/cpu-freq/user-guide.txt | |||
@@ -190,11 +190,11 @@ scaling_max_freq show the current "policy limits" (in | |||
190 | first set scaling_max_freq, then | 190 | first set scaling_max_freq, then |
191 | scaling_min_freq. | 191 | scaling_min_freq. |
192 | 192 | ||
193 | affected_cpus : List of CPUs that require software coordination | 193 | affected_cpus : List of Online CPUs that require software |
194 | of frequency. | 194 | coordination of frequency. |
195 | 195 | ||
196 | related_cpus : List of CPUs that need some sort of frequency | 196 | related_cpus : List of Online + Offline CPUs that need software |
197 | coordination, whether software or hardware. | 197 | coordination of frequency. |
198 | 198 | ||
199 | scaling_driver : Hardware driver for cpufreq. | 199 | scaling_driver : Hardware driver for cpufreq. |
200 | 200 | ||
diff --git a/Documentation/devicetree/bindings/arm/kirkwood.txt b/Documentation/devicetree/bindings/arm/kirkwood.txt new file mode 100644 index 000000000000..98cce9a653eb --- /dev/null +++ b/Documentation/devicetree/bindings/arm/kirkwood.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | Marvell Kirkwood Platforms Device Tree Bindings | ||
2 | ----------------------------------------------- | ||
3 | |||
4 | Boards with a SoC of the Marvell Kirkwood | ||
5 | shall have the following property: | ||
6 | |||
7 | Required root node property: | ||
8 | |||
9 | compatible: must contain "marvell,kirkwood"; | ||
10 | |||
11 | In order to support the kirkwood cpufreq driver, there must be a node | ||
12 | cpus/cpu@0 with three clocks, "cpu_clk", "ddrclk" and "powersave", | ||
13 | where the "powersave" clock is a gating clock used to switch the CPU | ||
14 | between the "cpu_clk" and the "ddrclk". | ||
15 | |||
16 | Example: | ||
17 | |||
18 | cpus { | ||
19 | #address-cells = <1>; | ||
20 | #size-cells = <0>; | ||
21 | |||
22 | cpu@0 { | ||
23 | device_type = "cpu"; | ||
24 | compatible = "marvell,sheeva-88SV131"; | ||
25 | clocks = <&core_clk 1>, <&core_clk 3>, <&gate_clk 11>; | ||
26 | clock-names = "cpu_clk", "ddrclk", "powersave"; | ||
27 | }; | ||
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 6c723811c0a0..4c5b3f993bbb 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -1039,16 +1039,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
1039 | Claim all unknown PCI IDE storage controllers. | 1039 | Claim all unknown PCI IDE storage controllers. |
1040 | 1040 | ||
1041 | idle= [X86] | 1041 | idle= [X86] |
1042 | Format: idle=poll, idle=mwait, idle=halt, idle=nomwait | 1042 | Format: idle=poll, idle=halt, idle=nomwait |
1043 | Poll forces a polling idle loop that can slightly | 1043 | Poll forces a polling idle loop that can slightly |
1044 | improve the performance of waking up a idle CPU, but | 1044 | improve the performance of waking up a idle CPU, but |
1045 | will use a lot of power and make the system run hot. | 1045 | will use a lot of power and make the system run hot. |
1046 | Not recommended. | 1046 | Not recommended. |
1047 | idle=mwait: On systems which support MONITOR/MWAIT but | ||
1048 | the kernel chose to not use it because it doesn't save | ||
1049 | as much power as a normal idle loop, use the | ||
1050 | MONITOR/MWAIT idle loop anyways. Performance should be | ||
1051 | the same as idle=poll. | ||
1052 | idle=halt: Halt is forced to be used for CPU idle. | 1047 | idle=halt: Halt is forced to be used for CPU idle. |
1053 | In such case C2/C3 won't be used again. | 1048 | In such case C2/C3 won't be used again. |
1054 | idle=nomwait: Disable mwait for CPU C-states | 1049 | idle=nomwait: Disable mwait for CPU C-states |
@@ -1131,6 +1126,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
1131 | 0 disables intel_idle and fall back on acpi_idle. | 1126 | 0 disables intel_idle and fall back on acpi_idle. |
1132 | 1 to 6 specify maximum depth of C-state. | 1127 | 1 to 6 specify maximum depth of C-state. |
1133 | 1128 | ||
1129 | intel_pstate= [X86] | ||
1130 | disable | ||
1131 | Do not enable intel_pstate as the default | ||
1132 | scaling driver for the supported processors | ||
1133 | |||
1134 | intremap= [X86-64, Intel-IOMMU] | 1134 | intremap= [X86-64, Intel-IOMMU] |
1135 | on enable Interrupt Remapping (default) | 1135 | on enable Interrupt Remapping (default) |
1136 | off disable Interrupt Remapping | 1136 | off disable Interrupt Remapping |
@@ -1886,10 +1886,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
1886 | wfi(ARM) instruction doesn't work correctly and not to | 1886 | wfi(ARM) instruction doesn't work correctly and not to |
1887 | use it. This is also useful when using JTAG debugger. | 1887 | use it. This is also useful when using JTAG debugger. |
1888 | 1888 | ||
1889 | no-hlt [BUGS=X86-32] Tells the kernel that the hlt | ||
1890 | instruction doesn't work correctly and not to | ||
1891 | use it. | ||
1892 | |||
1893 | no_file_caps Tells the kernel not to honor file capabilities. The | 1889 | no_file_caps Tells the kernel not to honor file capabilities. The |
1894 | only way then for a file to be executed with privilege | 1890 | only way then for a file to be executed with privilege |
1895 | is to be setuid root or executed by root. | 1891 | is to be setuid root or executed by root. |
diff --git a/Documentation/power/freezing-of-tasks.txt b/Documentation/power/freezing-of-tasks.txt index 6ec291ea1c78..85894d83b352 100644 --- a/Documentation/power/freezing-of-tasks.txt +++ b/Documentation/power/freezing-of-tasks.txt | |||
@@ -223,3 +223,8 @@ since they ask the freezer to skip freezing this task, since it is anyway | |||
223 | only after the entire suspend/hibernation sequence is complete. | 223 | only after the entire suspend/hibernation sequence is complete. |
224 | So, to summarize, use [un]lock_system_sleep() instead of directly using | 224 | So, to summarize, use [un]lock_system_sleep() instead of directly using |
225 | mutex_[un]lock(&pm_mutex). That would prevent freezing failures. | 225 | mutex_[un]lock(&pm_mutex). That would prevent freezing failures. |
226 | |||
227 | V. Miscellaneous | ||
228 | /sys/power/pm_freeze_timeout controls how long it will cost at most to freeze | ||
229 | all user space processes or all freezable kernel threads, in unit of millisecond. | ||
230 | The default value is 20000, with range of unsigned integer. | ||
diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt index 03591a750f99..6c9f5d9aa115 100644 --- a/Documentation/power/runtime_pm.txt +++ b/Documentation/power/runtime_pm.txt | |||
@@ -426,6 +426,10 @@ drivers/base/power/runtime.c and include/linux/pm_runtime.h: | |||
426 | 'power.runtime_error' is set or 'power.disable_depth' is greater than | 426 | 'power.runtime_error' is set or 'power.disable_depth' is greater than |
427 | zero) | 427 | zero) |
428 | 428 | ||
429 | bool pm_runtime_active(struct device *dev); | ||
430 | - return true if the device's runtime PM status is 'active' or its | ||
431 | 'power.disable_depth' field is not equal to zero, or false otherwise | ||
432 | |||
429 | bool pm_runtime_suspended(struct device *dev); | 433 | bool pm_runtime_suspended(struct device *dev); |
430 | - return true if the device's runtime PM status is 'suspended' and its | 434 | - return true if the device's runtime PM status is 'suspended' and its |
431 | 'power.disable_depth' field is equal to zero, or false otherwise | 435 | 'power.disable_depth' field is equal to zero, or false otherwise |
diff --git a/Documentation/trace/events-power.txt b/Documentation/trace/events-power.txt index cf794af22855..e1498ff8cf94 100644 --- a/Documentation/trace/events-power.txt +++ b/Documentation/trace/events-power.txt | |||
@@ -17,7 +17,7 @@ Cf. include/trace/events/power.h for the events definitions. | |||
17 | 1. Power state switch events | 17 | 1. Power state switch events |
18 | ============================ | 18 | ============================ |
19 | 19 | ||
20 | 1.1 New trace API | 20 | 1.1 Trace API |
21 | ----------------- | 21 | ----------------- |
22 | 22 | ||
23 | A 'cpu' event class gathers the CPU-related events: cpuidle and | 23 | A 'cpu' event class gathers the CPU-related events: cpuidle and |
@@ -41,31 +41,6 @@ The event which has 'state=4294967295' in the trace is very important to the use | |||
41 | space tools which are using it to detect the end of the current state, and so to | 41 | space tools which are using it to detect the end of the current state, and so to |
42 | correctly draw the states diagrams and to calculate accurate statistics etc. | 42 | correctly draw the states diagrams and to calculate accurate statistics etc. |
43 | 43 | ||
44 | 1.2 DEPRECATED trace API | ||
45 | ------------------------ | ||
46 | |||
47 | A new Kconfig option CONFIG_EVENT_POWER_TRACING_DEPRECATED with the default value of | ||
48 | 'y' has been created. This allows the legacy trace power API to be used conjointly | ||
49 | with the new trace API. | ||
50 | The Kconfig option, the old trace API (in include/trace/events/power.h) and the | ||
51 | old trace points will disappear in a future release (namely 2.6.41). | ||
52 | |||
53 | power_start "type=%lu state=%lu cpu_id=%lu" | ||
54 | power_frequency "type=%lu state=%lu cpu_id=%lu" | ||
55 | power_end "cpu_id=%lu" | ||
56 | |||
57 | The 'type' parameter takes one of those macros: | ||
58 | . POWER_NONE = 0, | ||
59 | . POWER_CSTATE = 1, /* C-State */ | ||
60 | . POWER_PSTATE = 2, /* Frequency change or DVFS */ | ||
61 | |||
62 | The 'state' parameter is set depending on the type: | ||
63 | . Target C-state for type=POWER_CSTATE, | ||
64 | . Target frequency for type=POWER_PSTATE, | ||
65 | |||
66 | power_end is used to indicate the exit of a state, corresponding to the latest | ||
67 | power_start event. | ||
68 | |||
69 | 2. Clocks events | 44 | 2. Clocks events |
70 | ================ | 45 | ================ |
71 | The clock events are used for clock enable/disable and for | 46 | The clock events are used for clock enable/disable and for |