diff mbox series

platform/x86/amd: pmf: Fix missing hidden options for Smart PC

Message ID 20250306034402.50478-1-superm1@kernel.org (mailing list archive)
State Accepted, archived
Headers show
Series platform/x86/amd: pmf: Fix missing hidden options for Smart PC | expand

Commit Message

Mario Limonciello March 6, 2025, 3:44 a.m. UTC
From: Mario Limonciello <mario.limonciello@amd.com>

amd_pmf_get_slider_info() checks the current profile to report correct
value to the TA inputs.  If hidden options are in use then the wrong
values will be reported to TA.

Add the two compat options PLATFORM_PROFILE_BALANCED_PERFORMANCE and
PLATFORM_PROFILE_QUIET for this use.

Reported-by: Yijun Shen <Yijun.Shen@dell.com>
Fixes: 9a43102daf64d ("platform/x86/amd: pmf: Add balanced-performance to hidden choices")
Fixes: 44e94fece5170 ("platform/x86/amd: pmf: Add 'quiet' to hidden choices")
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 drivers/platform/x86/amd/pmf/spc.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Shyam Sundar S K March 6, 2025, 4:11 a.m. UTC | #1
On 3/6/2025 09:14, Mario Limonciello wrote:
> From: Mario Limonciello <mario.limonciello@amd.com>
> 
> amd_pmf_get_slider_info() checks the current profile to report correct
> value to the TA inputs.  If hidden options are in use then the wrong
> values will be reported to TA.
> 
> Add the two compat options PLATFORM_PROFILE_BALANCED_PERFORMANCE and
> PLATFORM_PROFILE_QUIET for this use.
> 
> Reported-by: Yijun Shen <Yijun.Shen@dell.com>
> Fixes: 9a43102daf64d ("platform/x86/amd: pmf: Add balanced-performance to hidden choices")
> Fixes: 44e94fece5170 ("platform/x86/amd: pmf: Add 'quiet' to hidden choices")
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>

Acked-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>

