diff options
Diffstat (limited to 'include/acpi/processor.h')
-rw-r--r-- | include/acpi/processor.h | 27 |
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 | ||
22 | struct acpi_processor_cx; | 34 | struct acpi_processor_cx; |
@@ -65,6 +77,14 @@ struct acpi_processor_power { | |||
65 | 77 | ||
66 | /* Performance Management */ | 78 | /* Performance Management */ |
67 | 79 | ||
80 | struct 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 | |||
68 | struct acpi_pct_register { | 88 | struct 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 | ||
185 | extern int acpi_processor_preregister_performance( | ||
186 | struct acpi_processor_performance **performance); | ||
187 | |||
163 | extern int acpi_processor_register_performance(struct acpi_processor_performance | 188 | extern int acpi_processor_register_performance(struct acpi_processor_performance |
164 | *performance, unsigned int cpu); | 189 | *performance, unsigned int cpu); |
165 | extern void acpi_processor_unregister_performance(struct | 190 | extern void acpi_processor_unregister_performance(struct |