LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: "Fontenot, Nathan" <Nathan.Fontenot@amd.com>
To: Huang Rui <ray.huang@amd.com>,
"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
Viresh Kumar <viresh.kumar@linaro.org>,
Shuah Khan <skhan@linuxfoundation.org>,
Borislav Petkov <bp@suse.de>, Ingo Molnar <mingo@kernel.org>,
linux-pm@vger.kernel.org
Cc: Deepak Sharma <deepak.sharma@amd.com>,
Alex Deucher <alexander.deucher@amd.com>,
Mario Limonciello <mario.limonciello@amd.com>,
Jinzhou Su <Jinzhou.Su@amd.com>,
Xiaojian Du <Xiaojian.Du@amd.com>,
linux-kernel@vger.kernel.org, x86@kernel.org
Subject: Re: [PATCH 08/19] cpufreq: amd: add boost mode support for amd-pstate
Date: Wed, 8 Sep 2021 13:24:54 -0500 [thread overview]
Message-ID: <a2718365-5975-5c91-350f-fe9098b4de7b@amd.com> (raw)
In-Reply-To: <20210908150001.3702552-9-ray.huang@amd.com>
On 9/8/2021 9:59 AM, Huang Rui wrote:
> If the sbios supports the boost mode of amd-pstate, let's switch to
> boost enabled by default.
>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
> drivers/cpufreq/amd-pstate.c | 50 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 50 insertions(+)
>
> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
> index ea965a122431..67a9a117f524 100644
> --- a/drivers/cpufreq/amd-pstate.c
> +++ b/drivers/cpufreq/amd-pstate.c
> @@ -75,6 +75,8 @@ struct amd_cpudata {
> u32 min_freq;
> u32 nominal_freq;
> u32 lowest_nonlinear_freq;
> +
> + bool boost_supported;
> };
>
> struct amd_pstate_perf_funcs {
> @@ -229,6 +231,19 @@ amd_pstate_update(struct amd_cpudata *cpudata, u32 min_perf,
> max_perf, fast_switch);
> }
>
> +static bool amd_pstate_boost_supported(struct amd_cpudata *cpudata)
> +{
> + u32 highest_perf, nominal_perf;
> +
> + highest_perf = READ_ONCE(cpudata->highest_perf);
> + nominal_perf = READ_ONCE(cpudata->nominal_perf);
> +
> + if (highest_perf > nominal_perf)
> + return true;
> +
> + return false;
> +}
> +
> static int amd_pstate_verify(struct cpufreq_policy_data *policy)
> {
> cpufreq_verify_within_cpu_limits(policy);
> @@ -402,6 +417,37 @@ static int amd_get_lowest_nonlinear_freq(struct amd_cpudata *cpudata)
> return lowest_nonlinear_freq * 1000;
> }
>
> +static int amd_pstate_set_boost(struct cpufreq_policy *policy, int state)
> +{
> + struct amd_cpudata *cpudata = policy->driver_data;
> + int ret;
> +
> + if (!cpudata->boost_supported) {
> + pr_err("Boost mode is not supported by this processor or SBIOS\n");
> + return -EINVAL;
> + }
> +
> + if (state)
> + policy->cpuinfo.max_freq = cpudata->max_freq;
> + else
> + policy->cpuinfo.max_freq = cpudata->nominal_freq;
> +
> + policy->max = policy->cpuinfo.max_freq;
> +
> + ret = freq_qos_update_request(&cpudata->req[1],
> + policy->cpuinfo.max_freq);
> + if (ret < 0)
> + return ret;
> +
> + return 0;
> +}
> +
> +static void amd_pstate_boost_init(struct amd_cpudata *cpudata)
> +{
> + cpudata->boost_supported = true;
> + amd_pstate_driver.boost_enabled = true;
> +}
> +
> static int amd_pstate_init_freqs_in_cpudata(struct amd_cpudata *cpudata,
> u32 max_freq, u32 min_freq,
> u32 nominal_freq,
> @@ -504,6 +550,9 @@ static int amd_pstate_cpu_init(struct cpufreq_policy *policy)
>
> policy->driver_data = cpudata;
>
> + if (amd_pstate_boost_supported(cpudata))
> + amd_pstate_boost_init(cpudata);
Is there any reason to not merge amd_pstate_boost_supported() and
amd_pstate_boost_init() into a single function? I don't see that
amd_pstate_boost_supported() is called anywhere else.
-Nathan
> +
> return 0;
>
> free_cpudata3:
> @@ -535,6 +584,7 @@ static struct cpufreq_driver amd_pstate_driver = {
> .fast_switch = amd_pstate_fast_switch,
> .init = amd_pstate_cpu_init,
> .exit = amd_pstate_cpu_exit,
> + .set_boost = amd_pstate_set_boost,
> .name = "amd-pstate",
> };
>
> --
> 2.25.1
>
next prev parent reply other threads:[~2021-09-08 18:25 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-08 14:59 [PATCH 00/19] cpufreq: introduce a new AMD CPU frequency control mechanism Huang Rui
2021-09-08 14:59 ` [PATCH 01/19] x86/cpufreatures: add AMD CPPC extension feature flag Huang Rui
2021-09-08 20:00 ` Shuah Khan
2021-09-09 9:45 ` Huang Rui
2021-09-09 17:58 ` Borislav Petkov
2021-09-13 9:48 ` Huang Rui
2021-09-13 13:04 ` Borislav Petkov
2021-09-16 9:30 ` Huang Rui
2021-09-08 14:59 ` [PATCH 02/19] x86/msr: add AMD CPPC MSR definitions Huang Rui
2021-09-08 14:59 ` [PATCH 03/19] ACPI: CPPC: add cppc enable register function Huang Rui
2021-09-08 19:14 ` Fontenot, Nathan
2021-09-09 9:50 ` Huang Rui
2021-09-09 0:21 ` Shuah Khan
2021-09-09 9:58 ` Huang Rui
2021-09-08 14:59 ` [PATCH 04/19] cpufreq: amd: introduce a new amd pstate driver to support future processors Huang Rui
2021-09-09 15:01 ` Peter Zijlstra
2021-09-13 8:11 ` Huang Rui
2021-09-13 8:56 ` Peter Zijlstra
2021-09-13 10:54 ` Huang Rui
2021-09-13 11:56 ` Peter Zijlstra
2021-09-16 10:09 ` Huang Rui
2021-09-16 11:19 ` Rafael J. Wysocki
2021-09-17 3:41 ` Huang Rui
2021-09-09 15:03 ` Peter Zijlstra
2021-09-13 11:55 ` Huang Rui
2021-09-09 19:31 ` Fontenot, Nathan
2021-09-13 11:18 ` Huang Rui
2021-09-08 14:59 ` [PATCH 05/19] cpufreq: amd: add fast switch function for amd-pstate module Huang Rui
2021-09-08 14:59 ` [PATCH 06/19] cpufreq: amd: add acpi cppc function as the backend for legacy processors Huang Rui
2021-09-08 14:59 ` [PATCH 07/19] cpufreq: amd: add trace for amd-pstate module Huang Rui
2021-09-08 14:59 ` [PATCH 08/19] cpufreq: amd: add boost mode support for amd-pstate Huang Rui
2021-09-08 18:24 ` Fontenot, Nathan [this message]
2021-09-09 10:12 ` Huang Rui
2021-09-08 14:59 ` [PATCH 09/19] cpufreq: amd: add amd-pstate checking support check attribute Huang Rui
2021-09-08 14:59 ` [PATCH 10/19] cpufreq: amd: add amd-pstate frequencies attributes Huang Rui
2021-09-08 18:13 ` Fontenot, Nathan
2021-09-08 14:59 ` [PATCH 11/19] cpufreq: amd: add amd-pstate performance attributes Huang Rui
2021-09-08 18:20 ` Fontenot, Nathan
2021-09-08 14:59 ` [PATCH 12/19] cpupower: add AMD P-state capability flag Huang Rui
2021-09-08 14:59 ` [PATCH 13/19] cpupower: add the function to check amd-pstate enabled Huang Rui
2021-09-09 22:16 ` Shuah Khan
2021-09-13 11:29 ` Huang Rui
2021-09-08 14:59 ` [PATCH 14/19] cpupower: initial AMD P-state capability Huang Rui
2021-09-09 22:16 ` Shuah Khan
2021-09-13 12:58 ` Huang Rui
2021-09-08 14:59 ` [PATCH 15/19] cpupower: add amd-pstate sysfs entries into libcpufreq Huang Rui
2021-09-09 22:26 ` Shuah Khan
2021-09-16 8:47 ` Huang Rui
2021-09-08 14:59 ` [PATCH 16/19] cpupower: enable boost state support for amd-pstate module Huang Rui
2021-09-08 17:32 ` Fontenot, Nathan
2021-09-09 9:59 ` Huang Rui
2021-09-09 22:42 ` Shuah Khan
2021-09-16 9:27 ` Huang Rui
2021-09-08 14:59 ` [PATCH 17/19] cpupower: add amd-pstate get data function to query the info Huang Rui
2021-09-09 22:45 ` Shuah Khan
2021-09-08 15:00 ` [PATCH 18/19] cpupower: print amd-pstate information on cpupower Huang Rui
2021-09-09 22:46 ` Shuah Khan
2021-09-16 9:29 ` Huang Rui
2021-09-08 15:00 ` [PATCH 19/19] Documentation: amd-pstate: add amd-pstate driver introduction Huang Rui
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=a2718365-5975-5c91-350f-fe9098b4de7b@amd.com \
--to=nathan.fontenot@amd.com \
--cc=Jinzhou.Su@amd.com \
--cc=Xiaojian.Du@amd.com \
--cc=alexander.deucher@amd.com \
--cc=bp@suse.de \
--cc=deepak.sharma@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mario.limonciello@amd.com \
--cc=mingo@kernel.org \
--cc=rafael.j.wysocki@intel.com \
--cc=ray.huang@amd.com \
--cc=skhan@linuxfoundation.org \
--cc=viresh.kumar@linaro.org \
--cc=x86@kernel.org \
--subject='Re: [PATCH 08/19] cpufreq: amd: add boost mode support for amd-pstate' \
/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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).