]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
cpupower: AMD fam14h/Ontario monitor can also be used by fam12h cpus
authorThomas Renninger <trenn@suse.de>
Tue, 11 Oct 2011 13:33:51 +0000 (15:33 +0200)
committerDominik Brodowski <linux@dominikbrodowski.net>
Sat, 3 Mar 2012 13:40:08 +0000 (14:40 +0100)
The name of the monitor is updated at runtime to the name of the
CPU type.

Signed-off-by: Thomas Renninger <trenn@suse.de>
CC: Andreas Herrmann <herrmann.der.user@googlemail.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
tools/power/cpupower/man/cpupower-monitor.1
tools/power/cpupower/utils/idle_monitor/amd_fam14h_idle.c

index d5cfa265c3d3c93e53043bedb6fd2cea131759c0..1141c2073719d266fe4bf7ea65d9692fc9ff79a0 100644 (file)
@@ -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.
index 108108dfa680090d86bdbd6274a137d25254b525..2116df9ad83254eb0a7a37246b83f959e669b7f5 100644 (file)
@@ -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 */
@@ -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,