> ---
>  drivers/platform/x86/amd/pmf/spc.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/platform/x86/amd/pmf/spc.c b/drivers/platform/x86/amd/pmf/spc.c
> index f34f3130c3307..1d90f9382024b 100644
> --- a/drivers/platform/x86/amd/pmf/spc.c
> +++ b/drivers/platform/x86/amd/pmf/spc.c
> @@ -219,12 +219,14 @@ static int amd_pmf_get_slider_info(struct amd_pmf_dev *dev, struct ta_pmf_enact_
>  
>  	switch (dev->current_profile) {
>  	case PLATFORM_PROFILE_PERFORMANCE:
> +	case PLATFORM_PROFILE_BALANCED_PERFORMANCE:
>  		val = TA_BEST_PERFORMANCE;
>  		break;
>  	case PLATFORM_PROFILE_BALANCED:
>  		val = TA_BETTER_PERFORMANCE;
>  		break;
>  	case PLATFORM_PROFILE_LOW_POWER:
> +	case PLATFORM_PROFILE_QUIET:
>  		val = TA_BEST_BATTERY;
>  		break;
>  	default:
Ilpo Järvinen March 10, 2025, 5:19 p.m. UTC | #2
On Wed, 5 Mar 2025, Mario Limonciello wrote:

> From: Mario Limonciello <mario.limonciello@amd.com>
> 
> amd_pmf_get_slider_info() checks the current profile to report correct
> value to the TA inputs.  If hidden options are in use then the wrong
> values will be reported to TA.
> 
> Add the two compat options PLATFORM_PROFILE_BALANCED_PERFORMANCE and
> PLATFORM_PROFILE_QUIET for this use.
> 
> Reported-by: Yijun Shen <Yijun.Shen@dell.com>
> Fixes: 9a43102daf64d ("platform/x86/amd: pmf: Add balanced-performance to hidden choices")
> Fixes: 44e94fece5170 ("platform/x86/amd: pmf: Add 'quiet' to hidden choices")
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
> ---
>  drivers/platform/x86/amd/pmf/spc.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/platform/x86/amd/pmf/spc.c b/drivers/platform/x86/amd/pmf/spc.c
> index f34f3130c3307..1d90f9382024b 100644
> --- a/drivers/platform/x86/amd/pmf/spc.c
> +++ b/drivers/platform/x86/amd/pmf/spc.c
> @@ -219,12 +219,14 @@ static int amd_pmf_get_slider_info(struct amd_pmf_dev *dev, struct ta_pmf_enact_
>  
>  	switch (dev->current_profile) {
>  	case PLATFORM_PROFILE_PERFORMANCE:
> +	case PLATFORM_PROFILE_BALANCED_PERFORMANCE:
>  		val = TA_BEST_PERFORMANCE;
>  		break;
>  	case PLATFORM_PROFILE_BALANCED:
>  		val = TA_BETTER_PERFORMANCE;
>  		break;
>  	case PLATFORM_PROFILE_LOW_POWER:
> +	case PLATFORM_PROFILE_QUIET:
>  		val = TA_BEST_BATTERY;
>  		break;
>  	default:

Hi Mario,

Just for me to be sure what I'm supposed to do with all these patches 
related to this platform profile legacy handling... :-)

So this fix is necessary in addition to the 3 patches that got already 
merged through Rafaels tree?

What about this patch from Luke:

https://patchwork.kernel.org/project/platform-driver-x86/patch/20250224223551.16918-1-luke@ljones.dev/

Is that also needed?

Thanks in advance.
Mario Limonciello March 12, 2025, 9:27 p.m. UTC | #3
On 3/10/25 12:19, Ilpo Järvinen wrote:
> On Wed, 5 Mar 2025, Mario Limonciello wrote:
> 
>> From: Mario Limonciello <mario.limonciello@amd.com>
>>
>> amd_pmf_get_slider_info() checks the current profile to report correct
>> value to the TA inputs.  If hidden options are in use then the wrong
>> values will be reported to TA.
>>
>> Add the two compat options PLATFORM_PROFILE_BALANCED_PERFORMANCE and
>> PLATFORM_PROFILE_QUIET for this use.
>>
>> Reported-by: Yijun Shen <Yijun.Shen@dell.com>
>> Fixes: 9a43102daf64d ("platform/x86/amd: pmf: Add balanced-performance to hidden choices")
>> Fixes: 44e94fece5170 ("platform/x86/amd: pmf: Add 'quiet' to hidden choices")
>> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
>> ---
>>   drivers/platform/x86/amd/pmf/spc.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/platform/x86/amd/pmf/spc.c b/drivers/platform/x86/amd/pmf/spc.c
>> index f34f3130c3307..1d90f9382024b 100644
>> --- a/drivers/platform/x86/amd/pmf/spc.c
>> +++ b/drivers/platform/x86/amd/pmf/spc.c
>> @@ -219,12 +219,14 @@ static int amd_pmf_get_slider_info(struct amd_pmf_dev *dev, struct ta_pmf_enact_
>>   
>>   	switch (dev->current_profile) {
>>   	case PLATFORM_PROFILE_PERFORMANCE:
>> +	case PLATFORM_PROFILE_BALANCED_PERFORMANCE:
>>   		val = TA_BEST_PERFORMANCE;
>>   		break;
>>   	case PLATFORM_PROFILE_BALANCED:
>>   		val = TA_BETTER_PERFORMANCE;
>>   		break;
>>   	case PLATFORM_PROFILE_LOW_POWER:
>> +	case PLATFORM_PROFILE_QUIET:
>>   		val = TA_BEST_BATTERY;
>>   		break;
>>   	default:
> 
> Hi Mario,
> 
> Just for me to be sure what I'm supposed to do with all these patches
> related to this platform profile legacy handling... :-)
> 
> So this fix is necessary in addition to the 3 patches that got already
> merged through Rafaels tree?
> 
> What about this patch from Luke:
> 
> https://patchwork.kernel.org/project/platform-driver-x86/patch/20250224223551.16918-1-luke@ljones.dev/
> 
> Is that also needed?
> 
> Thanks in advance.
> 

Yes; this was another finding that Yijun discovered missing as part of 
testing Rafael's tree.  It can go through your tree or Rafael's.  It 
doesn't really matter.

Luke's patch isn't needed anymore.
Ilpo Järvinen March 13, 2025, 12:57 p.m. UTC | #4
On Wed, 12 Mar 2025, Mario Limonciello wrote:

> 
> 
> On 3/10/25 12:19, Ilpo Järvinen wrote:
> > On Wed, 5 Mar 2025, Mario Limonciello wrote:
> > 
> > > From: Mario Limonciello <mario.limonciello@amd.com>
> > > 
> > > amd_pmf_get_slider_info() checks the current profile to report correct
> > > value to the TA inputs.  If hidden options are in use then the wrong
> > > values will be reported to TA.
> > > 
> > > Add the two compat options PLATFORM_PROFILE_BALANCED_PERFORMANCE and
> > > PLATFORM_PROFILE_QUIET for this use.
> > > 
> > > Reported-by: Yijun Shen <Yijun.Shen@dell.com>
> > > Fixes: 9a43102daf64d ("platform/x86/amd: pmf: Add balanced-performance to
> > > hidden choices")
> > > Fixes: 44e94fece5170 ("platform/x86/amd: pmf: Add 'quiet' to hidden
> > > choices")
> > > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
> > > ---
> > >   drivers/platform/x86/amd/pmf/spc.c | 2 ++
> > >   1 file changed, 2 insertions(+)
> > > 
> > > diff --git a/drivers/platform/x86/amd/pmf/spc.c
> > > b/drivers/platform/x86/amd/pmf/spc.c
> > > index f34f3130c3307..1d90f9382024b 100644
> > > --- a/drivers/platform/x86/amd/pmf/spc.c
> > > +++ b/drivers/platform/x86/amd/pmf/spc.c
> > > @@ -219,12 +219,14 @@ static int amd_pmf_get_slider_info(struct
> > > amd_pmf_dev *dev, struct ta_pmf_enact_
> > >     	switch (dev->current_profile) {
> > >   	case PLATFORM_PROFILE_PERFORMANCE:
> > > +	case PLATFORM_PROFILE_BALANCED_PERFORMANCE:
> > >   		val = TA_BEST_PERFORMANCE;
> > >   		break;
> > >   	case PLATFORM_PROFILE_BALANCED:
> > >   		val = TA_BETTER_PERFORMANCE;
> > >   		break;
> > >   	case PLATFORM_PROFILE_LOW_POWER:
> > > +	case PLATFORM_PROFILE_QUIET:
> > >   		val = TA_BEST_BATTERY;
> > >   		break;
> > >   	default:
> > 
> > Hi Mario,
> > 
> > Just for me to be sure what I'm supposed to do with all these patches
> > related to this platform profile legacy handling... :-)
> > 
> > So this fix is necessary in addition to the 3 patches that got already
> > merged through Rafaels tree?
> > 
> > What about this patch from Luke:
> > 
> > https://patchwork.kernel.org/project/platform-driver-x86/patch/20250224223551.16918-1-luke@ljones.dev/
> > 
> > Is that also needed?
> > 
> > Thanks in advance.
> > 
> 
> Yes; this was another finding that Yijun discovered missing as part of testing
> Rafael's tree.  It can go through your tree or Rafael's.  It doesn't really
> matter.

I took this into fixes branch.

> Luke's patch isn't needed anymore.

Okay, thanks.
diff mbox series

Patch

diff --git a/drivers/platform/x86/amd/pmf/spc.c b/drivers/platform/x86/amd/pmf/spc.c
index f34f3130c3307..1d90f9382024b 100644
--- a/drivers/platform/x86/amd/pmf/spc.c
+++ b/drivers/platform/x86/amd/pmf/spc.c
@@ -219,12 +219,14 @@  static int amd_pmf_get_slider_info(struct amd_pmf_dev *dev, struct ta_pmf_enact_
 
 	switch (dev->current_profile) {
 	case PLATFORM_PROFILE_PERFORMANCE:
+	case PLATFORM_PROFILE_BALANCED_PERFORMANCE:
 		val = TA_BEST_PERFORMANCE;
 		break;
 	case PLATFORM_PROFILE_BALANCED:
 		val = TA_BETTER_PERFORMANCE;
 		break;
 	case PLATFORM_PROFILE_LOW_POWER:
+	case PLATFORM_PROFILE_QUIET:
 		val = TA_BEST_BATTERY;
 		break;
 	default: