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"); |
