[PATCH v3 1/3] acpi: platform_profile - Add max-power profile option

Derek J. Clark posted 3 patches 2 months, 3 weeks ago
There is a newer version of this series
[PATCH v3 1/3] acpi: platform_profile - Add max-power profile option
Posted by Derek J. Clark 2 months, 3 weeks ago
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
 		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 */
 };
-- 
2.51.2
Re: [PATCH v3 1/3] acpi: platform_profile - Add max-power profile option
Posted by Armin Wolf 2 months, 3 weeks ago
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?

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 */
>   };
Re: [PATCH v3 1/3] acpi: platform_profile - Add max-power profile option
Posted by Derek J. Clark 2 months, 3 weeks ago
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

>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 */
>>   };
Re: [PATCH v3 1/3] acpi: platform_profile - Add max-power profile option
Posted by Armin Wolf 2 months, 3 weeks ago
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.

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 */
>>>    };
>
Re: [PATCH v3 1/3] acpi: platform_profile - Add max-power profile option
Posted by Ilpo Järvinen 2 months, 1 week ago
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.

> 
> 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 */
> > > >    };
> > 
>
Re: [PATCH v3 1/3] acpi: platform_profile - Add max-power profile option
Posted by Derek J. Clark 2 months, 1 week ago
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 */
>> > > >    };
>> > 
>>