mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Armin Wolf <W_Armin@gmx.de>
To: "Derek J. Clark" <derekjohn.clark@gmail.com>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	"Len Brown" <lenb@kernel.org>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	"Jonathan Corbet" <corbet@lwn.net>
Cc: Mario Limonciello <superm1@kernel.org>,
	Zhixin Zhang <zhangzx36@lenovo.com>,
	Mia Shao <shaohz1@lenovo.com>,
	Mark Pearson <mpearson-lenovo@squebb.ca>,
	"Pierre-Loup A . Griffais" <pgriffais@valvesoftware.com>,
	Kurt Borja <kuurtb@gmail.com>,
	platform-driver-x86@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org
Subject: Re: [PATCH v3 2/3] platform/x86: lenovo-wmi-gamezone Use max-power rather than balanced-performance
Date: Sun, 16 Nov 2025 17:14:08 +0100	[thread overview]
Message-ID: <3730c2dd-d96e-4905-9182-8752bcdc37da@gmx.de> (raw)
In-Reply-To: <20251113212639.459896-3-derekjohn.clark@gmail.com>

Am 13.11.25 um 22:26 schrieb Derek J. Clark:

> When developing the gamezone WMI drivers, "extreme mode" was matched to
> the performance platform profile and "performance" was matched to the
> balanced-performance platform profile, but only if extreme mode was
> fully supported; otherwise performance was matched to the "performance"
> platform profile. This has led to quite a bit of confusion with users
> not understanding why the LED color indicating the platform profile
> doesn't match their expectations.
>
> To solve this, replace the confusing convention by using the new
> max-power profile to represent "extreme mode". While add it, update the
> documentation to reflect the expected LED colors in each operating mode.
>
> Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com>

Reviewed-by: Armin Wolf <W_Armin@gmx.de>

