Skip to content

Commit

Permalink
cpupower: AMD fam14h/Ontario monitor can also be used by fam12h cpus
Browse files Browse the repository at this point in the history
The name of the monitor is updated at runtime to the name of the
CPU type.

Signed-off-by: Thomas Renninger <[email protected]>
CC: Andreas Herrmann <[email protected]>
Signed-off-by: Dominik Brodowski <[email protected]>
  • Loading branch information
watologo1 authored and Dominik Brodowski committed Mar 3, 2012
1 parent 568a899 commit f642089
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
2 changes: 1 addition & 1 deletion tools/power/cpupower/man/cpupower-monitor.1
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ Deepest package sleep states may in reality show up as machine/platform wide
sleep states and can only be entered if all cores are idle. Look up Intel
manuals (some are provided in the References section) for further details.

.SS "Ontario" "Liano"
.SS "Fam_12h" "Fam_14h"
AMD laptop and desktop processor (family 12h and 14h) sleep state counters.
The registers are accessed via PCI and therefore can still be read out while
cores have been offlined.
Expand Down
16 changes: 8 additions & 8 deletions tools/power/cpupower/utils/idle_monitor/amd_fam14h_idle.c
Original file line number Diff line number Diff line change
Expand Up @@ -281,13 +281,13 @@ struct cpuidle_monitor *amd_fam14h_register(void)
if (cpupower_cpu_info.vendor != X86_VENDOR_AMD)
return NULL;

if (cpupower_cpu_info.family == 0x14) {
if (cpu_count <= 0 || cpu_count > 2) {
fprintf(stderr, "AMD fam14h: Invalid cpu count: %d\n",
cpu_count);
return NULL;
}
} else
if (cpupower_cpu_info.family == 0x14)
strncpy(amd_fam14h_monitor.name, "Fam_14h",
MONITOR_NAME_LEN - 1);
else if (cpupower_cpu_info.family == 0x12)
strncpy(amd_fam14h_monitor.name, "Fam_12h",
MONITOR_NAME_LEN - 1);
else
return NULL;

/* We do not alloc for nbp1 machine wide counter */
Expand Down Expand Up @@ -322,7 +322,7 @@ static void amd_fam14h_unregister(void)
}

struct cpuidle_monitor amd_fam14h_monitor = {
.name = "Ontario",
.name = "",
.hw_states = amd_fam14h_cstates,
.hw_states_num = AMD_FAM14H_STATE_NUM,
.start = amd_fam14h_start,
Expand Down

0 comments on commit f642089

Please sign in to comment.