aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi/processor.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/acpi/processor.h')
-rw-r--r--include/acpi/processor.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/include/acpi/processor.h b/include/acpi/processor.h
index ef7d83a41470..77371b3cdc44 100644
--- a/include/acpi/processor.h
+++ b/include/acpi/processor.h
@@ -2,6 +2,7 @@
2#define __ACPI_PROCESSOR_H 2#define __ACPI_PROCESSOR_H
3 3
4#include <linux/kernel.h> 4#include <linux/kernel.h>
5#include <linux/cpu.h>
5 6
6#include <asm/acpi.h> 7#include <asm/acpi.h>
7 8
@@ -17,6 +18,17 @@
17 18
18#define ACPI_PDC_REVISION_ID 0x1 19#define ACPI_PDC_REVISION_ID 0x1
19 20
21#define ACPI_PSD_REV0_REVISION 0 /* Support for _PSD as in ACPI 3.0 */
22#define ACPI_PSD_REV0_ENTRIES 5
23
24/*
25 * Types of coordination defined in ACPI 3.0. Same macros can be used across
26 * P, C and T states
27 */
28#define DOMAIN_COORD_TYPE_SW_ALL 0xfc
29#define DOMAIN_COORD_TYPE_SW_ANY 0xfd
30#define DOMAIN_COORD_TYPE_HW_ALL 0xfe
31
20/* Power Management */ 32/* Power Management */
21 33
22struct acpi_processor_cx; 34struct acpi_processor_cx;
@@ -65,6 +77,14 @@ struct acpi_processor_power {
65 77
66/* Performance Management */ 78/* Performance Management */
67 79
80struct acpi_psd_package {
81 acpi_integer num_entries;
82 acpi_integer revision;
83 acpi_integer domain;
84 acpi_integer coord_type;
85 acpi_integer num_processors;
86} __attribute__ ((packed));
87
68struct acpi_pct_register { 88struct acpi_pct_register {
69 u8 descriptor; 89 u8 descriptor;
70 u16 length; 90 u16 length;
@@ -91,7 +111,9 @@ struct acpi_processor_performance {
91 struct acpi_pct_register status_register; 111 struct acpi_pct_register status_register;
92 unsigned int state_count; 112 unsigned int state_count;
93 struct acpi_processor_px *states; 113 struct acpi_processor_px *states;
94 114 struct acpi_psd_package domain_info;
115 cpumask_t shared_cpu_map;
116 unsigned int shared_type;
95}; 117};
96 118
97/* Throttling Control */ 119/* Throttling Control */
@@ -160,6 +182,9 @@ struct acpi_processor_errata {
160 } piix4; 182 } piix4;
161}; 183};
162 184
185extern int acpi_processor_preregister_performance(
186 struct acpi_processor_performance **performance);
187
163extern int acpi_processor_register_performance(struct acpi_processor_performance 188extern int acpi_processor_register_performance(struct acpi_processor_performance
164 *performance, unsigned int cpu); 189 *performance, unsigned int cpu);
165extern void acpi_processor_unregister_performance(struct 190extern void acpi_processor_unregister_performance(struct