diff mbox series

[RESEND,V2,2/9] cpufreq: amd_pstate: add module parameter to load amd pstate EPP driver

Message ID 20221010162248.348141-3-Perry.Yuan@amd.com
State New
Headers show
Series Implement AMD Pstate EPP Driver | expand

Commit Message

Yuan, Perry Oct. 10, 2022, 4:22 p.m. UTC
The amd_pstate mode parameter will allow user to select which amd pstate
working mode as booting mode, amd_pstate instance or amd_pstate_epp instance.

1) amd_pstate instance is depending on the target operation mode.
2) amd_pstate_epp instance is depending on the set_policy operation mode.It
   is also called active mode that AMD SMU has EPP algorithm to control the
   CPU runtime frequency according to the EPP set value and workload.

Signed-off-by: Perry Yuan <Perry.Yuan@amd.com>
---
 drivers/cpufreq/amd-pstate.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Huang Rui Oct. 17, 2022, 9:47 a.m. UTC | #1
On Tue, Oct 11, 2022 at 12:22:41AM +0800, Yuan, Perry wrote:
> The amd_pstate mode parameter will allow user to select which amd pstate
> working mode as booting mode, amd_pstate instance or amd_pstate_epp instance.
> 
> 1) amd_pstate instance is depending on the target operation mode.
> 2) amd_pstate_epp instance is depending on the set_policy operation mode.It
>    is also called active mode that AMD SMU has EPP algorithm to control the
>    CPU runtime frequency according to the EPP set value and workload.
> 

There is one concern here: how can the user know which kind of processor
supports the EPP function in hardware?

Thanks,
Ray

> Signed-off-by: Perry Yuan <Perry.Yuan@amd.com>
> ---
>  drivers/cpufreq/amd-pstate.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
> index f52b8f2fe529..2d28f458589c 100644
> --- a/drivers/cpufreq/amd-pstate.c
> +++ b/drivers/cpufreq/amd-pstate.c
> @@ -63,6 +63,10 @@ module_param(shared_mem, bool, 0444);
>  MODULE_PARM_DESC(shared_mem,
>  		 "enable amd-pstate on processors with shared memory solution (false = disabled (default), true = enabled)");
>  
> +static bool epp = false;
> +module_param(epp, bool, 0444);
> +MODULE_PARM_DESC(epp, "Enable energy performance preference (EPP) control");
> +
>  static struct cpufreq_driver amd_pstate_driver;
>  
>  /**
> -- 
> 2.34.1
>
Yuan, Perry Oct. 20, 2022, 3:56 p.m. UTC | #2
[AMD Official Use Only - General]

Hi Ray. 

> -----Original Message-----
> From: Huang, Ray <Ray.Huang@amd.com>
> Sent: Monday, October 17, 2022 5:47 PM
> To: Yuan, Perry <Perry.Yuan@amd.com>
> Cc: rafael.j.wysocki@intel.com; viresh.kumar@linaro.org; Sharma, Deepak
> <Deepak.Sharma@amd.com>; Limonciello, Mario
> <Mario.Limonciello@amd.com>; Fontenot, Nathan
> <Nathan.Fontenot@amd.com>; Deucher, Alexander
> <Alexander.Deucher@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: [RESEND PATCH V2 2/9] cpufreq: amd_pstate: add module
> parameter to load amd pstate EPP driver
> 
> On Tue, Oct 11, 2022 at 12:22:41AM +0800, Yuan, Perry wrote:
> > The amd_pstate mode parameter will allow user to select which amd
> > pstate working mode as booting mode, amd_pstate instance or
> amd_pstate_epp instance.
> >
> > 1) amd_pstate instance is depending on the target operation mode.
> > 2) amd_pstate_epp instance is depending on the set_policy operation
> mode.It
> >    is also called active mode that AMD SMU has EPP algorithm to control the
> >    CPU runtime frequency according to the EPP set value and workload.
> >
> 
> There is one concern here: how can the user know which kind of processor
> supports the EPP function in hardware?
> 
> Thanks,
> Ray

Checked with internal team, I was told that EPP is part of the CPPC implementation, 
The Pstate driver already check if the cppc valid when driver loading, we do not need to check the epp again. 

Perry.

> 
> > Signed-off-by: Perry Yuan <Perry.Yuan@amd.com>
> > ---
> >  drivers/cpufreq/amd-pstate.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/drivers/cpufreq/amd-pstate.c
> > b/drivers/cpufreq/amd-pstate.c index f52b8f2fe529..2d28f458589c 100644
> > --- a/drivers/cpufreq/amd-pstate.c
> > +++ b/drivers/cpufreq/amd-pstate.c
> > @@ -63,6 +63,10 @@ module_param(shared_mem, bool, 0444);
> > MODULE_PARM_DESC(shared_mem,
> >  		 "enable amd-pstate on processors with shared memory
> solution
> > (false = disabled (default), true = enabled)");
> >
> > +static bool epp = false;
> > +module_param(epp, bool, 0444);
> > +MODULE_PARM_DESC(epp, "Enable energy performance preference (EPP)
> > +control");
> > +
> >  static struct cpufreq_driver amd_pstate_driver;
> >
> >  /**
> > --
> > 2.34.1
> >
diff mbox series

Patch

diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
index f52b8f2fe529..2d28f458589c 100644
--- a/drivers/cpufreq/amd-pstate.c
+++ b/drivers/cpufreq/amd-pstate.c
@@ -63,6 +63,10 @@  module_param(shared_mem, bool, 0444);
 MODULE_PARM_DESC(shared_mem,
 		 "enable amd-pstate on processors with shared memory solution (false = disabled (default), true = enabled)");
 
+static bool epp = false;
+module_param(epp, bool, 0444);
+MODULE_PARM_DESC(epp, "Enable energy performance preference (EPP) control");
+
 static struct cpufreq_driver amd_pstate_driver;
 
 /**