From: Tiezhu Yang Date: Thu, 9 Jul 2020 03:55:20 +0000 (+0800) Subject: MIPS: Loongson: Reduce possible loop times and add log in do_thermal_timer() X-Git-Tag: v5.9-rc1~128^2~59 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=17cbb0702e89f36db7608a441e9557088bd790ea;p=thirdparty%2Fkernel%2Flinux.git MIPS: Loongson: Reduce possible loop times and add log in do_thermal_timer() Once the temperature of any CPUs is too high, it can power off immediately, no need to check the rest of CPUs, and it is better to print a log before power off, this is useful when analysis the abnormal issues. Signed-off-by: Tiezhu Yang Signed-off-by: Zhi Li Signed-off-by: Thomas Bogendoerfer --- diff --git a/drivers/platform/mips/cpu_hwmon.c b/drivers/platform/mips/cpu_hwmon.c index fa42b13f2e562..c9f35e5d0b891 100644 --- a/drivers/platform/mips/cpu_hwmon.c +++ b/drivers/platform/mips/cpu_hwmon.c @@ -153,18 +153,17 @@ static struct delayed_work thermal_work; static void do_thermal_timer(struct work_struct *work) { - int i, value, temp_max = 0; + int i, value; for (i = 0; i < nr_packages; i++) { value = loongson3_cpu_temp(i); - if (value > temp_max) - temp_max = value; + if (value > CPU_THERMAL_THRESHOLD) { + pr_emerg("Power off due to high temp: %d\n", value); + orderly_poweroff(true); + } } - if (temp_max <= CPU_THERMAL_THRESHOLD) - schedule_delayed_work(&thermal_work, msecs_to_jiffies(5000)); - else - orderly_poweroff(true); + schedule_delayed_work(&thermal_work, msecs_to_jiffies(5000)); } static int __init loongson_hwmon_init(void)