From nobody Sun Jun 14 05:10:07 2026 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (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 4032633D51B for ; Fri, 10 Apr 2026 19:10:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775848260; cv=none; b=i5M8CmuA9HYDcu2R/YECKWsZEybde/kTgTuPGe37dxsvDlsMjm19nUhQTcvVT79rpV5rYaXxNqA+xeGsgxmDsKlI098oMHy+J9AsDlOKzC83vZzleHM/g+jrtt1VgAvvTh5z+7spfExmPCcaT1+1w2ZFdB580Iog0tYb43vsjjk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775848260; c=relaxed/simple; bh=ZJpNxARjT8K7xi8eHyYrCMO/LZZESluUlDYslUP9tZ4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=d5jYmB+JzLwkIf8PYPWzSrzVfG8KXWDpopRsB1324ALwVcIrmsVe+QeumFmupas02R6J9WIts+qgjglC8DO5+T6g+MWtzlnG/tlo+EqQyGfKigNqFGO3C0VDGO5SWCnSpZvuqCn4z1OY9xySYPEesreJcB4zP6Xz+/C53Jty+Jg= 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=S+Z0fKdn; arc=none smtp.client-ip=209.85.210.175 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="S+Z0fKdn" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-82cebbdab08so1922366b3a.2 for ; Fri, 10 Apr 2026 12:10:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775848259; x=1776453059; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DFQky1PswHKp2Sl1MSCRR2hoMgQJNGbctBKhWCYqfE0=; b=S+Z0fKdnyRcxi7Oi0MPQMVQ/tty5u0DjEaptS4nFig5hwiN4lUWVqcVlutOVve4nx0 7jSqlz/xyg8+OBR8iQ91ipee1RJ7GISjnYQ2iVSKUU4z+Mj9/2AWhsHWQ8f9lRPPzNiR yMXltUfCEr2kTr8MMpTf8m4h2fNTbDE95sl5D1DXB0xJlIWkQ18hkUgDSjfIhzi29dx4 sGssTtFlDlnXH4FxPHYAikp0+ixVAMi3GikuGk05ZOIL6seL6YxNDgAg0nj6radp6xfS FEo9EWO/RVstLIqUXAR7J3YpCv0i509TW6gKOfuJGbktyUkmRUoRKodsDIWmwOzgKuXW 8r+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775848259; x=1776453059; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=DFQky1PswHKp2Sl1MSCRR2hoMgQJNGbctBKhWCYqfE0=; b=GuCBvotjvnNAuq2Iwnvwa3X+VvoCXx0csaqWlmADuhBzmtR+w3xazkL5pnu86HxnGW jxhCSzB3iH3L7P2cjQxnDV7bleGa8lH7T3OBRlZs79WmgDW8A7tYCUMJLOEkxQOoihqw NklP8MNQq+y5aYgWWpOPRO5HjybWIhvsZUuYTQXhn3DihzaxOL+Ep59XHcnY8/uU8C5L TAqv9i+u9YtbdcZnbxOd7qCEVTrbeWvrcYwCc8YKSP1uVJwqjJv1B7fkYsGBCtCU/THR 88tsP+YabYk0eKknw2/fMzWr3soamn66KVBTBrJrjnQ8YqGm3fKHqFK3gEkC+RZIR1UM SPqw== X-Forwarded-Encrypted: i=1; AJvYcCXAQqmOAkVnV1TW4XlRrTKE/Gs3ns7NLVxfuHOA9yGkcEt2aiOyAsMG7Ad7r6KpaiyYuCSgn2cNP37Dts8=@vger.kernel.org X-Gm-Message-State: AOJu0YzXsG97tIba+qyW+N9q/ya4nNVFvFZ/+LHSlPt2DD7n9SkjZHas x+Z+Fc8EkTsAnBum50hR3vUmR+f27f9BN94811QT5WHfc3oA0ZUwhZY/ X-Gm-Gg: AeBDietfA7nxHoBUnUS85L3J2GqauZy80SYIsmxQtAtWpOPGLU4yJomNzredTdHtxhB TtWmmq5dEx+6lll+7lRzEsWShutoTXGnxvKVGcjx2Akcmg6k1bw6c/d0pDSMprOqqpBzM7psf0S lVY0rH4kmBUtRw7jdg9loV3BzoL8nbYVeHXcRddenJPj9/y2mzP/bWuswQbppYACAqbIhU8O23y QETFAbCBsjdPeVv4lSPJ2q/R6Qs823w1x8cZrpC+8VTv2d/pKq2HmfnZf/ORyLQDbNXAiG0z4v+ 4aEhkCQgoW9KkFtsLSmEb9mag7wEdORjRHOAuo7OdRL5+xeO0hcgBHeKXMOjm2IqWj5DeP8DfpR jz4c4NudQ+T1OFuxQn1JtcLRv2CjkT3ZD49LpDSqnK4d546Mqko/aupXywb6tX/s719Xla60TZQ cR6w14RW30g1tv435OZVb9p4acOMvqDpoMONMhIlTx/BauDekBf89mwLqaBbvpEz27mjca2ma9l gdA5FHv4GOX7oYjAf8a X-Received: by 2002:a05:6a00:23c9:b0:823:1252:9428 with SMTP id d2e1a72fcca58-82f0c1e22b7mr5019426b3a.9.1775848258495; Fri, 10 Apr 2026 12:10:58 -0700 (PDT) Received: from archlinux ([2405:201:1b:225c:eb9d:1fc0:f95c:bd90]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82f0c50a70csm3400739b3a.55.2026.04.10.12.10.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 12:10:58 -0700 (PDT) From: Krishna Chomal To: ilpo.jarvinen@linux.intel.com, hansg@kernel.org Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Krishna Chomal Subject: [PATCH v2 1/4] platform/x86: hp-wmi: fix fan table parsing Date: Sat, 11 Apr 2026 00:40:36 +0530 Message-ID: <20260410191039.125659-2-krishna.chomal108@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260410191039.125659-1-krishna.chomal108@gmail.com> References: <20260410191039.125659-1-krishna.chomal108@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" For Victus S devices, the BIOS fan table header was being incorrectly parsed as: struct { u8 unknown; u8 num_entries; } The first field should be num_fans and the second should be unknown. It is pure coincidence that interpreting an "unknown" field as "num_entries" worked on multiple device, however for board 8D87 (in an upcoming patch), this assumption fails, and the hp-wmi driver fails to load. We fix this by correcting the header definition and compensating for num_entries by parsing each entry of the fan table until an all-NULL row is obtained, mirroring the behavior of OMEN Gaming Hub on Windows. Fixes: 46be1453e6e6 ("platform/x86: hp-wmi: add manual fan control for Vict= us S models") Signed-off-by: Krishna Chomal --- drivers/platform/x86/hp/hp-wmi.c | 41 +++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-= wmi.c index 77913373ed08..205a7bf4cbf7 100644 --- a/drivers/platform/x86/hp/hp-wmi.c +++ b/drivers/platform/x86/hp/hp-wmi.c @@ -469,14 +469,14 @@ struct hp_wmi_hwmon_priv { }; =20 struct victus_s_fan_table_header { + u8 num_fans; u8 unknown; - u8 num_entries; } __packed; =20 struct victus_s_fan_table_entry { u8 cpu_rpm; u8 gpu_rpm; - u8 unknown; + u8 noise_db; } __packed; =20 struct victus_s_fan_table { @@ -2563,7 +2563,9 @@ static int hp_wmi_setup_fan_settings(struct hp_wmi_hw= mon_priv *priv) u8 fan_data[128] =3D { 0 }; struct victus_s_fan_table *fan_table; u8 min_rpm, max_rpm; - int gpu_delta, ret; + u8 cpu_rpm, gpu_rpm, noise_db; + int gpu_delta, i, num_entries, ret; + size_t header_size, entry_size; =20 /* Default behaviour on hwmon init is automatic mode */ priv->mode =3D PWM_MODE_AUTO; @@ -2578,13 +2580,36 @@ static int hp_wmi_setup_fan_settings(struct hp_wmi_= hwmon_priv *priv) return ret; =20 fan_table =3D (struct victus_s_fan_table *)fan_data; - if (fan_table->header.num_entries =3D=3D 0 || - sizeof(struct victus_s_fan_table_header) + - sizeof(struct victus_s_fan_table_entry) * fan_table->header.num_entri= es > sizeof(fan_data)) + if (fan_table->header.num_fans =3D=3D 0) + return -EINVAL; + + header_size =3D sizeof(struct victus_s_fan_table_header); + entry_size =3D sizeof(struct victus_s_fan_table_entry); + num_entries =3D (sizeof(fan_data) - header_size) / entry_size; + min_rpm =3D U8_MAX; + max_rpm =3D 0; + + for (i =3D 0 ; i < num_entries ; i++) { + cpu_rpm =3D fan_table->entries[i].cpu_rpm; + gpu_rpm =3D fan_table->entries[i].gpu_rpm; + noise_db =3D fan_table->entries[i].noise_db; + + /* + * On some devices, the fan table is truncated with an all-zero row, + * hence we stop parsing here. + */ + if (cpu_rpm =3D=3D 0 && gpu_rpm =3D=3D 0 && noise_db =3D=3D 0) + break; + + if (cpu_rpm < min_rpm) + min_rpm =3D cpu_rpm; + if (cpu_rpm > max_rpm) + max_rpm =3D cpu_rpm; + } + + if (min_rpm =3D=3D U8_MAX || max_rpm =3D=3D 0) return -EINVAL; =20 - min_rpm =3D fan_table->entries[0].cpu_rpm; - max_rpm =3D fan_table->entries[fan_table->header.num_entries - 1].cpu_rpm; gpu_delta =3D fan_table->entries[0].gpu_rpm - fan_table->entries[0].cpu_r= pm; priv->min_rpm =3D min_rpm; priv->max_rpm =3D max_rpm; --=20 2.53.0 From nobody Sun Jun 14 05:10:07 2026 Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.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 3801C33D51B for ; Fri, 10 Apr 2026 19:11:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775848267; cv=none; b=MS8Rbq2BxkDLLTVTAFuPKSXoQiPR7wskHAN3YYXSWfO0jl7a/MnB+ViHzDYF/eBDXg1yxeNTkfeBcx00Ju/QOv3UKP6BH59BTvYDghEmndiRshsRzAx7H0d69UKsEdgv8vA8vWVnGIzqsEh7JiIFj6WC1azsSjp7uQRnCn2AaM0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775848267; c=relaxed/simple; bh=Dd2I7UQEWVDdTSc6Hsc2SxBhhCkakBGlg/oiGXpuX4g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tiN1WnUEXrZyWQBW7xkNduAlxTKGYQsovMThRaJ9RjwWMPfN7dZP19OHQC0raLaLFD4hm1kr9kJSM/ThhTEvbxL9QczwKi6v3+1yPRYU/kJHnpIs5Vfe9G+ci7ew6ETGuhegmVCPs1YGLcwedSs5lseWLdZddpNV7nfR5CyL/Lg= 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=TbakBGB4; arc=none smtp.client-ip=209.85.215.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="TbakBGB4" Received: by mail-pg1-f172.google.com with SMTP id 41be03b00d2f7-c70fb6aa323so975545a12.3 for ; Fri, 10 Apr 2026 12:11:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775848265; x=1776453065; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=892k3r+ahu1GR6PfhbRo+d7EPo7UKSdLe2VfSPfGmLY=; b=TbakBGB4ZCGPK6uJ41xtDD7lpKnJyE3/Zt2qQLjkDU3O2eitqnw7CbsZ3CPvdVuCb/ LwTYwfklAHNEyEcxPzJPaXIerWis6Q3ee0u8oOF7mfdlFUSidPXgNM3dYbkZmb9Tf2DR sVl0VoUdx+I3tcxhoWAhHvIz4Wj/H/r+iXVQTXod9z9j9DX0K3U7fBRu7wwPAtFmdLly i4XC1NeX89kP7vHrmZL2yuyPOfRn1k/Qo+W/DRr5Ug8IOwLDPhEjt5J2H/QGHWoTV8Hd IvPyPEjEcK+zM7B7RIhxaVBJopLMukrYAGRyySpBgoYGWf45yx65G9NuI8iqlhibb+w5 SV7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775848265; x=1776453065; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=892k3r+ahu1GR6PfhbRo+d7EPo7UKSdLe2VfSPfGmLY=; b=Nl6LtaAXM2h/sX6B7HfNnh8OnZmBosK97yXFypo6x6GN1Bdp5HDKfHZUi+uxG1Xw36 xvhIZ4c5eMDJ/tuUoNEFwC3tTb4tLV2Q8WHH7V5reoFULLYs73hFgKnOhh1NDK4Mrqdx ooWHqHAVVBHluKA4QzGFck9oDNY3Vi/N/Kdrm9el5cTCPYW3Wvx4jbFLv2b5Fnq+o78a spI7CuUpcTx0CIrIDMwADEQUT8hBnk09r9uM9phX/qntjE9IxLfjl9JimyfC5dJp1lSh oBIT3hpRvnvYQulvINUkacoBQXlzkiWZ5beUD5NKg7vNy3g2LTSqqJrufGBHUuHGoLwS ALzQ== X-Forwarded-Encrypted: i=1; AJvYcCX6SbIGIEMCRIAsIYx2/5Xdr0tl9iRr3nq2LDwVWso5RdXFLZhqTVSaCCVcg6Wdy414F4kKB2XYbOv9Uh8=@vger.kernel.org X-Gm-Message-State: AOJu0YwjVuN9JS0HNLnmfEukGljo0Pbj5Fk6tPi9vlnZliM06m0t6NVc IPiJR9ar8fcEZBAONkjK00RDQ8mdm/X4ozMLHeWD2dmZf8vBjQ+MLWvO X-Gm-Gg: AeBDiev3ydcYdOAJCYIOdGKdvbb2Bf29k9IDxQkTjO7EPHzfy+4Re1AKn0b8mIuKy7q pOiVjOiGxQTuZwhKx+Vp91pSSJwDRBUKRmRymrI9Hq+AwnRw/stUTiHf/gU6OGYuJX5HVN4ktMP 1/X6Ost8bb3Gv0rnZGYnsa38Iy/ZT2Kdkzsf3vV97Tx1Z/4suskU5qpLvxqMxQv9UsxINOVBJE0 ImdYwN2rHjD/XTTFFbpMUqJ3JTFDLvKKEa/3EJYqf7gIXnecjnHHLCwflokEyy4Wkt3PvhQmjz7 ukkx6eYBJRMos6ebSBZpbp+68sn3FPb97yxYFLBYLLJX9t1yajA9jkKagqbk19ub0PgbZFUhj8D 1zt45HCdwjE3j93cZZHyC76kG7WwhBapkNd1Na6FjAg7+owvvAGgc/y6ZQbNo6I0+fl4En/9NWF iXJ1WAjX79tepHEDbTVlSnhjoGbQMxhPM7FlHv4QPfI1ILoijc7NzDnMOEYcrnP2JL+1laQ6bim tcucYmiz1o9hRsihfPNw+DTkJ9PTHs= X-Received: by 2002:a05:6a20:9155:b0:398:79a8:a303 with SMTP id adf61e73a8af0-39fe3c1a654mr5035204637.2.1775848265537; Fri, 10 Apr 2026 12:11:05 -0700 (PDT) Received: from archlinux ([2405:201:1b:225c:eb9d:1fc0:f95c:bd90]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82f0c50a70csm3400739b3a.55.2026.04.10.12.11.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 12:11:05 -0700 (PDT) From: Krishna Chomal To: ilpo.jarvinen@linux.intel.com, hansg@kernel.org Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Krishna Chomal , Jinyang Zhu Subject: [PATCH v2 2/4] platform/x86: hp-wmi: Add support for OMEN MAX 16-ak0xxx (8D87) Date: Sat, 11 Apr 2026 00:40:37 +0530 Message-ID: <20260410191039.125659-3-krishna.chomal108@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260410191039.125659-1-krishna.chomal108@gmail.com> References: <20260410191039.125659-1-krishna.chomal108@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The HP OMEN MAX 16-ak0xxx (8D87) requires the same WMI queries as other Victus S devices, hence it has been added to the corresponding list. For this reason, platform_profile_victus_s_get_ec() will be called during thermal_profile_setup() and victus_s_powersource_event() to obtain hardware state (platform profile) by reading from the Embedded Controller, however, this particular board's EC does not seem to expose the platform profile value, unlike other boards. Hence EC readback is disabled. Testing on board 8D87 confirmed that platform profile is registered successfully and fan RPMs are readable and controllable. Tested-by: Jinyang Zhu Signed-off-by: Krishna Chomal --- drivers/platform/x86/hp/hp-wmi.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-= wmi.c index 205a7bf4cbf7..9460e07202bd 100644 --- a/drivers/platform/x86/hp/hp-wmi.c +++ b/drivers/platform/x86/hp/hp-wmi.c @@ -48,6 +48,7 @@ MODULE_ALIAS("wmi:5FB7F034-2C63-45E9-BE91-3D44E2C707E4"); =20 enum hp_ec_offsets { HP_EC_OFFSET_UNKNOWN =3D 0x00, + HP_NO_THERMAL_PROFILE_OFFSET =3D 0x01, HP_VICTUS_S_EC_THERMAL_PROFILE_OFFSET =3D 0x59, HP_OMEN_EC_THERMAL_PROFILE_FLAGS_OFFSET =3D 0x62, HP_OMEN_EC_THERMAL_PROFILE_TIMER_OFFSET =3D 0x63, @@ -127,6 +128,13 @@ static const struct thermal_profile_params omen_v1_leg= acy_thermal_params =3D { .ec_tp_offset =3D HP_OMEN_EC_THERMAL_PROFILE_OFFSET, }; =20 +static const struct thermal_profile_params omen_v1_no_ec_thermal_params = =3D { + .performance =3D HP_OMEN_V1_THERMAL_PROFILE_PERFORMANCE, + .balanced =3D HP_OMEN_V1_THERMAL_PROFILE_DEFAULT, + .low_power =3D HP_OMEN_V1_THERMAL_PROFILE_DEFAULT, + .ec_tp_offset =3D HP_NO_THERMAL_PROFILE_OFFSET, +}; + /* * A generic pointer for the currently-active board's thermal profile * parameters. @@ -231,6 +239,10 @@ static const struct dmi_system_id victus_s_thermal_pro= file_boards[] __initconst .matches =3D { DMI_MATCH(DMI_BOARD_NAME, "8D41") }, .driver_data =3D (void *)&victus_s_thermal_params, }, + { + .matches =3D { DMI_MATCH(DMI_BOARD_NAME, "8D87") }, + .driver_data =3D (void *)&omen_v1_no_ec_thermal_params, + }, {}, }; =20 @@ -1837,7 +1849,8 @@ static int platform_profile_victus_s_get_ec(enum plat= form_profile_option *profil const struct thermal_profile_params *params; =20 params =3D active_thermal_profile_params; - if (params->ec_tp_offset =3D=3D HP_EC_OFFSET_UNKNOWN) { + if (params->ec_tp_offset =3D=3D HP_EC_OFFSET_UNKNOWN || + params->ec_tp_offset =3D=3D HP_NO_THERMAL_PROFILE_OFFSET) { *profile =3D active_platform_profile; return 0; } @@ -2192,7 +2205,8 @@ static int thermal_profile_setup(struct platform_devi= ce *device) * behaves like a wrapper around active_platform_profile, to avoid using * uninitialized data, we default to PLATFORM_PROFILE_BALANCED. */ - if (active_thermal_profile_params->ec_tp_offset =3D=3D HP_EC_OFFSET_UNKN= OWN) { + if (active_thermal_profile_params->ec_tp_offset =3D=3D HP_EC_OFFSET_UNKN= OWN || + active_thermal_profile_params->ec_tp_offset =3D=3D HP_NO_THERMAL_PRO= FILE_OFFSET) { active_platform_profile =3D PLATFORM_PROFILE_BALANCED; } else { err =3D platform_profile_victus_s_get_ec(&active_platform_profile); --=20 2.53.0 From nobody Sun Jun 14 05:10:07 2026 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (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 1F49D344D8C for ; Fri, 10 Apr 2026 19:11:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775848272; cv=none; b=KysG7P/a2CL3DkSLG8h6n9Jo8Bov3UGKJb/udRCXHM4wnMaBFmWCMnb6YNrs/SxQzBCxon45U5Aa503yz/XNnGick5d8OmF7XSBsyIG7xI/IzeVxjntMTPcdQly0072OvcC6M+5H3rqonO2fNvKujbXmR96Q6kQLgVNe6pLiMiE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775848272; c=relaxed/simple; bh=vkgZPPf6JHkVhZ1w+KsVicjX2uihhjmWnJ+iMxbJTdE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=R4V55O1XXUHGwglX7wZSf+LyGB0gyHZmBxKA6Fhs0dMtBHlUS5AJE+J2b/y+/CGIWGVubze+WYQMyPzH/1edqSC6ddOQLzdamZSEXkUdA/iC2gJeifU7efWpyVUABz+dtlgc/h4oS/HVpIZr0AUoKjzBqICddwotIEezLVhftqY= 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=sXZgJ0Kj; arc=none smtp.client-ip=209.85.210.175 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="sXZgJ0Kj" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-82ce2e2880cso1598637b3a.0 for ; Fri, 10 Apr 2026 12:11:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775848269; x=1776453069; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=H0X8rqWM5nh+y9ILiN2utnoubERLpoCrbo466BUTVjo=; b=sXZgJ0KjqR7KZddkatxk86wd+q3VMd1KlfN0EdK5Ore0PzX9b/GYfLYyAcqtmO+MeK 2qJYGFPgYs9WIYsj+0+YI7Oqi16/EsIYpeY+INgXfvoc2bG9rIPG5uSCoG+YEaOP4vtL Sv5OQU3oTo7RQM6z2HsWLVfizAfe4uHQB52OdUcVA8cICkChWGMgDCybI8EqFhu+o5j6 XQuzgxj3OLVOCCdF4ZrrukMqVi4LKiYcks16uZKTSz58aVUczTR3cPdQsI+MXzH8coeP CKOvEizC1F1lbC2DHUshbNy0HnTMrQJ+jsGvHsTjTYenz23hXitlD9PxoJwcEhJM/uJN Kr2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775848269; x=1776453069; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=H0X8rqWM5nh+y9ILiN2utnoubERLpoCrbo466BUTVjo=; b=A+cqSI9Hxo1dWE2Big1vc/HHWBCw/IzkwnULXGe2DtCQRzD55/1c6Bx16CzTO4PNHp pvY7EwgDG9AzTV0Odxjf4r1XzGXxG4NqjbbjRbaLiYcdxRGlTX8VB3hAr1kMN4vl6m8V Kay16eyzTjTqxD9NBcPogeLhpdiJaN8Tv4P68RQcOFDCFpd5RxZwxrdEdtIp0CNJ1jiB EPfIwlA90PCRajLGFBWbdyipPlKjd9jh8OPNdLUcm68uIWvwUc3TWP1jrwa69VDk4Q/b eHUcGb4gvf+CaEotgWL1qUfIJjElJpWEJh5JGQHGS5EG1ykBpcpCWURvgQ6fauX6wOtl bLVg== X-Forwarded-Encrypted: i=1; AJvYcCXTwuL7K1xusJki67Qen9m19ncMFBxgXFXPbSSttUSLh78eqy9JYl0AdOsDt7nP5/ZTMIJF0mchr64JYFM=@vger.kernel.org X-Gm-Message-State: AOJu0Yz5PQnozCM/POyY4rvc53wU1VZJK8jjgbadOmVYMiO9uMaB4X4d SrxzExgluZY9dWtpSv/LtBILzRROSbJeqN13jjjTWbXwqZJVdnMN6rx6 X-Gm-Gg: AeBDiesxc1G4HrsGMkdsSYjlnXyO/WG52wUXplz0W+PlPjT+en17OS0CkSO1K6ra8Na 44wuMpm2l6kzIsnl0KCDEX8MEowWIOuS6xbMt0BEKvpKZwbnx6L7eNoeVro5Qx9SVVlUW1jyw22 Iu9pRokNW4epZDAmNriYDp27WefIsGOpmqUtBNIG2hF1h/YjLPTaVjMOEO4DlSrbkSb5QSjxEwb 5Pnh7YFngAmLA1bBJzc8YOuzFA9lM+qpm6DburZCrfeYL1cM3KNv79Uxw/9EmVr+NJmJgGghv/e SetLR97YF7xgw5q1Sy4h7m7z/DsSZSMRzk0tIo/jFYlFLi+6xaISWcPqHgDvo29BhtvL693iYmV hds8S7opw22B+RG9o1YIp30ytpUGujLCzswtyfgulvzV83AxJc1BBKYTBHSucQ37FPjG/QaYlKf 2/1u4NaQ3/eSZUB038sdAehi7KRQIsCQhgsSjGmxlpCOIWv/dPJEWZtKJ08lz8LNWMsmLhDuHZ3 uuLbl4oFxHDofGqyIO7 X-Received: by 2002:a05:6a00:4b50:b0:82a:7f6b:3fa1 with SMTP id d2e1a72fcca58-82f0c2a0179mr5108493b3a.33.1775848269439; Fri, 10 Apr 2026 12:11:09 -0700 (PDT) Received: from archlinux ([2405:201:1b:225c:eb9d:1fc0:f95c:bd90]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82f0c50a70csm3400739b3a.55.2026.04.10.12.11.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 12:11:09 -0700 (PDT) From: Krishna Chomal To: ilpo.jarvinen@linux.intel.com, hansg@kernel.org Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Krishna Chomal , Prasoon Dev Subject: [PATCH v2 3/4] platform/x86: hp-wmi: Add support for Omen 16-n0xxx (8A44) Date: Sat, 11 Apr 2026 00:40:38 +0530 Message-ID: <20260410191039.125659-4-krishna.chomal108@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260410191039.125659-1-krishna.chomal108@gmail.com> References: <20260410191039.125659-1-krishna.chomal108@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The HP Omen 16-n0xxx (board ID: 8A44) has the same WMI interface as other Victus S boards, but requires quirks for correctly switching thermal profile. Add the DMI board name to victus_s_thermal_profile_boards[] table and map it to omen_v1_legacy_thermal_params. Testing on board 8A44 confirmed that platform profile is registered successfully and fan RPMs are readable and controllable. Tested-by: Prasoon Dev Signed-off-by: Krishna Chomal --- drivers/platform/x86/hp/hp-wmi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-= wmi.c index 9460e07202bd..2185ac858b44 100644 --- a/drivers/platform/x86/hp/hp-wmi.c +++ b/drivers/platform/x86/hp/hp-wmi.c @@ -191,6 +191,10 @@ static const char * const victus_thermal_profile_board= s[] =3D { =20 /* DMI Board names of Victus 16-r and Victus 16-s laptops */ static const struct dmi_system_id victus_s_thermal_profile_boards[] __init= const =3D { + { + .matches =3D { DMI_MATCH(DMI_BOARD_NAME, "8A44") }, + .driver_data =3D (void *)&omen_v1_legacy_thermal_params, + }, { .matches =3D { DMI_MATCH(DMI_BOARD_NAME, "8A4D") }, .driver_data =3D (void *)&omen_v1_legacy_thermal_params, --=20 2.53.0 From nobody Sun Jun 14 05:10:07 2026 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.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 BF432344D8B for ; Fri, 10 Apr 2026 19:11:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775848275; cv=none; b=Mit5zQavNLZt2zqXqZkbygKXvwYcpW+9tiZAhiw6GXc8auWIJYzZOZGVDuyoHg9xYcfZ0SxTniIQiAU5cnU5HFIarNv4+NJKpN0DwSaT1DeDKMj8sBcD6hFV8gm2NK1pqhOlGAJBKwM3ZteU5INvzPalF5Ea1FURCaZfkCvLhg8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775848275; c=relaxed/simple; bh=yB+j83xQLdYZ3vRG7vuuTjwgqlpov06ipOrp7gjWWv0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Vc18r/SqkU4C8Jzvqn3Zde/tyRcYEDjgqpmyD8ecgJtGrt1q81htgwpjsGTcpycbA1zsWYj/qKzQGsbAZTWn0jxyO57auDfnFc7G+DZtjbF/24gzPjhuBtmbtJWg0kaB1LubiR4wmy2NOTeUa7sEQxzVhP7BjlyGcNl/IKJuZNk= 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=TxJd6q7y; arc=none smtp.client-ip=209.85.210.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="TxJd6q7y" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-8296dabef74so2724954b3a.1 for ; Fri, 10 Apr 2026 12:11:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775848273; x=1776453073; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0GbMT2CZvbw0uf2AhrgXlVq+eTBCRP81wvM666brLGI=; b=TxJd6q7yTpd+m5QyrP1KalnBiz8RHWayoiV4S+ogy7KyHp5rhT7IaeGDP3P1kp4D4k aYCHxeKrQ0tY2psElCLv5w4GQAvPISRgP2SWqtjU4PPL2pgya7m2RhWmHxLfPwZKNQ/Z QEFWcqq7uIljxE88AmkCICuePlr3NLgRE2WNoGiG239Gxd20iKNV8Gp+8G1xa+8iFFwZ FJexkyCVvr/VonTiJEGRskm4rHcLqAGs0ixpY/bfckDGOtLt33MlJ/ejrKwQJ4GdvMI+ /bAfeprCcltQ/xVX8gY8A1FdTTIRXtKFPX1rua29t2CPxXPArDsJkX/Qn32FJNixs9YJ QGdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775848273; x=1776453073; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=0GbMT2CZvbw0uf2AhrgXlVq+eTBCRP81wvM666brLGI=; b=BB6EJB9gbXNFkmoSdqS7AxcMkza3XHc7A0r+TWsgEINi6dG+8zGjvHqyUr7Oq2NQje w4C6pIoadBRklTVRxYXmbUbp/kBBNb74MI7xmsAJBc8ki42ct+x8mlp/6sUlyX2LCc4y oGwsyvKohkPioJRK9poKP9srzoeisXOHkoSvLBxB9KSa3GgV6Du8ShJBJLU3YxH0kAlK wBQAbrVi1mmgue/qTNmeaanll2usVgzPnmzGiaVK+QmrcjyjRdBK1diinTab4fG9Kx8v assnwwl4QTAvuGfzph4+/CGnYQ30AKRAnbT2lAe0/8wg2y3DMhG+DFE26AWTO7APrOSe PiIQ== X-Forwarded-Encrypted: i=1; AJvYcCVkqKrA4SYdiv+N0+spUpHvgdjBwuLMvTsmBhNizeDJ0I0pkDApG3DG7HgW/iWxyw2YYQG86VcR+7FFuao=@vger.kernel.org X-Gm-Message-State: AOJu0YxDewB+8H1debAlSTX2qCuK9MTfVZFizCp5MwjRjrlEWNARm0a7 czqKgdKF5P8IPb+f7ACIS2hMIv1LoiPOWJQhigtMP4qVo6x9apI4U55+ X-Gm-Gg: AeBDiev8Va6+ym5csaZsw/ixWTAIK+WH5YWtzAnPh2DYlIaStUHsQ6+RH5bp8lWIfIQ CEeUGAFBPoRqxwWf6nLWt14cUGh49W7kwHj28qFbKSWT84ASzJCdKVX0OU6MDAl47QN/Jsyh2vE rvnD4QgxoViTaMG8TKr3DxzMphaQjFXuclwzvApitvKZ26aLkpdTpKXkws1NVY6mUw70LgMXfDD 3ZxXnD4q6MqQ0A/7/U11HhsaB6GL2IlAQG6XY1BYa5DJlADtwDv+SWfgqYuXjA+cmRV+0iy0+I+ i6kqml2Q9nuhx9QL9Ca+/He40aolFGYmyQqEXqmNYjV90Oqg58vzKqmaahqPEZxAO3A0hLUei/6 Kxt7pFqIK7V8D9esVQwCM0FsYm6zOPbPgFGDwtALCHJV7z+zkitd1U1xsvMR6Z3P4TYlemZMOAe iF23j6gKFN7mgd4azfeSqVgLqgvtxIzRkhIt1n+JEiRpWGDhh6FFGhxDveE1j4fHexOfwZ+IfRx SlTOvBLJWhCPVE8ilW4 X-Received: by 2002:a05:6a00:8d43:b0:82c:dfea:9e2c with SMTP id d2e1a72fcca58-82f0c1dab05mr2971408b3a.9.1775848273065; Fri, 10 Apr 2026 12:11:13 -0700 (PDT) Received: from archlinux ([2405:201:1b:225c:eb9d:1fc0:f95c:bd90]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82f0c50a70csm3400739b3a.55.2026.04.10.12.11.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 12:11:12 -0700 (PDT) From: Krishna Chomal To: ilpo.jarvinen@linux.intel.com, hansg@kernel.org Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Krishna Chomal , Thomas Arici Subject: [PATCH v2 4/4] platform/x86: hp-wmi: Add support for Omen 16-wf1xxx (8C77) Date: Sat, 11 Apr 2026 00:40:39 +0530 Message-ID: <20260410191039.125659-5-krishna.chomal108@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260410191039.125659-1-krishna.chomal108@gmail.com> References: <20260410191039.125659-1-krishna.chomal108@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The HP Omen 16-wf1xxx (board ID: 8C77) has the same WMI interface as other Victus S boards, but requires quirks for correctly switching thermal profile. Add the DMI board name to victus_s_thermal_profile_boards[] table and map it to omen_v1_thermal_params. Testing on board 8C77 confirmed that platform profile is registered successfully and fan RPMs are readable and controllable. Tested-by: Thomas Arici Reported-by: Thomas Arici Closes: https://bugzilla.kernel.org/show_bug.cgi?id=3D221300 Signed-off-by: Krishna Chomal --- drivers/platform/x86/hp/hp-wmi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-= wmi.c index 2185ac858b44..83614f2f9f22 100644 --- a/drivers/platform/x86/hp/hp-wmi.c +++ b/drivers/platform/x86/hp/hp-wmi.c @@ -227,6 +227,10 @@ static const struct dmi_system_id victus_s_thermal_pro= file_boards[] __initconst .matches =3D { DMI_MATCH(DMI_BOARD_NAME, "8C76") }, .driver_data =3D (void *)&omen_v1_thermal_params, }, + { + .matches =3D { DMI_MATCH(DMI_BOARD_NAME, "8C77") }, + .driver_data =3D (void *)&omen_v1_thermal_params, + }, { .matches =3D { DMI_MATCH(DMI_BOARD_NAME, "8C78") }, .driver_data =3D (void *)&omen_v1_thermal_params, --=20 2.53.0