diff options
-rw-r--r-- | drivers/platform/x86/intel_ips.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/drivers/platform/x86/intel_ips.c b/drivers/platform/x86/intel_ips.c index 50ab1c93e369..4b3ecdefd6e9 100644 --- a/drivers/platform/x86/intel_ips.c +++ b/drivers/platform/x86/intel_ips.c | |||
@@ -715,8 +715,15 @@ static void update_turbo_limits(struct ips_driver *ips) | |||
715 | u32 hts = thm_readl(THM_HTS); | 715 | u32 hts = thm_readl(THM_HTS); |
716 | 716 | ||
717 | ips->cpu_turbo_enabled = !(hts & HTS_PCTD_DIS); | 717 | ips->cpu_turbo_enabled = !(hts & HTS_PCTD_DIS); |
718 | /* | ||
719 | * Disable turbo for now, until we can figure out why the power figures | ||
720 | * are wrong | ||
721 | */ | ||
722 | ips->cpu_turbo_enabled = false; | ||
723 | |||
718 | if (ips->gpu_busy) | 724 | if (ips->gpu_busy) |
719 | ips->gpu_turbo_enabled = !(hts & HTS_GTD_DIS); | 725 | ips->gpu_turbo_enabled = !(hts & HTS_GTD_DIS); |
726 | |||
720 | ips->core_power_limit = thm_readw(THM_MPCPC); | 727 | ips->core_power_limit = thm_readw(THM_MPCPC); |
721 | ips->mch_power_limit = thm_readw(THM_MMGPC); | 728 | ips->mch_power_limit = thm_readw(THM_MMGPC); |
722 | ips->mcp_temp_limit = thm_readw(THM_PTL); | 729 | ips->mcp_temp_limit = thm_readw(THM_PTL); |
@@ -895,7 +902,7 @@ static u32 get_cpu_power(struct ips_driver *ips, u32 *last, int period) | |||
895 | ret = (ret * 1000) / 65535; | 902 | ret = (ret * 1000) / 65535; |
896 | *last = val; | 903 | *last = val; |
897 | 904 | ||
898 | return ret; | 905 | return 0; |
899 | } | 906 | } |
900 | 907 | ||
901 | static const u16 temp_decay_factor = 2; | 908 | static const u16 temp_decay_factor = 2; |
@@ -1186,6 +1193,11 @@ static irqreturn_t ips_irq_handler(int irq, void *arg) | |||
1186 | STS_GPL_SHIFT; | 1193 | STS_GPL_SHIFT; |
1187 | /* ignore EC CPU vs GPU pref */ | 1194 | /* ignore EC CPU vs GPU pref */ |
1188 | ips->cpu_turbo_enabled = !(sts & STS_PCTD_DIS); | 1195 | ips->cpu_turbo_enabled = !(sts & STS_PCTD_DIS); |
1196 | /* | ||
1197 | * Disable turbo for now, until we can figure | ||
1198 | * out why the power figures are wrong | ||
1199 | */ | ||
1200 | ips->cpu_turbo_enabled = false; | ||
1189 | if (ips->gpu_busy) | 1201 | if (ips->gpu_busy) |
1190 | ips->gpu_turbo_enabled = !(sts & STS_GTD_DIS); | 1202 | ips->gpu_turbo_enabled = !(sts & STS_GTD_DIS); |
1191 | ips->mcp_temp_limit = (sts & STS_PTL_MASK) >> | 1203 | ips->mcp_temp_limit = (sts & STS_PTL_MASK) >> |
@@ -1573,8 +1585,8 @@ static int ips_probe(struct pci_dev *dev, const struct pci_device_id *id) | |||
1573 | /* Save turbo limits & ratios */ | 1585 | /* Save turbo limits & ratios */ |
1574 | rdmsrl(TURBO_POWER_CURRENT_LIMIT, ips->orig_turbo_limit); | 1586 | rdmsrl(TURBO_POWER_CURRENT_LIMIT, ips->orig_turbo_limit); |
1575 | 1587 | ||
1576 | ips_enable_cpu_turbo(ips); | 1588 | ips_disable_cpu_turbo(ips); |
1577 | ips->cpu_turbo_enabled = true; | 1589 | ips->cpu_turbo_enabled = false; |
1578 | 1590 | ||
1579 | /* Create thermal adjust thread */ | 1591 | /* Create thermal adjust thread */ |
1580 | ips->adjust = kthread_create(ips_adjust, ips, "ips-adjust"); | 1592 | ips->adjust = kthread_create(ips_adjust, ips, "ips-adjust"); |