cpupower: IvyBridge (0x3a and 0x3e models) support
authorThomas Renninger <trenn@suse.de>
Tue, 27 Nov 2012 12:17:49 +0000 (13:17 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 27 Nov 2012 22:07:20 +0000 (23:07 +0100)
Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
tools/power/cpupower/utils/helpers/cpuid.c
tools/power/cpupower/utils/idle_monitor/snb_idle.c

index 906895d..93b0aa7 100644 (file)
@@ -158,6 +158,8 @@ out:
                                cpu_info->caps |= CPUPOWER_CAP_HAS_TURBO_RATIO;
                        case 0x2A:      /* SNB */
                        case 0x2D:      /* SNB Xeon */
+                       case 0x3A:      /* IVB */
+                       case 0x3E:      /* IVB Xeon */
                                cpu_info->caps |= CPUPOWER_CAP_HAS_TURBO_RATIO;
                                cpu_info->caps |= CPUPOWER_CAP_IS_SNB;
                                break;
index a1bc07c..a99b43b 100644 (file)
@@ -150,9 +150,15 @@ static struct cpuidle_monitor *snb_register(void)
            || cpupower_cpu_info.family != 6)
                return NULL;
 
-       if (cpupower_cpu_info.model != 0x2A
-           && cpupower_cpu_info.model != 0x2D)
+       switch (cpupower_cpu_info.model) {
+       case 0x2A: /* SNB */
+       case 0x2D: /* SNB Xeon */
+       case 0x3A: /* IVB */
+       case 0x3E: /* IVB Xeon */
+               break;
+       default:
                return NULL;
+       }
 
        is_valid = calloc(cpu_count, sizeof(int));
        for (num = 0; num < SNB_CSTATE_COUNT; num++) {