IPS driver: apply BIOS provided CPU limit if different from default
authorJesse Barnes <jbarnes@virtuousgeek.org>
Tue, 5 Oct 2010 18:26:22 +0000 (11:26 -0700)
committerMatthew Garrett <mjg@redhat.com>
Tue, 5 Oct 2010 18:59:25 +0000 (14:59 -0400)
The BIOS may hand us a lower CPU power limit than the default for a
given SKU.  We should use it in case the platform isn't designed to
dissapate the full TDP of a given part.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
drivers/platform/x86/intel_ips.c

index 76e41dc45f764e43b58faaa551663206b43975f1..50ab1c93e369cb7ae598406ac4689d3607c79c81 100644 (file)
@@ -1391,9 +1391,10 @@ static struct ips_mcp_limits *ips_detect_cpu(struct ips_driver *ips)
        tdp = turbo_power & TURBO_TDP_MASK;
 
        /* Sanity check TDP against CPU */
-       if (limits->mcp_power_limit != (tdp / 8) * 1000) {
-               dev_warn(&ips->dev->dev, "Warning: CPU TDP doesn't match expected value (found %d, expected %d)\n",
-                        tdp / 8, limits->mcp_power_limit / 1000);
+       if (limits->core_power_limit != (tdp / 8) * 1000) {
+               dev_info(&ips->dev->dev, "CPU TDP doesn't match expected value (found %d, expected %d)\n",
+                        tdp / 8, limits->core_power_limit / 1000);
+               limits->core_power_limit = (tdp / 8) * 1000;
        }
 
 out: