]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
platform/x86: asus_wmi: Set throttle thermal policy to default
authorLeonid Maksymchuk <leonmaxx@gmail.com>
Sun, 15 Dec 2019 14:27:24 +0000 (16:27 +0200)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 10 Jan 2020 09:57:22 +0000 (11:57 +0200)
ASUS TUF FX705DY/FX505DY starts in silent mode and under heavy
CPU load it overheats and drops CPU frequency to 399MHz and stays
at it until reboot [1]. Set throttle thermal policy to default
to avoid overheating and throttlig.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=203733
Signed-off-by: Leonid Maksymchuk <leonmaxx@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/platform/x86/asus-wmi.c

index f10ec9d745e58b4b015c2a11f1e9de3049dc46fe..469f1a85271913793a0e6363a23e01f55ebc010e 100644 (file)
@@ -1780,6 +1780,15 @@ static int throttle_thermal_policy_write(struct asus_wmi *asus)
        return 0;
 }
 
+static int throttle_thermal_policy_set_default(struct asus_wmi *asus)
+{
+       if (!asus->throttle_thermal_policy_available)
+               return 0;
+
+       asus->throttle_thermal_policy_mode = ASUS_THROTTLE_THERMAL_POLICY_DEFAULT;
+       return throttle_thermal_policy_write(asus);
+}
+
 static int throttle_thermal_policy_switch_next(struct asus_wmi *asus)
 {
        u8 new_mode = asus->throttle_thermal_policy_mode + 1;
@@ -2548,6 +2557,8 @@ static int asus_wmi_add(struct platform_device *pdev)
        err = throttle_thermal_policy_check_present(asus);
        if (err)
                goto fail_throttle_thermal_policy;
+       else
+               throttle_thermal_policy_set_default(asus);
 
        err = asus_wmi_sysfs_init(asus->platform_device);
        if (err)