From nobody Fri Dec 19 20:34:50 2025 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DD2D81F12EE; Wed, 8 Jan 2025 08:46:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736325962; cv=none; b=p6s4xtUuU9L0RPTIa9jOa8auFmxkqUWR6/HmCKajOkipKSWBluzABGZ+KI+rmsJ9OePwNus5g+eN5Pvpjgn2MJHmUHEpSL/NHFCFeS41yS9EuVF821gi3NMd96Csa5y34Xw6fmkU46xJzPeaJLFITU1yTv7HUTueC6SWK2hVNVA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736325962; c=relaxed/simple; bh=CKzg5Pm13udSKJOgvTDhQySCSoNl0FYJa5oKa6xy1Kw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=o8fSsfVnTYeC8z2z27fge4XfDqE95K8NW5iL9jHIUWTWDIC/P0eTcyKGibvBml9AL8bAfxa+DtDtNALH7uHIiTPlF+Sa0xFBKDI0agQQVli9hayq7TQSuKLMNR5Ej9LwEXIwZmtnAb8CBvSDfiBlaeCxExA62070rlbf/cH9k1s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=S6OTmxvY; arc=none smtp.client-ip=209.85.214.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="S6OTmxvY" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2165448243fso47929185ad.1; Wed, 08 Jan 2025 00:46:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736325960; x=1736930760; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=tKe9tzE97MJhjwt8IMOkld+MahS1dPUD2DgQWb3YrJ4=; b=S6OTmxvYlzhJjK2whVxfVrjyHYRt2d8ZkJtO234jgAoCMoUU1GGUUmgA5hUDY3Enhj kKhaI0UmXYa7edLct2NcsXHfDGg+w421YaU7XoqWfDS3JxOGEa4whTC1Ju2isZD58Bwn T1ApxJqJLz5p9KqB18WxTBoHnew/meItl6GInbXiOmSg6kE+oklwsed4z9XZtHMWQ5dT IxqG9w5pewg9bci1W3Ov3n7J3BKmMWHPgBqwZhRGH6PNA2sMlnoNc8+0hVTH+Bz6nhMv i5p5FLdZNARXZFfhW5l02vSWH33cA31x1sawaU54+1QWPDRW1qO6KUu+bAyCh2GToMtS hIWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736325960; x=1736930760; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tKe9tzE97MJhjwt8IMOkld+MahS1dPUD2DgQWb3YrJ4=; b=M4l4CWR0C5gyRPwY2c3jGv23Ta0di7yE2WILFac/EuvW79QsCgeCFeEAXYhtcga53G 62c87JJse2tRMLyk1/+1FeiQcZxRFQuyeDQpJA6eAH3N9ttwUEVh0ws63EzV1DQAZlGn cuBBDGt/sEVoD5JBHx1krmPoC/cNsAcNxs9SxaUZMRLUoF+xZ+LoA/btkK5apJFsDE5V O5WalILObmDg0IJPY0imZDk2PBpqqu7CvXdSozSBwrsSUa3SLKBcUAuUOnuyyo9WTa20 dRxnvjL0iRyP4GdeKBWKQ0xI1psOhmXuA9Cbi/8X/+/hUWZ110h6e50SWp39azjGaydK /p9A== X-Forwarded-Encrypted: i=1; AJvYcCUtYWY9kVuQpLK9+7y4aNSXQTeQ0sq02q8gJ85sk24OVelwDXxCYVpLbZdzwOXA+bDPOrm+oWJxzSgVhe8=@vger.kernel.org X-Gm-Message-State: AOJu0YxhHo68au43zrxoroMzDI4R6BUWuzg19/+e4C6ZpgwcfVX4fo4B Mhrqb57KMtkHPoFao7rAy39+DGWhzllZQFhHXOEHhXqnpR6PeYJ0/ImrApRhYSY= X-Gm-Gg: ASbGncuiTY3CZPaFmEvjsVtWtAEPIiWY5GKKjLBH8lzMaOm8HzkVeAcnFefickTItNC HHt20bMWWTOqV5uzde+HO9cSFoNN+UvZ4UOhmdX8+kFpkETS1Zld0Q7ckUepiq1ke0UhkWcaVa7 V14ry1UCoEk6PUPI0+T2iWpLURyI/JCR+xSYb71jxgAPnvUiwZNtdj2Ga9h8vNRb/TllQ88E8WR NbG76OnteV3sEkyiAkft8A7XpAv0W9dfWemYF0Bo0ntuTIAYcBQU/MB4BwnbQ== X-Google-Smtp-Source: AGHT+IGbfJkFUWoSWSvvK6itizOvTx25HYyMoIo43dgpEcTzjErZ1PXsLj2+DD7BGNMftTTnPncorg== X-Received: by 2002:a05:6a20:3d83:b0:1e0:c77c:450d with SMTP id adf61e73a8af0-1e88d13b562mr3392702637.1.1736325959714; Wed, 08 Jan 2025 00:45:59 -0800 (PST) Received: from [10.113.16.67] ([175.184.253.10]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad90c18fsm36150152b3a.184.2025.01.08.00.45.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2025 00:45:59 -0800 (PST) From: Hridesh MG Date: Wed, 08 Jan 2025 14:15:23 +0530 Subject: [PATCH v3 1/5] platform/x86: acer-wmi: use WMI calls for platform profile handling Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250108-platform_profile-v3-1-ec3658d9be9c@gmail.com> References: <20250108-platform_profile-v3-0-ec3658d9be9c@gmail.com> In-Reply-To: <20250108-platform_profile-v3-0-ec3658d9be9c@gmail.com> To: Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Armin Wolf Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Shuah Khan , Hridesh MG X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1736325951; l=10962; i=hridesh699@gmail.com; s=20241114; h=from:subject:message-id; bh=CKzg5Pm13udSKJOgvTDhQySCSoNl0FYJa5oKa6xy1Kw=; b=8LCj+UA/XCTQTYNRs6yI48AN59viFADYorb1CrSJtKF5VgJQN4edAkjWfFLGOOcZ88hnNANLT Png7jBnvgrNCVwPoCVa1sxvwSfFEpSOA3928nW6YoSvgZLi9XRY9pTC X-Developer-Key: i=hridesh699@gmail.com; a=ed25519; pk=otVQutD5ZTsEpajsGv/haM3pQj0yofkuYrdNcaX5AUE= Improve the platform profile handling by using WMI calls to fetch the current platform profile instead of directly accessing it from the EC. This is beneficial because the EC address differs for certain laptops. Link: https://lore.kernel.org/platform-driver-x86/d7be714c-3103-42ee-ad15-2= 23a3fe67f80@gmx.de/ Co-developed-by: Armin Wolf Signed-off-by: Armin Wolf Signed-off-by: Hridesh MG Reviewed-by: Kurt Borja --- drivers/platform/x86/acer-wmi.c | 185 ++++++++++++++++++++++++++++--------= ---- 1 file changed, 129 insertions(+), 56 deletions(-) diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wm= i.c index b3043d78a7b38a7b773da5ecd4846ca11e8595f5..97eabb0ec42781a27e6a00ce0df= 4c8a815c1b817 100644 --- a/drivers/platform/x86/acer-wmi.c +++ b/drivers/platform/x86/acer-wmi.c @@ -31,6 +31,7 @@ #include #include #include +#include #include =20 MODULE_AUTHOR("Carlos Corbacho"); @@ -68,8 +69,11 @@ MODULE_LICENSE("GPL"); #define ACER_WMID_GET_GAMING_SYS_INFO_METHODID 5 #define ACER_WMID_SET_GAMING_FAN_BEHAVIOR 14 #define ACER_WMID_SET_GAMING_MISC_SETTING_METHODID 22 +#define ACER_WMID_GET_GAMING_MISC_SETTING_METHODID 23 =20 -#define ACER_PREDATOR_V4_THERMAL_PROFILE_EC_OFFSET 0x54 +#define ACER_GAMING_MISC_SETTING_STATUS_MASK GENMASK_ULL(7, 0) +#define ACER_GAMING_MISC_SETTING_INDEX_MASK GENMASK_ULL(7, 0) +#define ACER_GAMING_MISC_SETTING_VALUE_MASK GENMASK_ULL(15, 8) =20 #define ACER_PREDATOR_V4_RETURN_STATUS_BIT_MASK GENMASK_ULL(7, 0) #define ACER_PREDATOR_V4_SENSOR_INDEX_BIT_MASK GENMASK_ULL(15, 8) @@ -115,6 +119,10 @@ enum acer_wmi_predator_v4_sensor_id { ACER_WMID_SENSOR_GPU_TEMPERATURE =3D 0x0A, }; =20 +enum acer_wmi_gaming_misc_setting { + ACER_WMID_MISC_SETTING_PLATFORM_PROFILE =3D 0x000B, +}; + static const struct key_entry acer_wmi_keymap[] __initconst =3D { {KE_KEY, 0x01, {KEY_WLAN} }, /* WiFi */ {KE_KEY, 0x03, {KEY_WLAN} }, /* WiFi */ @@ -751,20 +759,12 @@ static bool platform_profile_support; */ static int last_non_turbo_profile; =20 -enum acer_predator_v4_thermal_profile_ec { - ACER_PREDATOR_V4_THERMAL_PROFILE_ECO =3D 0x04, - ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO =3D 0x03, - ACER_PREDATOR_V4_THERMAL_PROFILE_PERFORMANCE =3D 0x02, - ACER_PREDATOR_V4_THERMAL_PROFILE_QUIET =3D 0x01, - ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED =3D 0x00, -}; - -enum acer_predator_v4_thermal_profile_wmi { - ACER_PREDATOR_V4_THERMAL_PROFILE_ECO_WMI =3D 0x060B, - ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO_WMI =3D 0x050B, - ACER_PREDATOR_V4_THERMAL_PROFILE_PERFORMANCE_WMI =3D 0x040B, - ACER_PREDATOR_V4_THERMAL_PROFILE_QUIET_WMI =3D 0x0B, - ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED_WMI =3D 0x010B, +enum acer_predator_v4_thermal_profile { + ACER_PREDATOR_V4_THERMAL_PROFILE_QUIET =3D 0x00, + ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED =3D 0x01, + ACER_PREDATOR_V4_THERMAL_PROFILE_PERFORMANCE =3D 0x04, + ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO =3D 0x05, + ACER_PREDATOR_V4_THERMAL_PROFILE_ECO =3D 0x06, }; =20 /* Find which quirks are needed for a particular vendor/ model pair */ @@ -1477,6 +1477,45 @@ WMI_gaming_execute_u64(u32 method_id, u64 in, u64 *o= ut) return status; } =20 +static int WMI_gaming_execute_u32_u64(u32 method_id, u32 in, u64 *out) +{ + struct acpi_buffer result =3D { ACPI_ALLOCATE_BUFFER, NULL }; + struct acpi_buffer input =3D { + .length =3D sizeof(in), + .pointer =3D &in, + }; + union acpi_object *obj; + acpi_status status; + int ret =3D 0; + + status =3D wmi_evaluate_method(WMID_GUID4, 0, method_id, &input, &result); + if (ACPI_FAILURE(status)) + return -EIO; + + obj =3D result.pointer; + if (obj && out) { + switch (obj->type) { + case ACPI_TYPE_INTEGER: + *out =3D obj->integer.value; + break; + case ACPI_TYPE_BUFFER: + if (obj->buffer.length < sizeof(*out)) + ret =3D -ENOMSG; + else + *out =3D get_unaligned_le64(obj->buffer.pointer); + + break; + default: + ret =3D -ENOMSG; + break; + } + } + + kfree(obj); + + return ret; +} + static acpi_status WMID_gaming_set_u64(u64 value, u32 cap) { u32 method_id =3D 0; @@ -1565,6 +1604,48 @@ static void WMID_gaming_set_fan_mode(u8 fan_mode) WMID_gaming_set_u64(gpu_fan_config2 | gpu_fan_config1 << 16, ACER_CAP_TUR= BO_FAN); } =20 +static int WMID_gaming_set_misc_setting(enum acer_wmi_gaming_misc_setting = setting, u8 value) +{ + acpi_status status; + u64 input =3D 0; + u64 result; + + input |=3D FIELD_PREP(ACER_GAMING_MISC_SETTING_INDEX_MASK, setting); + input |=3D FIELD_PREP(ACER_GAMING_MISC_SETTING_VALUE_MASK, value); + + status =3D WMI_gaming_execute_u64(ACER_WMID_SET_GAMING_MISC_SETTING_METHO= DID, input, &result); + if (ACPI_FAILURE(status)) + return -EIO; + + /* The return status must be zero for the operation to have succeeded */ + if (FIELD_GET(ACER_GAMING_MISC_SETTING_STATUS_MASK, result)) + return -EIO; + + return 0; +} + +static int WMID_gaming_get_misc_setting(enum acer_wmi_gaming_misc_setting = setting, u8 *value) +{ + u64 input =3D 0; + u64 result; + int ret; + + input |=3D FIELD_PREP(ACER_GAMING_MISC_SETTING_INDEX_MASK, setting); + + ret =3D WMI_gaming_execute_u32_u64(ACER_WMID_GET_GAMING_MISC_SETTING_METH= ODID, input, + &result); + if (ret < 0) + return ret; + + /* The return status must be zero for the operation to have succeeded */ + if (FIELD_GET(ACER_GAMING_MISC_SETTING_STATUS_MASK, result)) + return -EIO; + + *value =3D FIELD_GET(ACER_GAMING_MISC_SETTING_VALUE_MASK, result); + + return 0; +} + /* * Generic Device (interface-independent) */ @@ -1833,9 +1914,8 @@ acer_predator_v4_platform_profile_get(struct platform= _profile_handler *pprof, u8 tp; int err; =20 - err =3D ec_read(ACER_PREDATOR_V4_THERMAL_PROFILE_EC_OFFSET, &tp); - - if (err < 0) + err =3D WMID_gaming_get_misc_setting(ACER_WMID_MISC_SETTING_PLATFORM_PROF= ILE, &tp); + if (err) return err; =20 switch (tp) { @@ -1865,36 +1945,33 @@ static int acer_predator_v4_platform_profile_set(struct platform_profile_handler *ppr= of, enum platform_profile_option profile) { - int tp; - acpi_status status; + int err, tp; =20 switch (profile) { case PLATFORM_PROFILE_PERFORMANCE: - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO; break; case PLATFORM_PROFILE_BALANCED_PERFORMANCE: - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_PERFORMANCE_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_PERFORMANCE; break; case PLATFORM_PROFILE_BALANCED: - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED; break; case PLATFORM_PROFILE_QUIET: - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_QUIET_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_QUIET; break; case PLATFORM_PROFILE_LOW_POWER: - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_ECO_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_ECO; break; default: return -EOPNOTSUPP; } =20 - status =3D WMI_gaming_execute_u64( - ACER_WMID_SET_GAMING_MISC_SETTING_METHODID, tp, NULL); - - if (ACPI_FAILURE(status)) - return -EIO; + err =3D WMID_gaming_set_misc_setting(ACER_WMID_MISC_SETTING_PLATFORM_PROF= ILE, tp); + if (err) + return err; =20 - if (tp !=3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO_WMI) + if (tp !=3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO) last_non_turbo_profile =3D tp; =20 return 0; @@ -1931,7 +2008,7 @@ static int acer_platform_profile_setup(struct platfor= m_device *device) =20 /* Set default non-turbo profile */ last_non_turbo_profile =3D - ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED_WMI; + ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED; } return 0; } @@ -1946,12 +2023,10 @@ static int acer_thermal_profile_change(void) u8 current_tp; int tp, err; u64 on_AC; - acpi_status status; - - err =3D ec_read(ACER_PREDATOR_V4_THERMAL_PROFILE_EC_OFFSET, - ¤t_tp); =20 - if (err < 0) + err =3D WMID_gaming_get_misc_setting(ACER_WMID_MISC_SETTING_PLATFORM_PRO= FILE, + ¤t_tp); + if (err) return err; =20 /* Check power source */ @@ -1962,54 +2037,52 @@ static int acer_thermal_profile_change(void) switch (current_tp) { case ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO: if (!on_AC) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED; else if (cycle_gaming_thermal_profile) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_ECO_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_ECO; else tp =3D last_non_turbo_profile; break; case ACER_PREDATOR_V4_THERMAL_PROFILE_PERFORMANCE: if (!on_AC) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED; else - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO; break; case ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED: if (!on_AC) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_ECO_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_ECO; else if (cycle_gaming_thermal_profile) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_PERFORMANCE_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_PERFORMANCE; else - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO; break; case ACER_PREDATOR_V4_THERMAL_PROFILE_QUIET: if (!on_AC) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED; else if (cycle_gaming_thermal_profile) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED; else - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO; break; case ACER_PREDATOR_V4_THERMAL_PROFILE_ECO: if (!on_AC) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED; else if (cycle_gaming_thermal_profile) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_QUIET_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_QUIET; else - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO_WMI; + tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO; break; default: return -EOPNOTSUPP; } =20 - status =3D WMI_gaming_execute_u64( - ACER_WMID_SET_GAMING_MISC_SETTING_METHODID, tp, NULL); - - if (ACPI_FAILURE(status)) - return -EIO; + err =3D WMID_gaming_set_misc_setting(ACER_WMID_MISC_SETTING_PLATFORM_PRO= FILE, tp); + if (err) + return err; =20 /* Store non-turbo profile for turbo mode toggle*/ - if (tp !=3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO_WMI) + if (tp !=3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO) last_non_turbo_profile =3D tp; =20 platform_profile_notify(&platform_profile_handler); --=20 2.47.1 From nobody Fri Dec 19 20:34:50 2025 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C8CE81F1303; Wed, 8 Jan 2025 08:46:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736325968; cv=none; b=QQ/b564anAOePPOwtbQuk0oSSsavGSbM7P4R+QT6Aj1ESfUS7rLRkNk1IHwpU6Sn0/XsF4KRUGl/AxnDbEtb2is6CMVyOQCgU+54/ElqzRdJob2d8WYOlObtJW3I6r515E1/2nZwxygcL9XWrmMnVyCPZHOeBrLd/eoFevpjW6U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736325968; c=relaxed/simple; bh=Kl8YH70qBGfCKESe6HmH/rPu+7PEVaQAal6Ek8WZRAc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kLaAlXO5N//7Ua4TxohD3qn5D0SP6i19CbvQWDy+T+spVTjvr9hrPrgnjl0+KLg+1gN1pu0rkZPdhZXGPERlB6vbfKO/qJdixzTImbndWiiezTjJktp6Z839JSJR3Ab8iLdSM+Xx7WVC40nh5VcbdaPwgo3mLvAXlAHucSE3Nbc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=HJSjLPZl; arc=none smtp.client-ip=209.85.214.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HJSjLPZl" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2162c0f6a39so11232765ad.0; Wed, 08 Jan 2025 00:46:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736325966; x=1736930766; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=va6nRfy08ptRZsQKC4EWXAo51FHwsjlpC0QwYA5fiTY=; b=HJSjLPZlWcJPiOyoMZi6rZnkN2bGFOwWLNYvF+0i+vub2xZLy6eqf9yr6uJRFSPMcf yfx5zuRQKH1O3GxOtgt45w1Iwx3pc4HdGIFwFCUBnPAQUkjZ9/wzRHd6RueZ5nzLyy9N 73wpalAwrK3ZnKQQ1LsvhBAYOmkrql5v8udRw086TBrZSM1GGMVyPA8LdXW9odHufoMQ qKyfDESVpMJf8++INwTojkZIMLS8J6Yg8bu5mjye+la0jlspDVJ5iHUaQAPvaCDAXlXL QHCTr2JWeafTOjTlLrcMi662BzvaodZ7pjDOkStJA9aFr+5HjXjjmhnLhV6c7G3I7hbX Ps1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736325966; x=1736930766; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=va6nRfy08ptRZsQKC4EWXAo51FHwsjlpC0QwYA5fiTY=; b=azSpytLSJhzP6CKoHO/Z+8lVD5GqmdLDIsNzb1BkVAYJ4+cE8RefDuu3i88Ckn+eGG +Vmrv5DKgb/rILOYNlAni3EksZGZ5CJQmECIei2GXU4rTytET2Y2HslzyzyRegAa2MSt ClcSuHKIxa5JS6r2VCmfI362w1ZpzmI06HbIlvs3bXD4TbRG7tBmeYGjR4amhJ/ksgzC 1Sooy6Ic5E7BPmS5OP09aVZMTiHSh1KvBAePbBgzyH6c8zz3sz+C/IgMlcoXao699NTU 8XhxFMU1eqhx52axmJjQDCUlYZLQWV37MGlqYMl14HpKmrv1TSgo/bTTMuErAgsnIyD2 mK6Q== X-Forwarded-Encrypted: i=1; AJvYcCWNU0i3cRiQH5HQ9bhYyKvduTXlzSyX+F/eSc3bxwaRaC25dvpLvJNiANvqbL3TyYaeeS14YOJLt+2DJB4=@vger.kernel.org X-Gm-Message-State: AOJu0YwEnEnnzW5FkOa31E4D9Ra8j9a2wt0S7vkFomC7xDTH3JpTuZ8q q2q5Qz46MRwQk3Hfyuszu6QN6JxGyTMJXSuhqFb7TuXpP7PkNDKvOtKuo5FamVk= X-Gm-Gg: ASbGnctp7mBryTxW6hmOyyyz5y0WIYOYrQWBpFwMC+cOZi91CC0OE2uoP7NeSwZPPxx ULGcrmQVnW6EAZE6JgFu7MfU0zT+z1eyq5A4Um6vqykzKYCcBrjh1J+f9WDhCJHFSz6z4vEAYOA sAhKxGtlRZuz9RAsKbmFCczUeudnpLMB8rVYaSjXtdXm504D2YuAFaehBzuur2qR222Y6JwTP1d /PfMiUMmpBAcdFUAHKINg+iBLePXi3XeAycabw0jruFR99ACnGyJMTuLpPS/Q== X-Google-Smtp-Source: AGHT+IH0q4kPIlCsDAqItmaecksfKpLuZRkLFC0t2p19OyKa/jdpSIpPLqv0x3YyXmvJW7k931phxg== X-Received: by 2002:a05:6a00:3a04:b0:728:f21b:ce4c with SMTP id d2e1a72fcca58-72d2169f582mr3582460b3a.5.1736325965770; Wed, 08 Jan 2025 00:46:05 -0800 (PST) Received: from [10.113.16.67] ([175.184.253.10]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad90c18fsm36150152b3a.184.2025.01.08.00.46.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2025 00:46:05 -0800 (PST) From: Hridesh MG Date: Wed, 08 Jan 2025 14:15:24 +0530 Subject: [PATCH v3 2/5] platform/x86: acer-wmi: use new helper function for setting overclocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250108-platform_profile-v3-2-ec3658d9be9c@gmail.com> References: <20250108-platform_profile-v3-0-ec3658d9be9c@gmail.com> In-Reply-To: <20250108-platform_profile-v3-0-ec3658d9be9c@gmail.com> To: Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Armin Wolf Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Shuah Khan , Hridesh MG X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1736325951; l=2353; i=hridesh699@gmail.com; s=20241114; h=from:subject:message-id; bh=Kl8YH70qBGfCKESe6HmH/rPu+7PEVaQAal6Ek8WZRAc=; b=6F5gqWaBZKev3KTA0ioUz30QOSUJEnkOarSvOQ/Ei+6iyRmCSzXNE2f+6DSBzzuDY0uCABWNc C8c91f74DWgBFwQfcDHNBarPj5FpyKwaoEf9+cQxFDRlzleo/ZQa/3W X-Developer-Key: i=hridesh699@gmail.com; a=ed25519; pk=otVQutD5ZTsEpajsGv/haM3pQj0yofkuYrdNcaX5AUE= Migrate the OC handling in acer_toggle_turbo() to the new helper function for issuing the SetGamingMiscSetting WMI call. Signed-off-by: Hridesh MG Reviewed-by: Kurt Borja --- drivers/platform/x86/acer-wmi.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wm= i.c index 97eabb0ec42781a27e6a00ce0df4c8a815c1b817..f662e3740408f70e1e921a90fe7= 5ce441fd239d0 100644 --- a/drivers/platform/x86/acer-wmi.c +++ b/drivers/platform/x86/acer-wmi.c @@ -119,7 +119,14 @@ enum acer_wmi_predator_v4_sensor_id { ACER_WMID_SENSOR_GPU_TEMPERATURE =3D 0x0A, }; =20 +enum acer_wmi_predator_v4_oc { + ACER_WMID_OC_NORMAL =3D 0x0000, + ACER_WMID_OC_TURBO =3D 0x0002, +}; + enum acer_wmi_gaming_misc_setting { + ACER_WMID_MISC_SETTING_OC_1 =3D 0x0005, + ACER_WMID_MISC_SETTING_OC_2 =3D 0x0007, ACER_WMID_MISC_SETTING_PLATFORM_PROFILE =3D 0x000B, }; =20 @@ -1530,9 +1537,6 @@ static acpi_status WMID_gaming_set_u64(u64 value, u32= cap) case ACER_CAP_TURBO_FAN: method_id =3D ACER_WMID_SET_GAMING_FAN_BEHAVIOR; break; - case ACER_CAP_TURBO_OC: - method_id =3D ACER_WMID_SET_GAMING_MISC_SETTING_METHODID; - break; default: return AE_BAD_PARAMETER; } @@ -1891,8 +1895,12 @@ static int acer_toggle_turbo(void) WMID_gaming_set_fan_mode(0x1); =20 /* Set OC to normal */ - WMID_gaming_set_u64(0x5, ACER_CAP_TURBO_OC); - WMID_gaming_set_u64(0x7, ACER_CAP_TURBO_OC); + if (has_cap(ACER_CAP_TURBO_OC)) { + WMID_gaming_set_misc_setting(ACER_WMID_MISC_SETTING_OC_1, + ACER_WMID_OC_NORMAL); + WMID_gaming_set_misc_setting(ACER_WMID_MISC_SETTING_OC_2, + ACER_WMID_OC_NORMAL); + } } else { /* Turn on turbo led */ WMID_gaming_set_u64(0x10001, ACER_CAP_TURBO_LED); @@ -1901,8 +1909,12 @@ static int acer_toggle_turbo(void) WMID_gaming_set_fan_mode(0x2); =20 /* Set OC to turbo mode */ - WMID_gaming_set_u64(0x205, ACER_CAP_TURBO_OC); - WMID_gaming_set_u64(0x207, ACER_CAP_TURBO_OC); + if (has_cap(ACER_CAP_TURBO_OC)) { + WMID_gaming_set_misc_setting(ACER_WMID_MISC_SETTING_OC_1, + ACER_WMID_OC_TURBO); + WMID_gaming_set_misc_setting(ACER_WMID_MISC_SETTING_OC_2, + ACER_WMID_OC_TURBO); + } } return turbo_led_state; } --=20 2.47.1 From nobody Fri Dec 19 20:34:50 2025 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B70D01F0E38; Wed, 8 Jan 2025 08:46:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736325973; cv=none; b=UnPvVRQbX48RoPHIiEi9g0cC+Q8FII9x5a4/T7tZzhYI98554L4TTChpzDO2lgOJhpWY0mAm+eCbad6GhlzFrplSlDZ/9hYKHNR/jqanAA6GxcpzyJbiLHFNF+qMIzvmxqQRkZ5Tm3zGvy7bHOZgB0/gKC+RYNny3canSNwJVag= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736325973; c=relaxed/simple; bh=rSB9wBk4XoxGxfasLjGzFlGQLBNclMGlYpCEFAcEZ2w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Gu8oiozhKwEK8B0F50hdTwjITSmWpPF+Nxb25HaE8Gan0vIAi1Z3cdFQChZJpcfpKpYfUflK6l54u9/cy0WKby4oX9AFRsV8YAWv5PziSoyzyFn64Vkla5/0pL9v92xz+YVYhgAIoeWDi6d/bzIoXsqQyQOpQ4/Vq1I9Kcb7Pvo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=K3pfrHdh; arc=none smtp.client-ip=209.85.214.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="K3pfrHdh" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-21670dce0a7so72179885ad.1; Wed, 08 Jan 2025 00:46:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736325970; x=1736930770; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Aujqfzf+Zfy8dsZ/+H1C+mIMGl8nWFEnF6FImzkZAvk=; b=K3pfrHdhvIKgDAIVB/m8oVI/1RUQnxa7ExZrcYPzxSkRHPYz1QpqwAXHXRrHXGj+Uq sQuf/2DylO0BhAsRsgCfdHccS03ufW1RyH7flW3MBHABuiGSulEDFQJ4W4HR/EoEn69/ HJcNT/9sp1Nrybfh8iDJfqUW8tgCNF/XqMXtv+ct+Kx/5/BnKm7669Yg6kSbzwb4jBgT znOQ3TYjJ4l418GKISUrFWH9wjZS8EGzwLswNk/Yhsrs3o82hI7Wyxd5VqUErXCaiZZf FxXKJOvGmZNWT6l1UCnZ3fEbEFq55ezjPCJsQ8dwuLIgf/DXHxXAZvNqOHCnMpezcglJ vXBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736325970; x=1736930770; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Aujqfzf+Zfy8dsZ/+H1C+mIMGl8nWFEnF6FImzkZAvk=; b=QlJQxTLgldCNKFUC/EPxJTLGb2HXkfNfl9f7I6ZoUAh2sFNfrj4cjJIdIpRPYuSNT5 u38I0ka4iwYbKOJibPTKU0dbejbFtAbmcTBXM2hd2yPdcjHZoQJ0akyvPLjHYzKYmyQG ThytL0fKA/o8WDq+fwMErUY9K1dL98KrszgGdy/4jtmosLS3GnhPlipvTlXn5PKYan3D X74q3PYu9+6w+sxzJUBw88YQ4XvTyicijsCQL0tJWIRdHcxJIShIH5CbJsA77oEgIK4G iwZr5NVgZUMv/boBMxMdyxOiNA/lgpbk8W0GV9inQwLDeD2AIVKtZTl+XNKbQaA7Ay7y mGxQ== X-Forwarded-Encrypted: i=1; AJvYcCWX3uNv0FZALwWoxGfJDygRmL1nPOFPEhBaTTICNNgkrIV05UwAqK/d71v3jrEJ65YISmYgRDq6Ar+tcfg=@vger.kernel.org X-Gm-Message-State: AOJu0YzAonGHhr+UphVrUH5U7YFXvAPJKSoVkWgIHTwLKFhm8DvYIMct Qz38GPQJJnMG9RpP/iora3d5OnUZSq1QiZsUwZfRdgsen6FGp+p15N0kk8D5o5I= X-Gm-Gg: ASbGnctWVAey2oVCc5f6jHoNCEeX6DD1oTxNQqeVK6Mxro2OKYA641jZMDVkeCl2eIl YL+u+GyFkhTzlse39D9YaVRSAVd07ikB24n9pGYtyuRG54Se7EOURtxTnTr0lyQC5rweF/dJFQX PWb4OmdvpyzxzQ/bEusiA8zgE/OtXk64a2dLnegPMgitQATTcb7ICeyApH+OR/QFq3jTSvKVDpr XZ8oyaFZvazKj9lmuyz/ezZdprVNSa57HUQys1WxRYNrVxAMEyxRY3a87qvkA== X-Google-Smtp-Source: AGHT+IEJFyKVtnvJr32IR1InkIVDUgVESQO6KGgiR0Dww8aQbwdhzjVM28OxgtRF6r3c15QfEY0zng== X-Received: by 2002:a05:6a20:72ab:b0:1e1:af9e:2779 with SMTP id adf61e73a8af0-1e88cfd3c67mr4599177637.22.1736325970578; Wed, 08 Jan 2025 00:46:10 -0800 (PST) Received: from [10.113.16.67] ([175.184.253.10]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad90c18fsm36150152b3a.184.2025.01.08.00.46.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2025 00:46:10 -0800 (PST) From: Hridesh MG Date: Wed, 08 Jan 2025 14:15:25 +0530 Subject: [PATCH v3 3/5] platform/x86: acer-wmi: simplify platform profile cycling Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250108-platform_profile-v3-3-ec3658d9be9c@gmail.com> References: <20250108-platform_profile-v3-0-ec3658d9be9c@gmail.com> In-Reply-To: <20250108-platform_profile-v3-0-ec3658d9be9c@gmail.com> To: Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Armin Wolf Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Shuah Khan , Hridesh MG X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1736325951; l=3864; i=hridesh699@gmail.com; s=20241114; h=from:subject:message-id; bh=rSB9wBk4XoxGxfasLjGzFlGQLBNclMGlYpCEFAcEZ2w=; b=9uJXnoQ6jOMHUwlw6xAUimIQyP7lYsrqPteJc0azuKW8r4Pk5lrRX/5KOwyEMB5qpBbWcrQ0+ LKTascm+KkEBZLL/FGEb+ZPYxfQIpNaXkK809EyCFORsROpusNDQOZc X-Developer-Key: i=hridesh699@gmail.com; a=ed25519; pk=otVQutD5ZTsEpajsGv/haM3pQj0yofkuYrdNcaX5AUE= Make use of platform_profile_cycle() to simplify the logic used for cycling through the different platform profiles. Also remove the unnecessary handling for AC power, as the hardware accepts different profiles regardless of whether AC is plugged in. Link: https://lore.kernel.org/platform-driver-x86/20e3ac66-b040-49a9-ab00-0= adcfdaed2ff@gmx.de/ Signed-off-by: Hridesh MG --- drivers/platform/x86/acer-wmi.c | 80 ++++++++++---------------------------= ---- 1 file changed, 19 insertions(+), 61 deletions(-) diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wm= i.c index f662e3740408f70e1e921a90fe75ce441fd239d0..7968fe21507b1cf28fdc5751390= 57c795e6a873b 100644 --- a/drivers/platform/x86/acer-wmi.c +++ b/drivers/platform/x86/acer-wmi.c @@ -2028,76 +2028,34 @@ static int acer_platform_profile_setup(struct platf= orm_device *device) static int acer_thermal_profile_change(void) { /* - * This mode key can rotate each mode or toggle turbo mode. - * On battery, only ECO and BALANCED mode are available. + * This mode key will either cycle through each mode or toggle the turbo = profile. */ if (quirks->predator_v4) { u8 current_tp; - int tp, err; - u64 on_AC; + int err, tp; =20 - err =3D WMID_gaming_get_misc_setting(ACER_WMID_MISC_SETTING_PLATFORM_PRO= FILE, - ¤t_tp); - if (err) - return err; - - /* Check power source */ - err =3D WMID_gaming_get_sys_info(ACER_WMID_CMD_GET_PREDATOR_V4_BAT_STATU= S, &on_AC); - if (err < 0) - return err; + if (cycle_gaming_thermal_profile) { + platform_profile_cycle(); + } else { + err =3D WMID_gaming_get_misc_setting(ACER_WMID_MISC_SETTING_PLATFORM_PR= OFILE, + ¤t_tp); + if (err) + return err; =20 - switch (current_tp) { - case ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO: - if (!on_AC) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED; - else if (cycle_gaming_thermal_profile) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_ECO; - else + if (current_tp =3D=3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO) { tp =3D last_non_turbo_profile; - break; - case ACER_PREDATOR_V4_THERMAL_PROFILE_PERFORMANCE: - if (!on_AC) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED; - else + } else { + last_non_turbo_profile =3D current_tp; tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO; - break; - case ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED: - if (!on_AC) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_ECO; - else if (cycle_gaming_thermal_profile) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_PERFORMANCE; - else - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO; - break; - case ACER_PREDATOR_V4_THERMAL_PROFILE_QUIET: - if (!on_AC) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED; - else if (cycle_gaming_thermal_profile) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED; - else - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO; - break; - case ACER_PREDATOR_V4_THERMAL_PROFILE_ECO: - if (!on_AC) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED; - else if (cycle_gaming_thermal_profile) - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_QUIET; - else - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO; - break; - default: - return -EOPNOTSUPP; - } - - err =3D WMID_gaming_set_misc_setting(ACER_WMID_MISC_SETTING_PLATFORM_PRO= FILE, tp); - if (err) - return err; + } =20 - /* Store non-turbo profile for turbo mode toggle*/ - if (tp !=3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO) - last_non_turbo_profile =3D tp; + err =3D WMID_gaming_set_misc_setting( + ACER_WMID_MISC_SETTING_PLATFORM_PROFILE, tp); + if (err) + return err; =20 - platform_profile_notify(&platform_profile_handler); + platform_profile_notify(&platform_profile_handler); + } } =20 return 0; --=20 2.47.1 From nobody Fri Dec 19 20:34:50 2025 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3ACB51F0E59; Wed, 8 Jan 2025 08:46:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736325977; cv=none; b=haPj5vtlvwohtSWm6qDHHazycSOimPAKLInbcdqncnkeD9kmUgw7QNDbh6COZ8Q3Es471DSSeG4l/wKFtZCjb3uUtl9Kg/tdrm9d5k95ZBM08OuJJ3o2tPoRfExygbgJyMobtru1aHhgLU3dqhi+Fld+vGFKNxna06ZjA3Ejo0E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736325977; c=relaxed/simple; bh=di4Fx4wgPYXzBx8a23rdLVv2KV8fqz8zcW9JPzoWtT8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dNcBPnlaLUB/KLOJqPDqjY0bIjR/LhtvqTwLKSWI1tBnr22Q76+ybpu3QT2x3dTE+Dkoxe0i/IlH4NTv5S59BGoAsSedYUobooAZJuPCoAwsjottjYAD/7Imen4M2365AToCTSos/k7QERFyNNlrmGqqyLLyLlJiPrrghdULQIE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Pm2SeCNZ; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Pm2SeCNZ" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-215770613dbso182753815ad.2; Wed, 08 Jan 2025 00:46:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736325975; x=1736930775; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=bA8H0HlkjDIyYVPxMw62A6Px8o8J4m1tI5aZXOEk3wU=; b=Pm2SeCNZV9+6vLPJKLW3spXgvgyCI0nSsxA5sL8MSPgZKVOWcJdEwGksuctGpzf7K0 puQoJ4v0vpui7vc7TPEnTr8U6wt6FjbhC9OTFIUQMOkFVFmqOJyTfQEY1XpiKJQVL5HZ nyT36rAoyd++rVV5zTDeh5QEcOPIegi3AbR317CEELHoI7W1HV56UsVIDo2GAkpFJW2M XiBBkqNR/Wtcg0jBFZHQXJ3DEyceIWzgHX+q/PNbKkkoCD2Uq7U0sp5FceNZrqJBXB/D ChrYsQ3r9ZICwzG2l25+3doaWjVrATy8LLO5NhdiOguFiE71TF7XoCr45T+w43zXIPD+ 1fMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736325975; x=1736930775; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bA8H0HlkjDIyYVPxMw62A6Px8o8J4m1tI5aZXOEk3wU=; b=uQoyeDRgkymg/iT72dOEGJ5qTi2Rk1YHMmpfDTFhvw9TQDnjNQj0pfR2z/zk6VfJWH lEBuUcORKLy4yFe49cffJWAF/hs0Ept4OfoOA3jbMSZu6ZQh1Y7k1nMiKJBNIcLVc0mN 6d4RbqpwEOKT/0lqKKsO9xj50y0A+5NyVt8051a5nLumeo/hikmWyFEaGjGAh3oZ78px QWU9NxTvuBMqXpzyKH+lMlOjZFA/6GnFBDwfwMvgEfakwIBkkXpkcO/Db9Hx3/4ryBuk vAuU+ejQvXRC/NQp9ekngoJGeH+/nLYaUlSBQ5bdGDLsrtPePy1adpaj/p4bK9HYltk2 W02Q== X-Forwarded-Encrypted: i=1; AJvYcCWA1s3X9ZypBav0OdHflJIGJXPDqEbSjKq2rtO8ecd/wNokPmJVSksvwwQiE8CKtmqorCnUWIEN6GzXZjo=@vger.kernel.org X-Gm-Message-State: AOJu0Yzh8zQuauievgV/+HEvo39CqWjdWfcDBq2TDhIttQp6KifE3gxb e1LTkp1uSSR9ZX9zHGPZY5oBlK/79aPiQ8enIhF9taweF9G/dxHb6FLDgOA6bgk= X-Gm-Gg: ASbGncs7SllODzx9DhCt+K6F9SS43nQ0NhlUyTPJsJOZ+xU1hRpCUgH+j5RvI/s4sg6 y8Cm9Y0WIfIauE+JCr9ZUjS7iE/rkLr/6VUmTmasjKUMuURhZTU58oq0rPdotAF2SX3SIOaLsBJ 9YcbNS89RwKEOeYSgBHKr+C8CXsaw7sjD97pCxAd7K4OGOhM04SMfKoyH4L85eQGg9LhFWaXbBE Lug2DVGEcYwdTTev42Jm48HrQ/Ydvp//oDo66ViP5jhtt8XtZyZIliFdSNqHA== X-Google-Smtp-Source: AGHT+IH13fvaioPQQTtFJwtlNIlKgf6uNhoCZ9gSaah9ARwVtXORGNp/Mk2XwnpSQZVjC3kCPpuYLA== X-Received: by 2002:a05:6a00:114e:b0:728:f337:a721 with SMTP id d2e1a72fcca58-72d21f29214mr2581841b3a.7.1736325975053; Wed, 08 Jan 2025 00:46:15 -0800 (PST) Received: from [10.113.16.67] ([175.184.253.10]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad90c18fsm36150152b3a.184.2025.01.08.00.46.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2025 00:46:14 -0800 (PST) From: Hridesh MG Date: Wed, 08 Jan 2025 14:15:26 +0530 Subject: [PATCH v3 4/5] platform/x86: acer-wmi: use an ACPI bitmap to set the platform profile choices Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250108-platform_profile-v3-4-ec3658d9be9c@gmail.com> References: <20250108-platform_profile-v3-0-ec3658d9be9c@gmail.com> In-Reply-To: <20250108-platform_profile-v3-0-ec3658d9be9c@gmail.com> To: Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Armin Wolf Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Shuah Khan , Hridesh MG X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1736325951; l=4924; i=hridesh699@gmail.com; s=20241114; h=from:subject:message-id; bh=di4Fx4wgPYXzBx8a23rdLVv2KV8fqz8zcW9JPzoWtT8=; b=XUHGLh+MOK5EiGoPFgWC56f+4h9axMT45KR/LMIjXe1j7CrwEW/JTFl5c7js8TZtbcY09fUe5 Vx2CvOe5/aoD0E9d+UIf+ZZO5etpzKB5r/9atRdIxv/NHVlZrUEhMGE X-Developer-Key: i=hridesh699@gmail.com; a=ed25519; pk=otVQutD5ZTsEpajsGv/haM3pQj0yofkuYrdNcaX5AUE= Currently the choices for the platform profile are hardcoded. There is an ACPI bitmap accessible via WMI that specifies the supported profiles, use this bitmap to dynamically set the choices for the platform profile. Link: https://lore.kernel.org/platform-driver-x86/ecb60ee5-3df7-4d7e-8ebf-8= c162b339ade@gmx.de/ Signed-off-by: Hridesh MG --- drivers/platform/x86/acer-wmi.c | 55 +++++++++++++++++++++++++++++--------= ---- 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wm= i.c index 7968fe21507b1cf28fdc575139057c795e6a873b..6c98c1bb3bdce6a7c6559f6da4f= f3c6ce56b60e3 100644 --- a/drivers/platform/x86/acer-wmi.c +++ b/drivers/platform/x86/acer-wmi.c @@ -33,6 +33,7 @@ #include #include #include +#include =20 MODULE_AUTHOR("Carlos Corbacho"); MODULE_DESCRIPTION("Acer Laptop WMI Extras Driver"); @@ -127,6 +128,7 @@ enum acer_wmi_predator_v4_oc { enum acer_wmi_gaming_misc_setting { ACER_WMID_MISC_SETTING_OC_1 =3D 0x0005, ACER_WMID_MISC_SETTING_OC_2 =3D 0x0007, + ACER_WMID_MISC_SETTING_SUPPORTED_PROFILES =3D 0x000A, ACER_WMID_MISC_SETTING_PLATFORM_PROFILE =3D 0x000B, }; =20 @@ -1957,7 +1959,7 @@ static int acer_predator_v4_platform_profile_set(struct platform_profile_handler *ppr= of, enum platform_profile_option profile) { - int err, tp; + int max_perf, err, tp; =20 switch (profile) { case PLATFORM_PROFILE_PERFORMANCE: @@ -1983,7 +1985,10 @@ acer_predator_v4_platform_profile_set(struct platfor= m_profile_handler *pprof, if (err) return err; =20 - if (tp !=3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO) + max_perf =3D find_last_bit(platform_profile_handler.choices, + PLATFORM_PROFILE_LAST); + + if (tp !=3D max_perf) last_non_turbo_profile =3D tp; =20 return 0; @@ -1992,6 +1997,7 @@ acer_predator_v4_platform_profile_set(struct platform= _profile_handler *pprof, static int acer_platform_profile_setup(struct platform_device *device) { if (quirks->predator_v4) { + unsigned long supported_profiles; int err; =20 platform_profile_handler.name =3D "acer-wmi"; @@ -2001,16 +2007,30 @@ static int acer_platform_profile_setup(struct platf= orm_device *device) platform_profile_handler.profile_set =3D acer_predator_v4_platform_profile_set; =20 - set_bit(PLATFORM_PROFILE_PERFORMANCE, - platform_profile_handler.choices); - set_bit(PLATFORM_PROFILE_BALANCED_PERFORMANCE, - platform_profile_handler.choices); - set_bit(PLATFORM_PROFILE_BALANCED, - platform_profile_handler.choices); - set_bit(PLATFORM_PROFILE_QUIET, - platform_profile_handler.choices); - set_bit(PLATFORM_PROFILE_LOW_POWER, - platform_profile_handler.choices); + err =3D WMID_gaming_get_misc_setting(ACER_WMID_MISC_SETTING_SUPPORTED_PR= OFILES, + (u8 *)&supported_profiles); + if (err) + return err; + + if (test_bit(ACER_PREDATOR_V4_THERMAL_PROFILE_QUIET, &supported_profiles= )) + set_bit(PLATFORM_PROFILE_QUIET, + platform_profile_handler.choices); + + if (test_bit(ACER_PREDATOR_V4_THERMAL_PROFILE_BALANCED, &supported_profi= les)) + set_bit(PLATFORM_PROFILE_BALANCED, + platform_profile_handler.choices); + + if (test_bit(ACER_PREDATOR_V4_THERMAL_PROFILE_PERFORMANCE, &supported_pr= ofiles)) + set_bit(PLATFORM_PROFILE_BALANCED_PERFORMANCE, + platform_profile_handler.choices); + + if (test_bit(ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO, &supported_profiles= )) + set_bit(PLATFORM_PROFILE_PERFORMANCE, + platform_profile_handler.choices); + + if (test_bit(ACER_PREDATOR_V4_THERMAL_PROFILE_ECO, &supported_profiles)) + set_bit(PLATFORM_PROFILE_LOW_POWER, + platform_profile_handler.choices); =20 err =3D platform_profile_register(&platform_profile_handler); if (err) @@ -2028,11 +2048,11 @@ static int acer_platform_profile_setup(struct platf= orm_device *device) static int acer_thermal_profile_change(void) { /* - * This mode key will either cycle through each mode or toggle the turbo = profile. + * This mode key will either cycle through each mode or toggle the most p= erformant profile. */ if (quirks->predator_v4) { u8 current_tp; - int err, tp; + int max_perf, err, tp; =20 if (cycle_gaming_thermal_profile) { platform_profile_cycle(); @@ -2042,11 +2062,14 @@ static int acer_thermal_profile_change(void) if (err) return err; =20 - if (current_tp =3D=3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO) { + max_perf =3D find_last_bit(platform_profile_handler.choices, + PLATFORM_PROFILE_LAST); + + if (current_tp =3D=3D max_perf) { tp =3D last_non_turbo_profile; } else { last_non_turbo_profile =3D current_tp; - tp =3D ACER_PREDATOR_V4_THERMAL_PROFILE_TURBO; + tp =3D max_perf; } =20 err =3D WMID_gaming_set_misc_setting( --=20 2.47.1 From nobody Fri Dec 19 20:34:50 2025 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF73B1F3D3E; Wed, 8 Jan 2025 08:46:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736325981; cv=none; b=Y+lk433fFtaxVBVkmghMXiDt364gnuaISOQr3CACjqOZPQyyMu+3I4NRBwimxCLV31P1QQU77AvxmPobQmn3Bwd2+/dtmqxfWIHmLRUU731kI0Nvz6xbipYfKyBRjH3OtilvRFYylcJIgXB0ilchvR4VzN3IcX7fCFuKaOaI60I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736325981; c=relaxed/simple; bh=36RW8tlYDTlB4RGxR1zaksxI9oB8GUC5R8ipffTabOk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kAQJwuQAIZXabimVz3OvCmbWcFf0Ch3iyhp79Hn5TaZ8bDUK1uPIvVnzjY0G4Ab/xDpttHk5OccHKObhG8gqQb5DFA7KPztgK583v/G/Mz8qHYJcpCX/9DnfQU+bmkoqqf3JGcNF6NUT41tBY29SDWTiWSkRQsqxPI2Jt1VUXoM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=cIIPoF44; arc=none smtp.client-ip=209.85.214.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="cIIPoF44" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-21669fd5c7cso247906215ad.3; Wed, 08 Jan 2025 00:46:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736325979; x=1736930779; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=xF6tMM21o1icNmPXtWmlCcrJ/ii6nDhDmkxDOwJB6UY=; b=cIIPoF44HYaZdeM4AJuQgIabCnffvACvWZH28tbGA9cqomdZTXFMWm1k9soj0DDRIc AG4FU56wPGFH8Ct4CUQ6mJ52d4ohPFiclS/nDnlSPIZrFqjl9jxFAsmuy4OD5XrTiK1F IudrMslXHAGi42yUazXQP0TjMY+xV3Yf+Hr/AzqB2YSgYSv525lSu/bmrzYEHb4Csjf8 ENgkBKc3bxhv6h7mg01mvkNWXEQ7aRlgpWTGTWb0uXaOC59dz5+LbQ1qTx635IDcAFw7 DRX6dxA+k94fLVro96FP6yckRWHSIHuVHseLsCsIAUbbzfLPz9fGehy95JYD+I82cxZf VIbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736325979; x=1736930779; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xF6tMM21o1icNmPXtWmlCcrJ/ii6nDhDmkxDOwJB6UY=; b=C2ZVvo3sUFtzsJXP/JCvdmtjzUDNb3ska8GOXG5gAKFUwyYDPZ9coWIqYx3BgZaLab PrxP6XtT60eq9+nEEM2jsegH4+0oF/sssmlspN45b9hifjD4UbK7dimjaTyEFS9D1KjV KvTHD02OBdN+cgnnAt4KmNdcYtp2jcwXqT5QjAJ/ed0iuENgkDhR1N5XrzY0nPmcKHIe 0O65UtAzAm4C6ecPFuptnSKdoVQ3rB330jc7pULHbVmS9e5ongGhnx2SddghqRZyg48/ I1jDzBGiXJ3CwCvJtBpdhZ24f7/uvI6zQrTFCF0+26294BMfjU+1XcTFcoWCc1i5W3pw bokw== X-Forwarded-Encrypted: i=1; AJvYcCXDv233O/Zao0sQlSpvbcrmWZPxMq7xLgGaIQCT/w7q1Z9ugJx7SUNh2OUShupiehZEgvqJkLexZUNk+z4=@vger.kernel.org X-Gm-Message-State: AOJu0Yzocw3Fj1Ma8FNFJLHcdUjFI1yu9eqct0Y6tUuoHze74Grybb48 zk3Vmum+s5lhR5yX2fxIiiZgpj+IL43/1bm1fqmBYDONZvc/wsfF0MD327zd4RU= X-Gm-Gg: ASbGncu/M86jQFtqRprh/MCpWeA1i0YZL2hrZ7xRpyakIL5/zb11pp5COPb7BAH9E8g aVwZAeXUtwxdSF8dtsa8vIWDjg5BTR4vQmXlwkP55cFYNDJOPuVYuqJUU9aPVYv7vlm2idfPdBE mba7GoxVF/5F0KWMCac+kgyUZP8B7yAXOAL3fy0lbt8kR3VZOOUnJG/ztP4t49vI+MXaxobNjDC xsITTJiGC0kC1wPzjlzbXHnBHn6eYhM3fPLiJR9cd8yVmoMBY6aAiCXTb9LPw== X-Google-Smtp-Source: AGHT+IExO8GrlZtIL8JW8uRnck1GnnLcXCxRWN/juSIti5Z7enZBgKl91D97ScmH3I7QGTicFHASAg== X-Received: by 2002:a05:6a00:420f:b0:725:e721:1a41 with SMTP id d2e1a72fcca58-72d2201e7aemr3312462b3a.26.1736325978683; Wed, 08 Jan 2025 00:46:18 -0800 (PST) Received: from [10.113.16.67] ([175.184.253.10]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad90c18fsm36150152b3a.184.2025.01.08.00.46.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2025 00:46:18 -0800 (PST) From: Hridesh MG Date: Wed, 08 Jan 2025 14:15:27 +0530 Subject: [PATCH v3 5/5] platform/x86: acer-wmi: add support for Acer Nitro AN515-58 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250108-platform_profile-v3-5-ec3658d9be9c@gmail.com> References: <20250108-platform_profile-v3-0-ec3658d9be9c@gmail.com> In-Reply-To: <20250108-platform_profile-v3-0-ec3658d9be9c@gmail.com> To: Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Armin Wolf Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Shuah Khan , Hridesh MG X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1736325951; l=981; i=hridesh699@gmail.com; s=20241114; h=from:subject:message-id; bh=36RW8tlYDTlB4RGxR1zaksxI9oB8GUC5R8ipffTabOk=; b=DPKiNcfJnzIv1/0n/l0ECY1wbE8kHow+Hfic84MGIvplXG6AimTZNgRfx1awI4LBM4Hy/N0tU hQv9/+a3nIoBwDlrkMVTvJMa0upKo8nUd5Es8mh5frWGzl1FsXa8ilJ X-Developer-Key: i=hridesh699@gmail.com; a=ed25519; pk=otVQutD5ZTsEpajsGv/haM3pQj0yofkuYrdNcaX5AUE= Add predator_v4 quirk for the Acer Nitro AN515-58 to enable fan speed monitoring and platform_profile handling. Signed-off-by: Hridesh MG --- drivers/platform/x86/acer-wmi.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wm= i.c index 6c98c1bb3bdce6a7c6559f6da4ff3c6ce56b60e3..4813ae68af545b50b981022839d= ea398497a64a0 100644 --- a/drivers/platform/x86/acer-wmi.c +++ b/drivers/platform/x86/acer-wmi.c @@ -601,6 +601,15 @@ static const struct dmi_system_id acer_quirks[] __init= const =3D { }, .driver_data =3D &quirk_acer_travelmate_2490, }, + { + .callback =3D dmi_matched, + .ident =3D "Acer Nitro AN515-58", + .matches =3D { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Nitro AN515-58"), + }, + .driver_data =3D &quirk_acer_predator_v4, + }, { .callback =3D dmi_matched, .ident =3D "Acer Predator PH315-53", --=20 2.47.1