From: Perry Yuan <Perry.Yuan@amd.com>
To: <rafael.j.wysocki@intel.com>, <Mario.Limonciello@amd.com>,
<ray.huang@amd.com>, <viresh.kumar@linaro.org>
Cc: <Deepak.Sharma@amd.com>, <Nathan.Fontenot@amd.com>,
<Alexander.Deucher@amd.com>, <Shimmer.Huang@amd.com>,
<Xiaojian.Du@amd.com>, <Li.Meng@amd.com>, <wyes.karny@amd.com>,
<linux-pm@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
Perry Yuan <Perry.Yuan@amd.com>
Subject: [PATCH v4 3/9] cpufreq: amd-pstate: change amd-pstate driver to be built-in type
Date: Fri, 11 Nov 2022 01:58:41 +0800 [thread overview]
Message-ID: <20221110175847.3098728-4-Perry.Yuan@amd.com> (raw)
In-Reply-To: <20221110175847.3098728-1-Perry.Yuan@amd.com>
Change the `amd-pstate` driver as the built-in type which can help to
load the driver before the acpi_cpufreq driver as the default pstate
driver for the AMD processors.
for the processors do not have the dedicated MSR functions, add
`amd-pstate=legacy_cppc` to grub which enable shared memory interface
to communicate with cppc_acpi module to control pstate hints.
Signed-off-by: Perry Yuan <Perry.Yuan@amd.com>
---
drivers/cpufreq/Kconfig.x86 | 2 +-
drivers/cpufreq/amd-pstate.c | 25 +++++++++++++++----------
2 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/drivers/cpufreq/Kconfig.x86 b/drivers/cpufreq/Kconfig.x86
index 310779b07daf..00476e94db90 100644
--- a/drivers/cpufreq/Kconfig.x86
+++ b/drivers/cpufreq/Kconfig.x86
@@ -35,7 +35,7 @@ config X86_PCC_CPUFREQ
If in doubt, say N.
config X86_AMD_PSTATE
- tristate "AMD Processor P-State driver"
+ bool "AMD Processor P-State driver"
depends on X86 && ACPI
select ACPI_PROCESSOR
select ACPI_CPPC_LIB if X86_64
diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
index ace7d50cf2ac..85a0b3fb56c2 100644
--- a/drivers/cpufreq/amd-pstate.c
+++ b/drivers/cpufreq/amd-pstate.c
@@ -59,10 +59,7 @@
* we disable it by default to go acpi-cpufreq on these processors and add a
* module parameter to be able to enable it manually for debugging.
*/
-static bool shared_mem = false;
-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 shared_mem __read_mostly;
static struct cpufreq_driver amd_pstate_driver;
@@ -653,16 +650,24 @@ static int __init amd_pstate_init(void)
return ret;
}
+device_initcall(amd_pstate_init);
-static void __exit amd_pstate_exit(void)
+static int __init amd_pstate_param(char *str)
{
- cpufreq_unregister_driver(&amd_pstate_driver);
+ if (!str)
+ return -EINVAL;
- amd_pstate_enable(false);
-}
+ /*
+ * support shared memory type CPPC which has no MSR function.
+ * enable amd-pstate on processors with shared memory solution
+ * (amd-pstate=legacy_cppc enabled), it is disabled by default.
+ */
+ if (!strcmp(str, "legacy_cppc"))
+ shared_mem = true;
-module_init(amd_pstate_init);
-module_exit(amd_pstate_exit);
+ return 0;
+}
+early_param("amd-pstate", amd_pstate_param);
MODULE_AUTHOR("Huang Rui <ray.huang@amd.com>");
MODULE_DESCRIPTION("AMD Processor P-state Frequency Driver");
--
2.34.1
next prev parent reply other threads:[~2022-11-10 17:59 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-10 17:58 [PATCH v4 0/9] Implement AMD Pstate EPP Driver Perry Yuan
2022-11-10 17:58 ` [PATCH v4 1/9] ACPI: CPPC: Add AMD pstate energy performance preference cppc control Perry Yuan
2022-11-10 17:58 ` [PATCH v4 2/9] Documentation: amd-pstate: add EPP profiles introduction Perry Yuan
2022-11-10 17:58 ` Perry Yuan [this message]
2022-11-14 22:46 ` [PATCH v4 3/9] cpufreq: amd-pstate: change amd-pstate driver to be built-in type Limonciello, Mario
2022-11-15 2:02 ` Yuan, Perry
2022-11-10 17:58 ` [PATCH v4 4/9] cpufreq: amd_pstate: implement Pstate EPP support for the AMD processors Perry Yuan
2022-11-14 22:40 ` Limonciello, Mario
2022-11-30 17:12 ` Yuan, Perry
2022-12-02 8:18 ` Yuan, Perry
2022-11-17 14:02 ` Wyes Karny
2022-11-18 3:54 ` Yuan, Perry
2022-11-10 17:58 ` [PATCH v4 5/9] cpufreq: amd_pstate: implement amd pstate cpu online and offline callback Perry Yuan
2022-11-10 17:58 ` [PATCH v4 6/9] cpufreq: amd-pstate: implement suspend and resume callbacks Perry Yuan
2022-11-10 17:58 ` [PATCH v4 7/9] cpufreq: amd-pstate: add frequency dynamic boost sysfs control Perry Yuan
2022-11-14 22:30 ` Limonciello, Mario
2022-11-30 17:13 ` Yuan, Perry
2022-11-10 17:58 ` [PATCH v4 8/9] cpufreq: amd_pstate: add driver working mode status sysfs entry Perry Yuan
2022-11-14 22:30 ` Limonciello, Mario
2022-11-30 17:13 ` Yuan, Perry
2022-11-10 17:58 ` [PATCH v4 9/9] Documentation: amd-pstate: add amd pstate driver mode introduction Perry Yuan
2022-11-14 22:29 ` Limonciello, Mario
2022-12-02 8:20 ` 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=20221110175847.3098728-4-Perry.Yuan@amd.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=Shimmer.Huang@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=ray.huang@amd.com \
--cc=viresh.kumar@linaro.org \
--cc=wyes.karny@amd.com \
/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.