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); |