> driver
> ---
>   .../wmi/devices/lenovo-wmi-gamezone.rst       | 31 +++++++++----------
>   drivers/platform/x86/lenovo/wmi-gamezone.c    | 18 +++--------
>   2 files changed, 20 insertions(+), 29 deletions(-)
>
> diff --git a/Documentation/wmi/devices/lenovo-wmi-gamezone.rst b/Documentation/wmi/devices/lenovo-wmi-gamezone.rst
> index 997263e51a7d..1769ad3d57b9 100644
> --- a/Documentation/wmi/devices/lenovo-wmi-gamezone.rst
> +++ b/Documentation/wmi/devices/lenovo-wmi-gamezone.rst
> @@ -19,27 +19,26 @@ WMI GUID ``887B54E3-DDDC-4B2C-8B88-68A26A8835D0``
>   The Gamezone Data WMI interface provides platform-profile and fan curve
>   settings for devices that fall under the "Gaming Series" of Lenovo devices.
>   It uses a notifier chain to inform other Lenovo WMI interface drivers of the
> -current platform profile when it changes.
> +current platform profile when it changes. The currently set profile can be
> +determined by the user on the hardware by looking at the color of the power
> +or profile LED, depending on the model.
>   
>   The following platform profiles are supported:
> - - low-power
> - - balanced
> - - balanced-performance
> - - performance
> - - custom
> + - low-power, blue LED
> + - balanced, white LED
> + - performance, red LED
> + - max-power, purple LED
> + - custom, purple LED
>   
> -Balanced-Performance
> +Extreme Mode
>   ~~~~~~~~~~~~~~~~~~~~
>   Some newer Lenovo "Gaming Series" laptops have an "Extreme Mode" profile
> -enabled in their BIOS. For these devices, the performance platform profile
> -corresponds to the BIOS Extreme Mode, while the balanced-performance
> -platform profile corresponds to the BIOS Performance mode. For legacy
> -devices, the performance platform profile will correspond with the BIOS
> -Performance mode.
> -
> -For some newer devices the "Extreme Mode" profile is incomplete in the BIOS
> -and setting it will cause undefined behavior. A BIOS bug quirk table is
> -provided to ensure these devices cannot set "Extreme Mode" from the driver.
> +enabled in their BIOS. When available, this mode will be represented by the
> +max-power platform profile.
> +
> +For a subset of these devices the "Extreme Mode" profile is incomplete in
> +the BIOS and setting it will cause undefined behavior. A BIOS bug quirk table
> +is provided to ensure these devices cannot set "Extreme Mode" from the driver.
>   
>   Custom Profile
>   ~~~~~~~~~~~~~~
> diff --git a/drivers/platform/x86/lenovo/wmi-gamezone.c b/drivers/platform/x86/lenovo/wmi-gamezone.c
> index 0eb7fe8222f4..df475e52f79d 100644
> --- a/drivers/platform/x86/lenovo/wmi-gamezone.c
> +++ b/drivers/platform/x86/lenovo/wmi-gamezone.c
> @@ -171,14 +171,10 @@ static int lwmi_gz_profile_get(struct device *dev,
>   		*profile = PLATFORM_PROFILE_BALANCED;
>   		break;
>   	case LWMI_GZ_THERMAL_MODE_PERFORMANCE:
> -		if (priv->extreme_supported) {
> -			*profile = PLATFORM_PROFILE_BALANCED_PERFORMANCE;
> -			break;
> -		}
>   		*profile = PLATFORM_PROFILE_PERFORMANCE;
>   		break;
>   	case LWMI_GZ_THERMAL_MODE_EXTREME:
> -		*profile = PLATFORM_PROFILE_PERFORMANCE;
> +		*profile = PLATFORM_PROFILE_MAX_POWER;
>   		break;
>   	case LWMI_GZ_THERMAL_MODE_CUSTOM:
>   		*profile = PLATFORM_PROFILE_CUSTOM;
> @@ -218,16 +214,12 @@ static int lwmi_gz_profile_set(struct device *dev,
>   	case PLATFORM_PROFILE_BALANCED:
>   		mode = LWMI_GZ_THERMAL_MODE_BALANCED;
>   		break;
> -	case PLATFORM_PROFILE_BALANCED_PERFORMANCE:
> -		mode = LWMI_GZ_THERMAL_MODE_PERFORMANCE;
> -		break;
>   	case PLATFORM_PROFILE_PERFORMANCE:
> -		if (priv->extreme_supported) {
> -			mode = LWMI_GZ_THERMAL_MODE_EXTREME;
> -			break;
> -		}
>   		mode = LWMI_GZ_THERMAL_MODE_PERFORMANCE;
>   		break;
> +	case PLATFORM_PROFILE_MAX_POWER:
> +		mode = LWMI_GZ_THERMAL_MODE_EXTREME;
> +		break;
>   	case PLATFORM_PROFILE_CUSTOM:
>   		mode = LWMI_GZ_THERMAL_MODE_CUSTOM;
>   		break;
> @@ -338,7 +330,7 @@ static int lwmi_gz_platform_profile_probe(void *drvdata, unsigned long *choices)
>   
>   	priv->extreme_supported = lwmi_gz_extreme_supported(profile_support_ver);
>   	if (priv->extreme_supported)
> -		set_bit(PLATFORM_PROFILE_BALANCED_PERFORMANCE, choices);
> +		set_bit(PLATFORM_PROFILE_MAX_POWER, choices);
>   
>   	return 0;
>   }

  reply	other threads:[~2025-11-16 16:14 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-13 21:26 [PATCH v3 0/3] Add max-power platform profile Derek J. Clark
2025-11-13 21:26 ` [PATCH v3 1/3] acpi: platform_profile - Add max-power profile option Derek J. Clark
2025-11-16 16:13   ` Armin Wolf
2025-11-16 19:01     ` Derek J. Clark
2025-11-17  0:21       ` Armin Wolf
2025-11-27 12:11         ` Ilpo Järvinen
2025-11-27 14:36           ` Derek J. Clark
2025-11-13 21:26 ` [PATCH v3 2/3] platform/x86: lenovo-wmi-gamezone Use max-power rather than balanced-performance Derek J. Clark
2025-11-16 16:14   ` Armin Wolf [this message]
2025-11-13 21:26 ` [PATCH v3 3/3] platform/x86: wmi-gamezone: Add Legion Go 2 Quirks Derek J. Clark
2025-11-16 16:14   ` Armin Wolf

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=3730c2dd-d96e-4905-9182-8752bcdc37da@gmx.de \
    --to=w_armin@gmx.de \
    --cc=corbet@lwn.net \
    --cc=derekjohn.clark@gmail.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=kuurtb@gmail.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpearson-lenovo@squebb.ca \
    --cc=pgriffais@valvesoftware.com \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=shaohz1@lenovo.com \
    --cc=superm1@kernel.org \
    --cc=zhangzx36@lenovo.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®