[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250228170155.2623386-3-superm1@kernel.org>
Date: Fri, 28 Feb 2025 11:01:54 -0600
From: Mario Limonciello <superm1@...nel.org>
To: Shyam Sundar S K <Shyam-sundar.S-k@....com>,
"Rafael J . Wysocki" <rafael@...nel.org>,
Hans de Goede <hdegoede@...hat.com>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
"Luke D . Jones" <luke@...nes.dev>,
Mark Pearson <mpearson-lenovo@...ebb.ca>
Cc: platform-driver-x86@...r.kernel.org (open list:AMD PMF DRIVER),
linux-kernel@...r.kernel.org (open list),
linux-acpi@...r.kernel.org (open list:ACPI),
"Derek J . Clark" <derekjohn.clark@...il.com>,
Antheas Kapenekakis <lkml@...heas.dev>,
me@...egospodneti.ch,
Denis Benato <benato.denis96@...il.com>,
Mario Limonciello <mario.limonciello@....com>
Subject: [PATCH 2/3] platform/x86/amd: pmf: Add 'quiet' to hidden choices
From: Mario Limonciello <mario.limonciello@....com>
When amd-pmf and asus-wmi are both bound no low power option shows
up in sysfs. Add a hidden choice for amd-pmf to support 'quiet' mode
to let both bind.
Fixes: 688834743d67 ("ACPI: platform_profile: Allow multiple handlers")
Suggested-by: Antheas Kapenekakis <lkml@...heas.dev>
Signed-off-by: Mario Limonciello <mario.limonciello@....com>
---
Cc: "Luke D. Jones" <luke@...nes.dev>
drivers/platform/x86/amd/pmf/sps.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/platform/x86/amd/pmf/sps.c b/drivers/platform/x86/amd/pmf/sps.c
index e6cf0b22dac33..3a0079c17cb17 100644
--- a/drivers/platform/x86/amd/pmf/sps.c
+++ b/drivers/platform/x86/amd/pmf/sps.c
@@ -303,6 +303,7 @@ int amd_pmf_get_pprof_modes(struct amd_pmf_dev *pmf)
mode = POWER_MODE_BALANCED_POWER;
break;
case PLATFORM_PROFILE_LOW_POWER:
+ case PLATFORM_PROFILE_QUIET:
mode = POWER_MODE_POWER_SAVER;
break;
default:
@@ -387,6 +388,13 @@ static int amd_pmf_profile_set(struct device *dev,
return 0;
}
+static int amd_pmf_hidden_choices(void *drvdata, unsigned long *choices)
+{
+ set_bit(PLATFORM_PROFILE_QUIET, choices);
+
+ return 0;
+}
+
static int amd_pmf_profile_probe(void *drvdata, unsigned long *choices)
{
set_bit(PLATFORM_PROFILE_LOW_POWER, choices);
@@ -398,6 +406,7 @@ static int amd_pmf_profile_probe(void *drvdata, unsigned long *choices)
static const struct platform_profile_ops amd_pmf_profile_ops = {
.probe = amd_pmf_profile_probe,
+ .hidden_choices = amd_pmf_hidden_choices,
.profile_get = amd_pmf_profile_get,
.profile_set = amd_pmf_profile_set,
};
--
2.43.0
Powered by blists - more mailing lists