Skip to contentSkip to conversation

powercap / RAPL: disable the 2nd power limit properly

PATCH New Seiichi Ikarashi 1 participant 1 message Aug 19, 2015 Power management core

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 powercap / RAPL: disable the 2nd power limit properly

Let rapl_unregister_powercap() disable the second power limit only if it exists.
Intel64 SDM Vol.3 14.9 says that the package domain has it but neither the power plane domain nor the DRAM domain has it.

---
 drivers/powercap/intel_rapl.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
drivers/powercap/intel_rapl.c +4 -2
index 482b22d..314fb5c 100644
@@ -1145,9 +1145,11 @@ static int rapl_unregister_powercap(void)
 			pr_debug("remove package, undo power limit on %d: %s\n",
 				rp->id, rd->name);
 			rapl_write_data_raw(rd, PL1_ENABLE, 0);
-			rapl_write_data_raw(rd, PL2_ENABLE, 0);
 			rapl_write_data_raw(rd, PL1_CLAMP, 0);
-			rapl_write_data_raw(rd, PL2_CLAMP, 0);
+			if (find_nr_power_limit(rd) > 1) {
+				rapl_write_data_raw(rd, PL2_ENABLE, 0);
+				rapl_write_data_raw(rd, PL2_CLAMP, 0);
+			}
 			if (rd->id == RAPL_DOMAIN_PACKAGE) {
 				rd_package = rd;
 				continue;