diff options
author | John Sonnenschein <johns@joyent.com> | 2012-05-17 18:26:57 +0000 |
---|---|---|
committer | John Sonnenschein <johns@joyent.com> | 2012-05-17 18:26:57 +0000 |
commit | 04b244dd661c24b510ac22936decfc0972d202d3 (patch) | |
tree | 3ebfef98afc303fddf3415d6fba64e8682f495e8 /usr/src/uts/i86pc/sys/cpupm_mach.h | |
parent | eac250589e41f1b705e1b7427b02b3379aac9f9e (diff) | |
parent | a69187741b83640a90dd8586195456dd50c016a8 (diff) | |
download | illumos-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.h | 14 |
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 } |