diff mbox series

[SRU,O,1/1] platform/x86: asus-wmi: Fix thermal profile initialization

Message ID 20241030155348.262119-2-tjaalton@ubuntu.com
State New
Headers show
Series asus: Fix thermal profile initialization on Lunar Lake | expand

Commit Message

Timo Aaltonen Oct. 30, 2024, 3:53 p.m. UTC
From: Armin Wolf <W_Armin@gmx.de>

BugLink: https://bugs.launchpad.net/bugs/2085950

When support for vivobook fan profiles was added, the initial
call to throttle_thermal_policy_set_default() was removed, which
however is necessary for full initialization.

Fix this by calling throttle_thermal_policy_set_default() again
when setting up the platform profile.

Fixes: bcbfcebda2cb ("platform/x86: asus-wmi: add support for vivobook fan profiles")
Reported-by: Michael Larabel <Michael@phoronix.com>
Closes: https://www.phoronix.com/review/lunar-lake-xe2/5
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://lore.kernel.org/r/20241025191514.15032-2-W_Armin@gmx.de
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
(cherry picked from commit b012170fed282151f7ba8988a347670c299f5ab3)
Signed-off-by: Timo Aaltonen <timo.aaltonen@canonical.com>
---
 drivers/platform/x86/asus-wmi.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff mbox series

Patch

diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index 321a658e4554..82c91f34e6f9 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -3850,6 +3850,16 @@  static int platform_profile_setup(struct asus_wmi *asus)
 	if (!asus->throttle_thermal_policy_available)
 		return 0;
 
+	/*
+	 * We need to set the default thermal profile during probe or otherwise
+	 * the system will often remain in silent mode, causing low performance.
+	 */
+	err = throttle_thermal_policy_set_default(asus);
+	if (err < 0) {
+		pr_warn("Failed to set default thermal profile\n");
+		return err;
+	}
+
 	dev_info(dev, "Using throttle_thermal_policy for platform_profile support\n");
 
 	asus->platform_profile_handler.profile_get = asus_wmi_platform_profile_get;