powercap / RAPL: disable the 2nd power limit properly
[firefly-linux-kernel-4.4.55.git] / drivers / powercap / intel_rapl.c
index a5eddfbb02309d834aa9320d10d021330a421c7b..5efacd050c7d56682016d6097a466fca1261611b 100644 (file)
@@ -1147,9 +1147,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;