]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
platform/x86/amd: pmf: Add 'quiet' to hidden choices
authorMario Limonciello <mario.limonciello@amd.com>
Fri, 28 Feb 2025 17:01:54 +0000 (11:01 -0600)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 4 Mar 2025 19:45:34 +0000 (20:45 +0100)
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@antheas.dev>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Tested-by: Antheas Kapenekakis <lkml@antheas.dev>
Tested-by: Derek J. Clark <derekjohn.clark@gmail.com>
Acked-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://patch.msgid.link/20250228170155.2623386-3-superm1@kernel.org
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/platform/x86/amd/pmf/sps.c

index e6cf0b22dac33b07d2f1c5bc0a42f720319423a3..3a0079c17cb17b1cbd620f93804efda1bcdd4efc 100644 (file)
@@ -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,
 };