From: Seiichi Ikarashi Date: Wed, 19 Aug 2015 05:26:03 +0000 (+0900) Subject: powercap / RAPL: disable the 2nd power limit properly X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=5021282cc483d4126c1704942adb74806f7d15d6;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git 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. Signed-off-by: Seiichi Ikarashi Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/powercap/intel_rapl.c b/drivers/powercap/intel_rapl.c index a5eddfbb0230..5efacd050c7d 100644 --- a/drivers/powercap/intel_rapl.c +++ b/drivers/powercap/intel_rapl.c @@ -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;