summaryrefslogtreecommitdiff
path: root/usr/src/uts/i86pc/sys/cpupm_mach.h
diff options
context:
space:
mode:
authorJohn Sonnenschein <johns@joyent.com>2012-05-17 18:26:57 +0000
committerJohn Sonnenschein <johns@joyent.com>2012-05-17 18:26:57 +0000
commit04b244dd661c24b510ac22936decfc0972d202d3 (patch)
tree3ebfef98afc303fddf3415d6fba64e8682f495e8 /usr/src/uts/i86pc/sys/cpupm_mach.h
parenteac250589e41f1b705e1b7427b02b3379aac9f9e (diff)
parenta69187741b83640a90dd8586195456dd50c016a8 (diff)
downloadillumos-joyent-20120517.tar.gz
Merge git.joyent.com:illumos-joyent20120517
Diffstat (limited to 'usr/src/uts/i86pc/sys/cpupm_mach.h')
-rw-r--r--usr/src/uts/i86pc/sys/cpupm_mach.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/usr/src/uts/i86pc/sys/cpupm_mach.h b/usr/src/uts/i86pc/sys/cpupm_mach.h
index 0d1304b112..279c00e0c9 100644
--- a/usr/src/uts/i86pc/sys/cpupm_mach.h
+++ b/usr/src/uts/i86pc/sys/cpupm_mach.h
@@ -107,6 +107,14 @@ typedef struct cpupm_mach_acpi_state {
cma_state_t cma_state;
} cpupm_mach_acpi_state_t;
+typedef struct cpupm_mach_turbo_info {
+ kstat_t *turbo_ksp; /* turbo kstat */
+ int in_turbo; /* in turbo? */
+ int turbo_supported; /* turbo flag */
+ uint64_t t_mcnt; /* turbo mcnt */
+ uint64_t t_acnt; /* turbo acnt */
+} cpupm_mach_turbo_info_t;
+
typedef struct cpupm_mach_state {
void *ms_acpi_handle;
cpupm_mach_acpi_state_t ms_pstate;
@@ -115,7 +123,7 @@ typedef struct cpupm_mach_state {
uint32_t ms_caps;
dev_info_t *ms_dip;
kmutex_t ms_lock;
- void *ms_vendor;
+ cpupm_mach_turbo_info_t *ms_turbo;
struct cpupm_notification *ms_handlers;
} cpupm_mach_state_t;
@@ -191,6 +199,10 @@ extern void cpupm_add_notify_handler(cpu_t *, CPUPM_NOTIFY_HANDLER, void *);
extern int cpupm_get_top_speed(cpu_t *);
extern void cpupm_idle_cstate_data(cma_c_state_t *, int);
extern void cpupm_wakeup_cstate_data(cma_c_state_t *, hrtime_t);
+extern void cpupm_record_turbo_info(cpupm_mach_turbo_info_t *, uint32_t,
+ uint32_t);
+extern cpupm_mach_turbo_info_t *cpupm_turbo_init(cpu_t *);
+extern void cpupm_turbo_fini(cpupm_mach_turbo_info_t *);
#ifdef __cplusplus
}