From 6b3bbe770f4ca0439710b7c42f88b9f6eeebabd0 Mon Sep 17 00:00:00 2001 From: Marco Scardovi Date: Wed, 10 Jun 2026 17:21:30 +0200 Subject: [PATCH] platform/x86: asus-armoury: add support for G614PR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add TDP power limits and fan curve requirements for the ASUS ROG Strix G16 G614PR laptop model. The ASUS ROG Strix G16 G614PR requires specific AC/DC power limits (PPT PL1/PL2/PL3, dynamic boost, and NV TGP targets) to function correctly under various power profiles. Without these limits, the Asus Armoury driver cannot configure the correct power envelopes or enable custom fan curves, leading to suboptimal performance or noise management. This patch adds the corresponding DMI board name matching entry ("G614PR") under the power_limits table in asus-armoury.h, populating the AC and DC limits based on the platform's hardware specification. Assisted-by: Antigravity:gemini-3.5-flash Signed-off-by: Marco Scardovi Reviewed-by: Denis Benato Link: https://patch.msgid.link/20260610152130.25892-1-scardracs@disroot.org Reviewed-by: Ilpo Järvinen Signed-off-by: Ilpo Järvinen --- drivers/platform/x86/asus-armoury.h | 34 +++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/drivers/platform/x86/asus-armoury.h b/drivers/platform/x86/asus-armoury.h index 692978b61959..5be34b6a92db 100644 --- a/drivers/platform/x86/asus-armoury.h +++ b/drivers/platform/x86/asus-armoury.h @@ -1898,6 +1898,40 @@ static const struct dmi_system_id power_limits[] = { .requires_fan_curve = true, }, }, + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "G614PR"), + }, + .driver_data = &(struct power_data) { + .ac_data = &(struct power_limits) { + .ppt_pl1_spl_min = 30, + .ppt_pl1_spl_max = 90, + .ppt_pl2_sppt_min = 65, + .ppt_pl2_sppt_def = 110, + .ppt_pl2_sppt_max = 125, + .ppt_pl3_fppt_min = 65, + .ppt_pl3_fppt_def = 110, + .ppt_pl3_fppt_max = 125, + .nv_temp_target_min = 75, + .nv_temp_target_max = 87, + .nv_dynamic_boost_min = 5, + .nv_dynamic_boost_max = 25, + .nv_tgp_min = 65, + .nv_tgp_max = 115, + }, + .dc_data = &(struct power_limits) { + .ppt_pl1_spl_min = 25, + .ppt_pl1_spl_max = 65, + .ppt_pl2_sppt_min = 25, + .ppt_pl2_sppt_max = 65, + .ppt_pl3_fppt_min = 35, + .ppt_pl3_fppt_max = 75, + .nv_temp_target_min = 75, + .nv_temp_target_max = 87, + }, + .requires_fan_curve = true, + }, + }, { .matches = { DMI_MATCH(DMI_BOARD_NAME, "G615LR"),