From: "Derek J. Clark" <derekjohn.clark@gmail.com>
To: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Armin Wolf" <W_Armin@gmx.de>
Cc: Len Brown <lenb@kernel.org>,
"Rafael J . Wysocki" <rafael@kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
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,
LKML <linux-kernel@vger.kernel.org>,
linux-acpi@vger.kernel.org
Subject: Re: [PATCH v3 1/3] acpi: platform_profile - Add max-power profile option
Date: Thu, 27 Nov 2025 06:36:02 -0800 [thread overview]
Message-ID: <278FC60D-C084-44B9-A0DB-23FAC930458B@gmail.com> (raw)
In-Reply-To: <bf61e05b-74ac-28de-d8ea-4a909d6e5fb8@linux.intel.com>
On November 27, 2025 4:11:36 AM PST, "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com> wrote:
>On Mon, 17 Nov 2025, Armin Wolf wrote:
>
>> Am 16.11.25 um 20:01 schrieb Derek J. Clark:
>>
>> > On November 16, 2025 8:13:17 AM PST, Armin Wolf <W_Armin@gmx.de> wrote:
>> > > Am 13.11.25 um 22:26 schrieb Derek J. Clark:
>> > >
>> > > > Some devices, namely Lenovo Legion devices, have an "extreme" mode where
>> > > > power draw is at the maximum limit of the cooling hardware. Add a new
>> > > > "max-power" platform profile to properly reflect this operating mode.
>> > > >
>> > > > Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
>> > > > Acked-by: Rafael J. Wysocki (Intel) <rafael@kernel.org>
>> > > > Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com>
>> > > > ---
>> > > > Documentation/ABI/testing/sysfs-class-platform-profile | 2 ++
>> > > > drivers/acpi/platform_profile.c | 1 +
>> > > > include/linux/platform_profile.h | 1 +
>> > > > 3 files changed, 4 insertions(+)
>> > > >
>> > > > diff --git a/Documentation/ABI/testing/sysfs-class-platform-profile
>> > > > b/Documentation/ABI/testing/sysfs-class-platform-profile
>> > > > index dc72adfb830a..fcab26894ec3 100644
>> > > > --- a/Documentation/ABI/testing/sysfs-class-platform-profile
>> > > > +++ b/Documentation/ABI/testing/sysfs-class-platform-profile
>> > > > @@ -23,6 +23,8 @@ Description: This file contains a space-separated
>> > > > list of profiles supported
>> > > > power consumption with a
>> > > > slight bias
>> > > > towards performance
>> > > > performance High performance operation
>> > > > + max-power Higher performance operation that may
>> > > > exceed
>> > > > + internal battery draw limits when on
>> > > > AC power
>> > > I am not sure if it is a good idea to allow platform_profile_cycle() to
>> > > cycle into this
>> > > new max-power profile. The system could encounter a brownout if it is
>> > > currently operating
>> > > on battery power when selecting max-power.
>> > >
>> > > Maybe we should prevent platform_profile_cylce() from selecting max-power?
>> > At least for Lenovo devices unplugging AC will automatically throttle the
>> > ppt values to roughly equivalent to performance. It will look at a different
>> > WMI data block for the values when switched, so there's no risk for cycling
>> > in this case. This seems like smart hardware design, but we've certainly
>> > seen bad hardware design so the concern is warranted. Perhaps it is worth
>> > visiting if another vendor implements it differently? That being said, what
>> > you're describing would match up with how the physical profile selection
>> > button works, so it would align with consumer expectation. I have no strong
>> > feelings either way, but I'm a little concerned about meeting the merge
>> > window as this series fixes a pretty disruptive bug affecting 6.17 users.
>> >
>> > Regards,
>> > - Derek
>> >
>> If the physical platform selection button does not automatically select the
>> max-power profile under Windows, then we should copy this behavior i think.
>> The changes necessary for that are fairly small, basically you only have to
>> extend the handling of PLATFORM_PROFILE_CUSTOM inside platform_profile_cycle()
>> to also include the max-power profile. So i would prefer if we modify
>> platform_profile_cycle() now has doing this later might be seen as a
>> regression.
>
>Derek,
>
>Any comments on this?
>
>I'd very much prefer to take this series in this cycle but this comment
>seems unresolved and has userspace visible impact so may bind us
>irrevocably to certain behavior.
>
>--
> i.
Ilpo,
If I'm being totally honest I forgot about this request. I can knock this out pretty quickly and send v4 today.
Thanks,
Derek
>>
>> Thanks,
>> Armin Wolf
>>
>> > > Other than that:
>> > > Reviewed-by: Armin Wolf <W_Armin@gmx.de>
>> > >
>> > > > custom Driver defined custom profile
>> > > > ====================
>> > > > ========================================
>> > > > diff --git a/drivers/acpi/platform_profile.c
>> > > > b/drivers/acpi/platform_profile.c
>> > > > index b43f4459a4f6..aa1dce05121b 100644
>> > > > --- a/drivers/acpi/platform_profile.c
>> > > > +++ b/drivers/acpi/platform_profile.c
>> > > > @@ -37,6 +37,7 @@ static const char * const profile_names[] = {
>> > > > [PLATFORM_PROFILE_BALANCED] = "balanced",
>> > > > [PLATFORM_PROFILE_BALANCED_PERFORMANCE] =
>> > > > "balanced-performance",
>> > > > [PLATFORM_PROFILE_PERFORMANCE] = "performance",
>> > > > + [PLATFORM_PROFILE_MAX_POWER] = "max-power",
>> > > > [PLATFORM_PROFILE_CUSTOM] = "custom",
>> > > > };
>> > > > static_assert(ARRAY_SIZE(profile_names) == PLATFORM_PROFILE_LAST);
>> > > > diff --git a/include/linux/platform_profile.h
>> > > > b/include/linux/platform_profile.h
>> > > > index a299225ab92e..855b28340e95 100644
>> > > > --- a/include/linux/platform_profile.h
>> > > > +++ b/include/linux/platform_profile.h
>> > > > @@ -24,6 +24,7 @@ enum platform_profile_option {
>> > > > PLATFORM_PROFILE_BALANCED,
>> > > > PLATFORM_PROFILE_BALANCED_PERFORMANCE,
>> > > > PLATFORM_PROFILE_PERFORMANCE,
>> > > > + PLATFORM_PROFILE_MAX_POWER,
>> > > > PLATFORM_PROFILE_CUSTOM,
>> > > > PLATFORM_PROFILE_LAST, /*must always be last */
>> > > > };
>> >
>>
next prev parent reply other threads:[~2025-11-27 14:36 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 [this message]
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
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=278FC60D-C084-44B9-A0DB-23FAC930458B@gmail.com \
--to=derekjohn.clark@gmail.com \
--cc=W_Armin@gmx.de \
--cc=corbet@lwn.net \
--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;
as well as URLs for NNTP newsgroup(s).