aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi/cppc_acpi.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/acpi/cppc_acpi.h')
-rw-r--r--include/acpi/cppc_acpi.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/include/acpi/cppc_acpi.h b/include/acpi/cppc_acpi.h
index 284965cbc9af..427a7c3e6c75 100644
--- a/include/acpi/cppc_acpi.h
+++ b/include/acpi/cppc_acpi.h
@@ -24,7 +24,9 @@
24#define CPPC_NUM_ENT 21 24#define CPPC_NUM_ENT 21
25#define CPPC_REV 2 25#define CPPC_REV 2
26 26
27#define PCC_CMD_COMPLETE 1 27#define PCC_CMD_COMPLETE_MASK (1 << 0)
28#define PCC_ERROR_MASK (1 << 2)
29
28#define MAX_CPC_REG_ENT 19 30#define MAX_CPC_REG_ENT 19
29 31
30/* CPPC specific PCC commands. */ 32/* CPPC specific PCC commands. */
@@ -49,6 +51,7 @@ struct cpc_reg {
49 */ 51 */
50struct cpc_register_resource { 52struct cpc_register_resource {
51 acpi_object_type type; 53 acpi_object_type type;
54 u64 __iomem *sys_mem_vaddr;
52 union { 55 union {
53 struct cpc_reg reg; 56 struct cpc_reg reg;
54 u64 int_value; 57 u64 int_value;
@@ -60,8 +63,11 @@ struct cpc_desc {
60 int num_entries; 63 int num_entries;
61 int version; 64 int version;
62 int cpu_id; 65 int cpu_id;
66 int write_cmd_status;
67 int write_cmd_id;
63 struct cpc_register_resource cpc_regs[MAX_CPC_REG_ENT]; 68 struct cpc_register_resource cpc_regs[MAX_CPC_REG_ENT];
64 struct acpi_psd_package domain_info; 69 struct acpi_psd_package domain_info;
70 struct kobject kobj;
65}; 71};
66 72
67/* These are indexes into the per-cpu cpc_regs[]. Order is important. */ 73/* These are indexes into the per-cpu cpc_regs[]. Order is important. */
@@ -96,7 +102,6 @@ enum cppc_regs {
96struct cppc_perf_caps { 102struct cppc_perf_caps {
97 u32 highest_perf; 103 u32 highest_perf;
98 u32 nominal_perf; 104 u32 nominal_perf;
99 u32 reference_perf;
100 u32 lowest_perf; 105 u32 lowest_perf;
101}; 106};
102 107
@@ -108,13 +113,13 @@ struct cppc_perf_ctrls {
108 113
109struct cppc_perf_fb_ctrs { 114struct cppc_perf_fb_ctrs {
110 u64 reference; 115 u64 reference;
111 u64 prev_reference;
112 u64 delivered; 116 u64 delivered;
113 u64 prev_delivered; 117 u64 reference_perf;
118 u64 ctr_wrap_time;
114}; 119};
115 120
116/* Per CPU container for runtime CPPC management. */ 121/* Per CPU container for runtime CPPC management. */
117struct cpudata { 122struct cppc_cpudata {
118 int cpu; 123 int cpu;
119 struct cppc_perf_caps perf_caps; 124 struct cppc_perf_caps perf_caps;
120 struct cppc_perf_ctrls perf_ctrls; 125 struct cppc_perf_ctrls perf_ctrls;
@@ -127,6 +132,7 @@ struct cpudata {
127extern int cppc_get_perf_ctrs(int cpu, struct cppc_perf_fb_ctrs *perf_fb_ctrs); 132extern int cppc_get_perf_ctrs(int cpu, struct cppc_perf_fb_ctrs *perf_fb_ctrs);
128extern int cppc_set_perf(int cpu, struct cppc_perf_ctrls *perf_ctrls); 133extern int cppc_set_perf(int cpu, struct cppc_perf_ctrls *perf_ctrls);
129extern int cppc_get_perf_caps(int cpu, struct cppc_perf_caps *caps); 134extern int cppc_get_perf_caps(int cpu, struct cppc_perf_caps *caps);
130extern int acpi_get_psd_map(struct cpudata **); 135extern int acpi_get_psd_map(struct cppc_cpudata **);
136extern unsigned int cppc_get_transition_latency(int cpu);
131 137
132#endif /* _CPPC_ACPI_H*/ 138#endif /* _CPPC_ACPI_H*/