All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yuan, Perry" <Perry.Yuan@amd.com>
To: "Limonciello, Mario" <Mario.Limonciello@amd.com>,
	"rafael.j.wysocki@intel.com" <rafael.j.wysocki@intel.com>,
	"Huang, Ray" <Ray.Huang@amd.com>,
	"viresh.kumar@linaro.org" <viresh.kumar@linaro.org>
Cc: "Sharma, Deepak" <Deepak.Sharma@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>,
	"Karny, Wyes" <Wyes.Karny@amd.com>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH v9 03/13] cpufreq: intel_pstate: use common macro definition for Energy Preference Performance(EPP)
Date: Thu, 5 Jan 2023 06:14:31 +0000	[thread overview]
Message-ID: <DM4PR12MB527815452A4BD57C19462C6A9CFA9@DM4PR12MB5278.namprd12.prod.outlook.com> (raw)
In-Reply-To: <60ba1e38-d196-6b38-7c34-cd94daf50f81@amd.com>

[AMD Official Use Only - General]

Hi Mario. 

> -----Original Message-----
> From: Limonciello, Mario <Mario.Limonciello@amd.com>
> Sent: Thursday, January 5, 2023 1:56 PM
> 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>; 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>; Karny, Wyes <Wyes.Karny@amd.com>;
> linux-pm@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH v9 03/13] cpufreq: intel_pstate: use common macro
> definition for Energy Preference Performance(EPP)
> 
> On 1/4/23 23:49, Yuan, Perry wrote:
> > [AMD Official Use Only - General]
> >
> > Hi Mario
> >
> >> -----Original Message-----
> >> From: Limonciello, Mario <Mario.Limonciello@amd.com>
> >> Sent: Wednesday, January 4, 2023 8:31 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>; 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>; Karny, Wyes <Wyes.Karny@amd.com>;
> >> linux-pm@vger.kernel.org; linux-kernel@vger.kernel.org
> >> Subject: Re: [PATCH v9 03/13] cpufreq: intel_pstate: use common macro
> >> definition for Energy Preference Performance(EPP)
> >>
> >> On 12/25/2022 10:34, Perry Yuan wrote:
> >>> make the energy preference performance strings and profiles using
> >>> one common header for intel_pstate driver, then the amd_pstate epp
> >>> driver can use the common header as well. This will simpify the
> >>> intel_pstate and amd_pstate driver.
> >>>
> >>> Signed-off-by: Perry Yuan <perry.yuan@amd.com>
> >>> ---
> >>>    drivers/cpufreq/Kconfig.x86    |  2 +-
> >>>    drivers/cpufreq/intel_pstate.c | 13 +++----------
> >>>    include/linux/cpufreq.h        | 10 ++++++++++
> >>>    3 files changed, 14 insertions(+), 11 deletions(-)
> >>>
> >>> diff --git a/drivers/cpufreq/Kconfig.x86
> >>> b/drivers/cpufreq/Kconfig.x86 index 00476e94db90..f64aef1e093d
> >>> 100644
> >>> --- a/drivers/cpufreq/Kconfig.x86
> >>> +++ b/drivers/cpufreq/Kconfig.x86
> >>> @@ -36,7 +36,7 @@ config X86_PCC_CPUFREQ
> >>>
> >>>    config X86_AMD_PSTATE
> >>>    	bool "AMD Processor P-State driver"
> >>> -	depends on X86 && ACPI
> >>> +	depends on X86 && ACPI && X86_INTEL_PSTATE
> >>
> >> This doesn't seem right to me.  What if someone didn't compile in
> >> Intel
> >> x86 support for their kernel?  They wouldn't be able to pick
> >> X86_AMD_PSTATE.
> >
> > How about changed like this ? when amd pstate enabled, it will build intel-
> pstate.c as well.
> >
> >     depends on X86 && ACPI
> > + select X86_INTEL_PSTATE
> 
> I still don't think that's the right way to do this.  Why not move the variables
> to the cppc library file?  Both intel and amd pstate drivers select it, so it can
> be a common place both wil use.
> 
That will be good then. 
Ray suggested to put the code to cpufreq.h , I will move the code to cppc library in v10 if he has no objection. 

