lkml.org 
[lkml]   [2022]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 4/7] cpufreq: amd_pstate: add AMD pstate EPP support for shared memory type processor
From
On 9/25/22 07:23, Yuan, Perry wrote:
> [AMD Official Use Only - General]
>
> Hi Nathan.
>
>
>> -----Original Message-----
>> From: Fontenot, Nathan <Nathan.Fontenot@amd.com>
>> Sent: Friday, September 16, 2022 12:24 AM
>> To: Yuan, Perry <Perry.Yuan@amd.com>; rafael.j.wysocki@intel.com; Huang,
>> Ray <Ray.Huang@amd.com>; viresh.kumar@linaro.org
>> Cc: Sharma, Deepak <Deepak.Sharma@amd.com>; Limonciello, Mario
>> <Mario.Limonciello@amd.com>; Deucher, Alexander
>> <Alexander.Deucher@amd.com>; Su, Jinzhou (Joe) <Jinzhou.Su@amd.com>;
>> Huang, Shimmer <Shimmer.Huang@amd.com>; Du, Xiaojian
>> <Xiaojian.Du@amd.com>; Meng, Li (Jassmine) <Li.Meng@amd.com>; linux-
>> pm@vger.kernel.org; linux-kernel@vger.kernel.org
>> Subject: Re: [PATCH 4/7] cpufreq: amd_pstate: add AMD pstate EPP support
>> for shared memory type processor
>>
>> On 9/9/22 11:45, Perry Yuan wrote:
>>> Add Energy Performance Preference support for AMD SOCs which only
>>> support the shared memory interface that implemented on Zen2 and Zen3
>>> processors, because this type CPU has no MSR supported, it will use
>>> ACPI PCC channel to enable EPP and reset desired perf to be zero.
>>>
>>> Signed-off-by: Perry Yuan <Perry.Yuan@amd.com>
>>> ---
>>> drivers/cpufreq/amd-pstate.c | 12 ++++++++++++
>>> 1 file changed, 12 insertions(+)
>>>
>>> diff --git a/drivers/cpufreq/amd-pstate.c
>>> b/drivers/cpufreq/amd-pstate.c index 451295284a26..fff298744a8e 100644
>>> --- a/drivers/cpufreq/amd-pstate.c
>>> +++ b/drivers/cpufreq/amd-pstate.c
>>> @@ -133,12 +133,24 @@ static inline int pstate_enable(bool enable)
>>>
>>> static int cppc_enable(bool enable)
>>> {
>>> + struct cppc_perf_ctrls perf_ctrls;
>>> int cpu, ret = 0;
>>>
>>> for_each_present_cpu(cpu) {
>>> ret = cppc_set_enable(cpu, enable);
>>> if (ret)
>>> return ret;
>>> +
>>> + /* Enable active mode for EPP */
>>> + ret = cppc_set_auto_epp(cpu, enable);
>>> + if (ret)
>>> + return ret;
>>> +
>>> + /* Set zero to desired perf to enable EPP control*/
>>> + perf_ctrls.desired_perf = 0;
>>> + ret = cppc_set_perf(cpu, &perf_ctrls);
>>> + if (ret)
>>> + return ret;
>>
>> Shouldn't this entire block be indented one additional tab over since its part
>> of the for_each_present_cpu() loop?
>>
>> -Nathan
>
> Yes, I can see the indent in my local vscode editor, I do not know why the patch didn`t show that.
> Is it correct as below ?
>
> for_each_present_cpu(cpu) {
> ret = cppc_set_enable(cpu, enable);
> if (ret)
> return ret;
>
> if (epp_enabled) {
> /* Enable autonomous mode for EPP */
> ret = cppc_set_auto_epp(cpu, enable);
> if (ret)
> return ret;
>
> /* Set zero to desired perf to allow EPP firmware control*/
> perf_ctrls.desired_perf = 0;
> ret = cppc_set_perf(cpu, &perf_ctrls);
> if (ret)
> return ret;
> }
> }
>
> Perry.

That looks much better.

-Nathan

>
>>
>>> }
>>>
>>> return ret;

\
 
 \ /
  Last update: 2022-09-29 16:09    [W:1.023 / U:0.496 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site