diff options
Diffstat (limited to 'include/acpi/processor.h')
| -rw-r--r-- | include/acpi/processor.h | 71 |
1 files changed, 42 insertions, 29 deletions
diff --git a/include/acpi/processor.h b/include/acpi/processor.h index 740ac3ad8fd0..86825ddbe14e 100644 --- a/include/acpi/processor.h +++ b/include/acpi/processor.h | |||
| @@ -92,11 +92,11 @@ struct acpi_processor_power { | |||
| 92 | /* Performance Management */ | 92 | /* Performance Management */ |
| 93 | 93 | ||
| 94 | struct acpi_psd_package { | 94 | struct acpi_psd_package { |
| 95 | acpi_integer num_entries; | 95 | u64 num_entries; |
| 96 | acpi_integer revision; | 96 | u64 revision; |
| 97 | acpi_integer domain; | 97 | u64 domain; |
| 98 | acpi_integer coord_type; | 98 | u64 coord_type; |
| 99 | acpi_integer num_processors; | 99 | u64 num_processors; |
| 100 | } __attribute__ ((packed)); | 100 | } __attribute__ ((packed)); |
| 101 | 101 | ||
| 102 | struct acpi_pct_register { | 102 | struct acpi_pct_register { |
| @@ -110,12 +110,12 @@ struct acpi_pct_register { | |||
| 110 | } __attribute__ ((packed)); | 110 | } __attribute__ ((packed)); |
| 111 | 111 | ||
| 112 | struct acpi_processor_px { | 112 | struct acpi_processor_px { |
| 113 | acpi_integer core_frequency; /* megahertz */ | 113 | u64 core_frequency; /* megahertz */ |
| 114 | acpi_integer power; /* milliWatts */ | 114 | u64 power; /* milliWatts */ |
| 115 | acpi_integer transition_latency; /* microseconds */ | 115 | u64 transition_latency; /* microseconds */ |
| 116 | acpi_integer bus_master_latency; /* microseconds */ | 116 | u64 bus_master_latency; /* microseconds */ |
| 117 | acpi_integer control; /* control value */ | 117 | u64 control; /* control value */ |
| 118 | acpi_integer status; /* success indicator */ | 118 | u64 status; /* success indicator */ |
| 119 | }; | 119 | }; |
| 120 | 120 | ||
| 121 | struct acpi_processor_performance { | 121 | struct acpi_processor_performance { |
| @@ -133,11 +133,11 @@ struct acpi_processor_performance { | |||
| 133 | /* Throttling Control */ | 133 | /* Throttling Control */ |
| 134 | 134 | ||
| 135 | struct acpi_tsd_package { | 135 | struct acpi_tsd_package { |
| 136 | acpi_integer num_entries; | 136 | u64 num_entries; |
| 137 | acpi_integer revision; | 137 | u64 revision; |
| 138 | acpi_integer domain; | 138 | u64 domain; |
| 139 | acpi_integer coord_type; | 139 | u64 coord_type; |
| 140 | acpi_integer num_processors; | 140 | u64 num_processors; |
| 141 | } __attribute__ ((packed)); | 141 | } __attribute__ ((packed)); |
| 142 | 142 | ||
| 143 | struct acpi_ptc_register { | 143 | struct acpi_ptc_register { |
| @@ -151,11 +151,11 @@ struct acpi_ptc_register { | |||
| 151 | } __attribute__ ((packed)); | 151 | } __attribute__ ((packed)); |
| 152 | 152 | ||
| 153 | struct acpi_processor_tx_tss { | 153 | struct acpi_processor_tx_tss { |
| 154 | acpi_integer freqpercentage; /* */ | 154 | u64 freqpercentage; /* */ |
| 155 | acpi_integer power; /* milliWatts */ | 155 | u64 power; /* milliWatts */ |
| 156 | acpi_integer transition_latency; /* microseconds */ | 156 | u64 transition_latency; /* microseconds */ |
| 157 | acpi_integer control; /* control value */ | 157 | u64 control; /* control value */ |
| 158 | acpi_integer status; /* success indicator */ | 158 | u64 status; /* success indicator */ |
| 159 | }; | 159 | }; |
| 160 | struct acpi_processor_tx { | 160 | struct acpi_processor_tx { |
| 161 | u16 power; | 161 | u16 power; |
| @@ -224,8 +224,6 @@ struct acpi_processor { | |||
| 224 | struct acpi_processor_throttling throttling; | 224 | struct acpi_processor_throttling throttling; |
| 225 | struct acpi_processor_limit limit; | 225 | struct acpi_processor_limit limit; |
| 226 | struct thermal_cooling_device *cdev; | 226 | struct thermal_cooling_device *cdev; |
| 227 | /* the _PDC objects for this processor, if any */ | ||
| 228 | struct acpi_object_list *pdc; | ||
| 229 | }; | 227 | }; |
| 230 | 228 | ||
| 231 | struct acpi_processor_errata { | 229 | struct acpi_processor_errata { |
| @@ -240,7 +238,7 @@ struct acpi_processor_errata { | |||
| 240 | 238 | ||
| 241 | extern int acpi_processor_preregister_performance(struct | 239 | extern int acpi_processor_preregister_performance(struct |
| 242 | acpi_processor_performance | 240 | acpi_processor_performance |
| 243 | *performance); | 241 | __percpu *performance); |
| 244 | 242 | ||
| 245 | extern int acpi_processor_register_performance(struct acpi_processor_performance | 243 | extern int acpi_processor_register_performance(struct acpi_processor_performance |
| 246 | *performance, unsigned int cpu); | 244 | *performance, unsigned int cpu); |
| @@ -257,9 +255,6 @@ int acpi_processor_notify_smm(struct module *calling_module); | |||
| 257 | DECLARE_PER_CPU(struct acpi_processor *, processors); | 255 | DECLARE_PER_CPU(struct acpi_processor *, processors); |
| 258 | extern struct acpi_processor_errata errata; | 256 | extern struct acpi_processor_errata errata; |
| 259 | 257 | ||
| 260 | void arch_acpi_processor_init_pdc(struct acpi_processor *pr); | ||
| 261 | void arch_acpi_processor_cleanup_pdc(struct acpi_processor *pr); | ||
| 262 | |||
| 263 | #ifdef ARCH_HAS_POWER_INIT | 258 | #ifdef ARCH_HAS_POWER_INIT |
| 264 | void acpi_processor_power_init_bm_check(struct acpi_processor_flags *flags, | 259 | void acpi_processor_power_init_bm_check(struct acpi_processor_flags *flags, |
| 265 | unsigned int cpu); | 260 | unsigned int cpu); |
| @@ -294,7 +289,8 @@ static inline void acpi_processor_ffh_cstate_enter(struct acpi_processor_cx | |||
| 294 | #ifdef CONFIG_CPU_FREQ | 289 | #ifdef CONFIG_CPU_FREQ |
| 295 | void acpi_processor_ppc_init(void); | 290 | void acpi_processor_ppc_init(void); |
| 296 | void acpi_processor_ppc_exit(void); | 291 | void acpi_processor_ppc_exit(void); |
| 297 | int acpi_processor_ppc_has_changed(struct acpi_processor *pr); | 292 | int acpi_processor_ppc_has_changed(struct acpi_processor *pr, int event_flag); |
| 293 | extern int acpi_processor_get_bios_limit(int cpu, unsigned int *limit); | ||
| 298 | #else | 294 | #else |
| 299 | static inline void acpi_processor_ppc_init(void) | 295 | static inline void acpi_processor_ppc_init(void) |
| 300 | { | 296 | { |
| @@ -304,7 +300,8 @@ static inline void acpi_processor_ppc_exit(void) | |||
| 304 | { | 300 | { |
| 305 | return; | 301 | return; |
| 306 | } | 302 | } |
| 307 | static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr) | 303 | static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr, |
| 304 | int event_flag) | ||
| 308 | { | 305 | { |
| 309 | static unsigned int printout = 1; | 306 | static unsigned int printout = 1; |
| 310 | if (printout) { | 307 | if (printout) { |
| @@ -316,8 +313,24 @@ static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr) | |||
| 316 | } | 313 | } |
| 317 | return 0; | 314 | return 0; |
| 318 | } | 315 | } |
| 316 | static inline int acpi_processor_get_bios_limit(int cpu, unsigned int *limit) | ||
| 317 | { | ||
| 318 | return -ENODEV; | ||
| 319 | } | ||
| 320 | |||
| 319 | #endif /* CONFIG_CPU_FREQ */ | 321 | #endif /* CONFIG_CPU_FREQ */ |
| 320 | 322 | ||
| 323 | /* in processor_core.c */ | ||
| 324 | void acpi_processor_set_pdc(acpi_handle handle); | ||
| 325 | #ifdef CONFIG_SMP | ||
| 326 | int acpi_get_cpuid(acpi_handle, int type, u32 acpi_id); | ||
| 327 | #else | ||
| 328 | static inline int acpi_get_cpuid(acpi_handle handle, int type, u32 acpi_id) | ||
| 329 | { | ||
| 330 | return -1; | ||
| 331 | } | ||
| 332 | #endif | ||
| 333 | |||
| 321 | /* in processor_throttling.c */ | 334 | /* in processor_throttling.c */ |
| 322 | int acpi_processor_tstate_has_changed(struct acpi_processor *pr); | 335 | int acpi_processor_tstate_has_changed(struct acpi_processor *pr); |
| 323 | int acpi_processor_get_throttling_info(struct acpi_processor *pr); | 336 | int acpi_processor_get_throttling_info(struct acpi_processor *pr); |
