diff options
-rw-r--r-- | drivers/platform/x86/intel_ips.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/platform/x86/intel_ips.c b/drivers/platform/x86/intel_ips.c index 07a1a4aac609..76e41dc45f76 100644 --- a/drivers/platform/x86/intel_ips.c +++ b/drivers/platform/x86/intel_ips.c | |||
@@ -715,7 +715,8 @@ 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 | ips->gpu_turbo_enabled = !(hts & HTS_GTD_DIS); | 718 | if (ips->gpu_busy) |
719 | ips->gpu_turbo_enabled = !(hts & HTS_GTD_DIS); | ||
719 | ips->core_power_limit = thm_readw(THM_MPCPC); | 720 | ips->core_power_limit = thm_readw(THM_MPCPC); |
720 | ips->mch_power_limit = thm_readw(THM_MMGPC); | 721 | ips->mch_power_limit = thm_readw(THM_MMGPC); |
721 | ips->mcp_temp_limit = thm_readw(THM_PTL); | 722 | ips->mcp_temp_limit = thm_readw(THM_PTL); |
@@ -1185,7 +1186,8 @@ static irqreturn_t ips_irq_handler(int irq, void *arg) | |||
1185 | STS_GPL_SHIFT; | 1186 | STS_GPL_SHIFT; |
1186 | /* ignore EC CPU vs GPU pref */ | 1187 | /* ignore EC CPU vs GPU pref */ |
1187 | ips->cpu_turbo_enabled = !(sts & STS_PCTD_DIS); | 1188 | ips->cpu_turbo_enabled = !(sts & STS_PCTD_DIS); |
1188 | ips->gpu_turbo_enabled = !(sts & STS_GTD_DIS); | 1189 | if (ips->gpu_busy) |
1190 | ips->gpu_turbo_enabled = !(sts & STS_GTD_DIS); | ||
1189 | ips->mcp_temp_limit = (sts & STS_PTL_MASK) >> | 1191 | ips->mcp_temp_limit = (sts & STS_PTL_MASK) >> |
1190 | STS_PTL_SHIFT; | 1192 | STS_PTL_SHIFT; |
1191 | ips->mcp_power_limit = (tc1 & STS_PPL_MASK) >> | 1193 | ips->mcp_power_limit = (tc1 & STS_PPL_MASK) >> |