Revert "ARM: tegra: tegratab: dummy change"
[linux-2.6.git] / include / acpi / processor.h
index 4927c06..7e3f3ee 100644 (file)
@@ -48,21 +48,10 @@ struct acpi_power_register {
        u8 space_id;
        u8 bit_width;
        u8 bit_offset;
-       u8 reserved;
+       u8 access_size;
        u64 address;
 } __attribute__ ((packed));
 
-struct acpi_processor_cx_policy {
-       u32 count;
-       struct acpi_processor_cx *state;
-       struct {
-               u32 time;
-               u32 ticks;
-               u32 count;
-               u32 bm;
-       } threshold;
-};
-
 struct acpi_processor_cx {
        u8 valid;
        u8 type;
@@ -74,8 +63,7 @@ struct acpi_processor_cx {
        u32 power;
        u32 usage;
        u64 time;
-       struct acpi_processor_cx_policy promotion;
-       struct acpi_processor_cx_policy demotion;
+       u8 bm_sts_skip;
        char desc[ACPI_CX_DESC_LEN];
 };
 
@@ -92,11 +80,11 @@ struct acpi_processor_power {
 /* Performance Management */
 
 struct acpi_psd_package {
-       acpi_integer num_entries;
-       acpi_integer revision;
-       acpi_integer domain;
-       acpi_integer coord_type;
-       acpi_integer num_processors;
+       u64 num_entries;
+       u64 revision;
+       u64 domain;
+       u64 coord_type;
+       u64 num_processors;
 } __attribute__ ((packed));
 
 struct acpi_pct_register {
@@ -110,12 +98,12 @@ struct acpi_pct_register {
 } __attribute__ ((packed));
 
 struct acpi_processor_px {
-       acpi_integer core_frequency;    /* megahertz */
-       acpi_integer power;     /* milliWatts */
-       acpi_integer transition_latency;        /* microseconds */
-       acpi_integer bus_master_latency;        /* microseconds */
-       acpi_integer control;   /* control value */
-       acpi_integer status;    /* success indicator */
+       u64 core_frequency;     /* megahertz */
+       u64 power;      /* milliWatts */
+       u64 transition_latency; /* microseconds */
+       u64 bus_master_latency; /* microseconds */
+       u64 control;    /* control value */
+       u64 status;     /* success indicator */
 };
 
 struct acpi_processor_performance {
@@ -133,11 +121,11 @@ struct acpi_processor_performance {
 /* Throttling Control */
 
 struct acpi_tsd_package {
-       acpi_integer num_entries;
-       acpi_integer revision;
-       acpi_integer domain;
-       acpi_integer coord_type;
-       acpi_integer num_processors;
+       u64 num_entries;
+       u64 revision;
+       u64 domain;
+       u64 coord_type;
+       u64 num_processors;
 } __attribute__ ((packed));
 
 struct acpi_ptc_register {
@@ -151,11 +139,11 @@ struct acpi_ptc_register {
 } __attribute__ ((packed));
 
 struct acpi_processor_tx_tss {
-       acpi_integer freqpercentage;    /* */
-       acpi_integer power;     /* milliWatts */
-       acpi_integer transition_latency;        /* microseconds */
-       acpi_integer control;   /* control value */
-       acpi_integer status;    /* success indicator */
+       u64 freqpercentage;     /* */
+       u64 power;      /* milliWatts */
+       u64 transition_latency; /* microseconds */
+       u64 control;    /* control value */
+       u64 status;     /* success indicator */
 };
 struct acpi_processor_tx {
        u16 power;
@@ -174,7 +162,7 @@ struct acpi_processor_throttling {
        cpumask_var_t shared_cpu_map;
        int (*acpi_processor_get_throttling) (struct acpi_processor * pr);
        int (*acpi_processor_set_throttling) (struct acpi_processor * pr,
-                                             int state);
+                                             int state, bool force);
 
        u32 address;
        u8 duty_offset;
@@ -207,6 +195,7 @@ struct acpi_processor_flags {
        u8 has_cst:1;
        u8 power_setup_done:1;
        u8 bm_rld_set:1;
+       u8 need_hotplug_init:1;
 };
 
 struct acpi_processor {
@@ -224,8 +213,6 @@ struct acpi_processor {
        struct acpi_processor_throttling throttling;
        struct acpi_processor_limit limit;
        struct thermal_cooling_device *cdev;
-       /* the _PDC objects for this processor, if any */
-       struct acpi_object_list *pdc;
 };
 
 struct acpi_processor_errata {
@@ -238,9 +225,10 @@ struct acpi_processor_errata {
        } piix4;
 };
 
+extern void acpi_processor_load_module(struct acpi_processor *pr);
 extern int acpi_processor_preregister_performance(struct
                                                  acpi_processor_performance
-                                                 *performance);
+                                                 __percpu *performance);
 
 extern int acpi_processor_register_performance(struct acpi_processor_performance
                                               *performance, unsigned int cpu);
@@ -257,8 +245,6 @@ int acpi_processor_notify_smm(struct module *calling_module);
 DECLARE_PER_CPU(struct acpi_processor *, processors);
 extern struct acpi_processor_errata errata;
 
-void arch_acpi_processor_init_pdc(struct acpi_processor *pr);
-
 #ifdef ARCH_HAS_POWER_INIT
 void acpi_processor_power_init_bm_check(struct acpi_processor_flags *flags,
                                        unsigned int cpu);
@@ -293,7 +279,8 @@ static inline void acpi_processor_ffh_cstate_enter(struct acpi_processor_cx
 #ifdef CONFIG_CPU_FREQ
 void acpi_processor_ppc_init(void);
 void acpi_processor_ppc_exit(void);
-int acpi_processor_ppc_has_changed(struct acpi_processor *pr);
+int acpi_processor_ppc_has_changed(struct acpi_processor *pr, int event_flag);
+extern int acpi_processor_get_bios_limit(int cpu, unsigned int *limit);
 #else
 static inline void acpi_processor_ppc_init(void)
 {
@@ -303,7 +290,8 @@ static inline void acpi_processor_ppc_exit(void)
 {
        return;
 }
-static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr)
+static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr,
+                                                               int event_flag)
 {
        static unsigned int printout = 1;
        if (printout) {
@@ -315,12 +303,28 @@ static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr)
        }
        return 0;
 }
+static inline int acpi_processor_get_bios_limit(int cpu, unsigned int *limit)
+{
+       return -ENODEV;
+}
+
 #endif                         /* CONFIG_CPU_FREQ */
 
+/* in processor_core.c */
+void acpi_processor_set_pdc(acpi_handle handle);
+int acpi_get_cpuid(acpi_handle, int type, u32 acpi_id);
+
 /* in processor_throttling.c */
 int acpi_processor_tstate_has_changed(struct acpi_processor *pr);
 int acpi_processor_get_throttling_info(struct acpi_processor *pr);
-extern int acpi_processor_set_throttling(struct acpi_processor *pr, int state);
+extern int acpi_processor_set_throttling(struct acpi_processor *pr,
+                                        int state, bool force);
+/*
+ * Reevaluate whether the T-state is invalid after one cpu is
+ * onlined/offlined. In such case the flags.throttling will be updated.
+ */
+extern void acpi_processor_reevaluate_tstate(struct acpi_processor *pr,
+                       unsigned long action);
 extern const struct file_operations acpi_processor_throttling_fops;
 extern void acpi_processor_throttling_init(void);
 /* in processor_idle.c */
@@ -335,8 +339,7 @@ extern struct cpuidle_driver acpi_idle_driver;
 
 /* in processor_thermal.c */
 int acpi_processor_get_limit_info(struct acpi_processor *pr);
-extern const struct file_operations acpi_processor_limit_fops;
-extern struct thermal_cooling_device_ops processor_cooling_ops;
+extern const struct thermal_cooling_device_ops processor_cooling_ops;
 #ifdef CONFIG_CPU_FREQ
 void acpi_thermal_cpufreq_init(void);
 void acpi_thermal_cpufreq_exit(void);