From bcf369f37f2eee9f51cd08a3dfc4a5e0cef2add1 Mon Sep 17 00:00:00 2001 From: Leonid Maksymchuk <leonmaxx@gmail.com> Date: Sun, 15 Dec 2019 16:27:24 +0200 Subject: [PATCH 2/2] platform/x86: asus_wmi: Set throttle thermal policy to default 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. [1] Link: https://bugzilla.kernel.org/show_bug.cgi?id=203733 Signed-off-by: Leonid Maksymchuk <leonmaxx@gmail.com> --- drivers/platform/x86/asus-wmi.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c index 11b7eec1192b..43bb15e05529 100644 --- a/drivers/platform/x86/asus-wmi.c +++ b/drivers/platform/x86/asus-wmi.c @@ -1774,6 +1774,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; @@ -2542,6 +2551,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) -- 2.25.0