Re: [PATCH 1/1] platform/x86/amd/pmf: Introduce option to disable Smart PC function in PMF
From: Alexey Zagorodnikov
Date: Sun Jan 18 2026 - 12:58:27 EST
Sorry for the inconvenience, it is my first time :)
Originally bugreport here https://gitlab.freedesktop.org/drm/amd/-/issues/4868
But it turned out to be not a real bug, but rather a feature of the firmware, which in my case is not desirable. Would nice to have a toggle to disable, instead of completely blacklist module.
Should I send v2 patch with a new message?
On 1/18/26 20:20, Shyam Sundar S K wrote:
On 1/18/2026 01:38, Alexey Zagorodnikov wrote:
Signed-off-by: Alexey Zagorodnikov <xglooom@xxxxxxxxx>Please include the context in the commit message instead of the cover
letter. Additionally, if there are any bug reports or issue tracker
entries (e.g., Bugzilla) documenting the problem this addresses,
please reference them to provide justification for the change.
Thanks,
Shyam
---
drivers/platform/x86/amd/pmf/core.c | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/drivers/platform/x86/amd/pmf/core.c b/drivers/platform/x86/amd/pmf/core.c
index 8fc293c9c5380..00a4fc899c727 100644
--- a/drivers/platform/x86/amd/pmf/core.c
+++ b/drivers/platform/x86/amd/pmf/core.c
@@ -53,6 +53,11 @@ static bool force_load;
module_param(force_load, bool, 0444);
MODULE_PARM_DESC(force_load, "Force load this driver on supported older platforms (experimental)");
+/* Force to disable Smart PC Solution */
+static bool disable_smart_pc;
+module_param(disable_smart_pc, bool, 0444);
+MODULE_PARM_DESC(disable_smart_pc, "Disable Smart PC Solution");
+
static int amd_pmf_pwr_src_notify_call(struct notifier_block *nb, unsigned long event, void *data)
{
struct amd_pmf_dev *pmf = container_of(nb, struct amd_pmf_dev, pwr_src_notifier);
@@ -362,11 +367,15 @@ static void amd_pmf_init_features(struct amd_pmf_dev *dev)
dev_dbg(dev->dev, "SPS enabled and Platform Profiles registered\n");
}
- amd_pmf_init_smart_pc(dev);
- if (dev->smart_pc_enabled) {
- dev_dbg(dev->dev, "Smart PC Solution Enabled\n");
- /* If Smart PC is enabled, no need to check for other features */
- return;
+ if (disable_smart_pc) {
+ dev->smart_pc_enabled = false;
+ } else {
+ amd_pmf_init_smart_pc(dev);
+ if (dev->smart_pc_enabled) {
+ dev_dbg(dev->dev, "Smart PC Solution Enabled\n");
+ /* If Smart PC is enabled, no need to check for other features */
+ return;
+ }
}
if (is_apmf_func_supported(dev, APMF_FUNC_AUTO_MODE)) {