aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/platform/x86/intel_ips.c6
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) >>