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 |
