diff options
Diffstat (limited to 'include/acpi/cppc_acpi.h')
-rw-r--r-- | include/acpi/cppc_acpi.h | 18 |
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 | */ |
50 | struct cpc_register_resource { | 52 | struct 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 { | |||
96 | struct cppc_perf_caps { | 102 | struct 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 | ||
109 | struct cppc_perf_fb_ctrs { | 114 | struct 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. */ |
117 | struct cpudata { | 122 | struct 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 { | |||
127 | extern int cppc_get_perf_ctrs(int cpu, struct cppc_perf_fb_ctrs *perf_fb_ctrs); | 132 | extern int cppc_get_perf_ctrs(int cpu, struct cppc_perf_fb_ctrs *perf_fb_ctrs); |
128 | extern int cppc_set_perf(int cpu, struct cppc_perf_ctrls *perf_ctrls); | 133 | extern int cppc_set_perf(int cpu, struct cppc_perf_ctrls *perf_ctrls); |
129 | extern int cppc_get_perf_caps(int cpu, struct cppc_perf_caps *caps); | 134 | extern int cppc_get_perf_caps(int cpu, struct cppc_perf_caps *caps); |
130 | extern int acpi_get_psd_map(struct cpudata **); | 135 | extern int acpi_get_psd_map(struct cppc_cpudata **); |
136 | extern unsigned int cppc_get_transition_latency(int cpu); | ||
131 | 137 | ||
132 | #endif /* _CPPC_ACPI_H*/ | 138 | #endif /* _CPPC_ACPI_H*/ |