mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Suryansh Singh <technosfan14@gmail.com>
Cc: Hans de Goede <hansg@kernel.org>,
	krishna.chomal108@gmail.com,  LKML <linux-kernel@vger.kernel.org>,
	platform-driver-x86@vger.kernel.org
Subject: Re: [PATCH v2] platform/x86: hp-wmi: Define known Victus S driver data
Date: Mon, 12 Oct 2026 18:12:09 +0300 (EEST)	[thread overview]
Message-ID: <ec244f7d-0b51-43f9-c932-2d6ea5952672@linux.intel.com> (raw)
In-Reply-To: <20260927093852.161958-1-technosfan14@gmail.com>

On Sun, 27 Sep 2026, Suryansh Singh wrote:

> Currently, Victus S thermal parameters use the Unknown Offset for TP
> (Thermal Profile) from the EC offsets enum, even though there is a
> Victus S EC Offset in the same enum.
> 
> This was done so because the EC layout is highly
> variable across this lineup of laptops. The only place where the 0x59
> offset is used is the driver data for Omen V1 models, despite it being
> labelled as the Victus S TP offset. The name clearly doesn't relate
> to the use case.
> 
> However, after some downstream searching, I have found that there is
> a Victus S board which does have the expected EC layout corresponding to
> the very Victus S offset itself.
> 
> Add known board parameters for the Victus S models to correctly map
> the found board (8C99) and any others in the future, and add
> required if-statements for platform profile options for the new
> parameters.
> 
> Link: https://github.com/yunusemreyl/omen-space/commit/f32a76386592d1a604e574c693b323d15e978089
> Signed-off-by: Suryansh Singh <technosfan14@gmail.com>
> ---
>  drivers/platform/x86/hp/hp-wmi.c | 20 +++++++++++++++++---
>  1 file changed, 17 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-wmi.c
> index 7ab81ce5f8d4..7851cb607c74 100644
> --- a/drivers/platform/x86/hp/hp-wmi.c
> +++ b/drivers/platform/x86/hp/hp-wmi.c
> @@ -121,6 +121,13 @@ static const struct thermal_profile_params victus_s_thermal_params = {
>  	.ec_tp_offset	= HP_EC_OFFSET_UNKNOWN,
>  };
>  
> +static const struct thermal_profile_params victus_s_known_thermal_params = {
> +	.performance	= HP_VICTUS_S_THERMAL_PROFILE_PERFORMANCE,
> +	.balanced	= HP_VICTUS_S_THERMAL_PROFILE_DEFAULT,
> +	.low_power	= HP_VICTUS_S_THERMAL_PROFILE_DEFAULT,
> +	.ec_tp_offset	= HP_VICTUS_S_EC_THERMAL_PROFILE_OFFSET,
> +};
> +
>  static const struct thermal_profile_params omen_v1_thermal_params = {
>  	.performance	= HP_OMEN_V1_THERMAL_PROFILE_PERFORMANCE,
>  	.balanced	= HP_OMEN_V1_THERMAL_PROFILE_DEFAULT,
> @@ -164,6 +171,11 @@ static const struct hp_wmi_board_params victus_s_board_params = {
>  	.fan_profile		= &victus_s_fan_profile_params,
>  };
>  
> +static const struct hp_wmi_board_params victus_s_known_board_params = {
> +	.thermal_profile	= &victus_s_known_thermal_params,
> +	.fan_profile		= &victus_s_fan_profile_params,
> +};
> +
>  static const struct hp_wmi_board_params omen_v1_board_params = {
>  	.thermal_profile	= &omen_v1_thermal_params,
>  	.fan_profile		= &victus_s_fan_profile_params,
> @@ -316,7 +328,7 @@ static const struct dmi_system_id hp_wmi_feature_boards[] __initconst = {
>  	},
>  	{
>  		.matches = { DMI_MATCH(DMI_BOARD_NAME, "8C99") },
> -		.driver_data = (void *)&victus_s_board_params,
> +		.driver_data = (void *)&victus_s_known_board_params,
>  	},
>  	{
>  		.matches = { DMI_MATCH(DMI_BOARD_NAME, "8C9C") },
> @@ -2146,10 +2158,12 @@ static int platform_profile_victus_s_get_ec(enum platform_profile_option *profil
>  	 * of these values.
>  	 */
>  	if (tp == victus_s_thermal_params.performance ||
> -	    tp == omen_v1_thermal_params.performance) {
> +	    tp == omen_v1_thermal_params.performance ||
> +		tp == victus_s_known_thermal_params.performance) {

Please remind me, why can't we generalize this and have to keep adding 
numbers even if we should have the params now per board in struct so why 
cannot we map using those numbers?

This is also misaligned.

>  		*profile = PLATFORM_PROFILE_PERFORMANCE;
>  	} else if (tp == victus_s_thermal_params.balanced ||
> -		   tp == omen_v1_thermal_params.balanced) {
> +			tp == omen_v1_thermal_params.balanced ||
> +			tp == victus_s_known_thermal_params.balanced) {

Same comments here.

>  		/*
>  		 * Since both PLATFORM_PROFILE_LOW_POWER and
>  		 * PLATFORM_PROFILE_BALANCED share the same thermal profile
> 

-- 
 i.


      reply	other threads:[~2026-10-12 15:12 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-27  8:55 [PATCH] " Suryansh Singh
2026-09-27  9:38 ` [PATCH v2] " Suryansh Singh
2026-10-12 15:12   ` Ilpo Järvinen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ec244f7d-0b51-43f9-c932-2d6ea5952672@linux.intel.com \
    --to=ilpo.jarvinen@linux.intel.com \
    --cc=hansg@kernel.org \
    --cc=krishna.chomal108@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=technosfan14@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®