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.h71
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
94struct acpi_psd_package { 94struct 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
102struct acpi_pct_register { 102struct acpi_pct_register {
@@ -110,12 +110,12 @@ struct acpi_pct_register {
110} __attribute__ ((packed)); 110} __attribute__ ((packed));
111 111
112struct acpi_processor_px { 112struct 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
121struct acpi_processor_performance { 121struct acpi_processor_performance {
@@ -133,11 +133,11 @@ struct acpi_processor_performance {
133/* Throttling Control */ 133/* Throttling Control */
134 134
135struct acpi_tsd_package { 135struct 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
143struct acpi_ptc_register { 143struct acpi_ptc_register {
@@ -151,11 +151,11 @@ struct acpi_ptc_register {
151} __attribute__ ((packed)); 151} __attribute__ ((packed));
152 152
153struct acpi_processor_tx_tss { 153struct 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};
160struct acpi_processor_tx { 160struct 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
231struct acpi_processor_errata { 229struct acpi_processor_errata {
@@ -240,7 +238,7 @@ struct acpi_processor_errata {
240 238
241extern int acpi_processor_preregister_performance(struct 239extern int acpi_processor_preregister_performance(struct
242 acpi_processor_performance 240 acpi_processor_performance
243 *performance); 241 __percpu *performance);
244 242
245extern int acpi_processor_register_performance(struct acpi_processor_performance 243extern 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);
257DECLARE_PER_CPU(struct acpi_processor *, processors); 255DECLARE_PER_CPU(struct acpi_processor *, processors);
258extern struct acpi_processor_errata errata; 256extern struct acpi_processor_errata errata;
259 257
260void arch_acpi_processor_init_pdc(struct acpi_processor *pr);
261void arch_acpi_processor_cleanup_pdc(struct acpi_processor *pr);
262
263#ifdef ARCH_HAS_POWER_INIT 258#ifdef ARCH_HAS_POWER_INIT
264void acpi_processor_power_init_bm_check(struct acpi_processor_flags *flags, 259void 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
295void acpi_processor_ppc_init(void); 290void acpi_processor_ppc_init(void);
296void acpi_processor_ppc_exit(void); 291void acpi_processor_ppc_exit(void);
297int acpi_processor_ppc_has_changed(struct acpi_processor *pr); 292int acpi_processor_ppc_has_changed(struct acpi_processor *pr, int event_flag);
293extern int acpi_processor_get_bios_limit(int cpu, unsigned int *limit);
298#else 294#else
299static inline void acpi_processor_ppc_init(void) 295static 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}
307static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr) 303static 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}
316static 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 */
324void acpi_processor_set_pdc(acpi_handle handle);
325#ifdef CONFIG_SMP
326int acpi_get_cpuid(acpi_handle, int type, u32 acpi_id);
327#else
328static 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 */
322int acpi_processor_tstate_has_changed(struct acpi_processor *pr); 335int acpi_processor_tstate_has_changed(struct acpi_processor *pr);
323int acpi_processor_get_throttling_info(struct acpi_processor *pr); 336int acpi_processor_get_throttling_info(struct acpi_processor *pr);