Perry.

> 
> >
> >
> >
> >>
> >>>    	select ACPI_PROCESSOR
> >>>    	select ACPI_CPPC_LIB if X86_64
> >>>    	select CPU_FREQ_GOV_SCHEDUTIL if SMP diff --git
> >>> a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> >>> index ad9be31753b6..93a60fdac0fc 100644
> >>> --- a/drivers/cpufreq/intel_pstate.c
> >>> +++ b/drivers/cpufreq/intel_pstate.c
> >>> @@ -640,15 +640,7 @@ static int intel_pstate_set_epb(int cpu, s16 pref)
> >>>     *	4		power
> >>>     */
> >>>
> >>> -enum energy_perf_value_index {
> >>> -	EPP_INDEX_DEFAULT = 0,
> >>> -	EPP_INDEX_PERFORMANCE,
> >>> -	EPP_INDEX_BALANCE_PERFORMANCE,
> >>> -	EPP_INDEX_BALANCE_POWERSAVE,
> >>> -	EPP_INDEX_POWERSAVE,
> >>> -};
> >>> -
> >>> -static const char * const energy_perf_strings[] = {
> >>> +const char * const energy_perf_strings[] = {
> >>>    	[EPP_INDEX_DEFAULT] = "default",
> >>>    	[EPP_INDEX_PERFORMANCE] = "performance",
> >>>    	[EPP_INDEX_BALANCE_PERFORMANCE] = "balance_performance",
> >> @@ -656,7
> >>> +648,8 @@ static const char * const energy_perf_strings[] = {
> >>>    	[EPP_INDEX_POWERSAVE] = "power",
> >>>    	NULL
> >>>    };
> >>> -static unsigned int epp_values[] = {
> >>> +
> >>> +unsigned int epp_values[] = {
> >>>    	[EPP_INDEX_DEFAULT] = 0, /* Unused index */
> >>>    	[EPP_INDEX_PERFORMANCE] = HWP_EPP_PERFORMANCE,
> >>>    	[EPP_INDEX_BALANCE_PERFORMANCE] =
> >> HWP_EPP_BALANCE_PERFORMANCE, diff
> >>> --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index
> >>> d5595d57f4e5..0693269fb775 100644
> >>> --- a/include/linux/cpufreq.h
> >>> +++ b/include/linux/cpufreq.h
> >>> @@ -185,6 +185,16 @@ struct cpufreq_freqs {
> >>>    	u8 flags;		/* flags of cpufreq_driver, see below. */
> >>>    };
> >>>
> >>> +enum energy_perf_value_index {
> >>> +	EPP_INDEX_DEFAULT = 0,
> >>> +	EPP_INDEX_PERFORMANCE,
> >>> +	EPP_INDEX_BALANCE_PERFORMANCE,
> >>> +	EPP_INDEX_BALANCE_POWERSAVE,
> >>> +	EPP_INDEX_POWERSAVE,
> >>> +};
> >>> +extern const char * const energy_perf_strings[]; extern unsigned
> >>> +int epp_values[];
> >>> +
> >>>    /* Only for ACPI */
> >>>    #define CPUFREQ_SHARED_TYPE_NONE (0) /* None */
> >>>    #define CPUFREQ_SHARED_TYPE_HW	 (1) /* HW does needed
> >> coordination */
> >>
> >> I think the right place for these variables and strings is in the
> >> cppc library source file that is common across CPPC implementations.

  reply	other threads:[~2023-01-05  6:14 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-25 16:34 [PATCH v9 00/13] Implement AMD Pstate EPP Driver Perry Yuan
2022-12-25 16:34 ` [PATCH v9 01/13] ACPI: CPPC: Add AMD pstate energy performance preference cppc control Perry Yuan
2023-01-05  5:31   ` Wyes Karny
2023-01-05  6:02     ` Yuan, Perry
2022-12-25 16:34 ` [PATCH v9 02/13] Documentation: amd-pstate: add EPP profiles introduction Perry Yuan
2023-01-04  0:29   ` Limonciello, Mario
2023-01-05  3:18     ` Yuan, Perry
2022-12-25 16:34 ` [PATCH v9 03/13] cpufreq: intel_pstate: use common macro definition for Energy Preference Performance(EPP) Perry Yuan
2023-01-04  0:31   ` Limonciello, Mario
2023-01-05  5:49     ` Yuan, Perry
2023-01-05  5:56       ` Mario Limonciello
2023-01-05  6:14         ` Yuan, Perry [this message]
2022-12-25 16:34 ` [PATCH v9 04/13] cpufreq: amd-pstate: fix kernel hang issue while amd-pstate unregistering Perry Yuan
2022-12-27  2:53   ` Viresh Kumar
2022-12-27  6:32     ` Yuan, Perry
2022-12-25 16:34 ` [PATCH v9 05/13] cpufreq: amd-pstate: optimize driver working mode selection in amd_pstate_param() Perry Yuan
2023-01-04  0:32   ` Limonciello, Mario
2022-12-25 16:34 ` [PATCH v9 06/13] cpufreq: amd-pstate: implement Pstate EPP support for the AMD processors Perry Yuan
2023-01-04  1:05   ` Limonciello, Mario
2023-01-05  6:20     ` Yuan, Perry
2023-01-06  5:22   ` Wyes Karny
2023-01-06  5:58     ` Yuan, Perry
2022-12-25 16:34 ` [PATCH v9 07/13] cpufreq: amd-pstate: implement amd pstate cpu online and offline callback Perry Yuan
2022-12-25 16:34 ` [PATCH v9 08/13] cpufreq: amd-pstate: implement suspend and resume callbacks Perry Yuan
2022-12-27  2:52   ` Viresh Kumar
2023-01-05 15:08     ` Yuan, Perry
2022-12-25 16:34 ` [PATCH v9 09/13] cpufreq: amd-pstate: add driver working mode switch support Perry Yuan
2023-01-04  1:06   ` Limonciello, Mario
2023-01-05  6:02   ` Wyes Karny
2023-01-05  6:57     ` Yuan, Perry
2023-01-05  7:29   ` Wyes Karny
2023-01-05 16:03   ` Wyes Karny
2023-01-06  2:52     ` Yuan, Perry
2023-01-06  3:46   ` Wyes Karny
2022-12-25 16:34 ` [PATCH v9 10/13] Documentation: amd-pstate: add amd pstate driver mode introduction Perry Yuan
2022-12-25 16:34 ` [PATCH v9 11/13] Documentation: introduce amd pstate active mode kernel command line options Perry Yuan
2022-12-25 16:34 ` [PATCH v9 12/13] cpufreq: amd-pstate: convert sprintf with sysfs_emit() Perry Yuan
2022-12-25 16:34 ` [PATCH v9 13/13] Documentation: amd-pstate: introduce new global sysfs attributes Perry Yuan
2023-01-04  0:35   ` Limonciello, Mario
2023-01-05  6:21     ` Yuan, Perry

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=DM4PR12MB527815452A4BD57C19462C6A9CFA9@DM4PR12MB5278.namprd12.prod.outlook.com \
    --to=perry.yuan@amd.com \
    --cc=Alexander.Deucher@amd.com \
    --cc=Deepak.Sharma@amd.com \
    --cc=Li.Meng@amd.com \
    --cc=Mario.Limonciello@amd.com \
    --cc=Nathan.Fontenot@amd.com \
    --cc=Ray.Huang@amd.com \
    --cc=Shimmer.Huang@amd.com \
    --cc=Wyes.Karny@amd.com \
    --cc=Xiaojian.Du@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rafael.j.wysocki@intel.com \
    --cc=viresh.kumar@linaro.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.