]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
cpufreq/amd-pstate: Do not attempt to clear MSR_AMD_CPPC_ENABLE
authorDhananjay Ugwekar <Dhananjay.Ugwekar@amd.com>
Wed, 23 Oct 2024 10:21:08 +0000 (10:21 +0000)
committerMario Limonciello <mario.limonciello@amd.com>
Mon, 28 Oct 2024 19:54:36 +0000 (14:54 -0500)
MSR_AMD_CPPC_ENABLE is a write once register, i.e. attempting to clear
it is futile, it will not take effect. Hence, return if disable (0)
argument is passed to the msr_cppc_enable()

Signed-off-by: Dhananjay Ugwekar <Dhananjay.Ugwekar@amd.com>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Reviewed-by: Gautham R. Shenoy <gautham.shenoy@amd.com>
Link: https://lore.kernel.org/r/20241023102108.5980-3-Dhananjay.Ugwekar@amd.com
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
drivers/cpufreq/amd-pstate.c

index 0b4a4d69c14d714cbde6f398668c150ec309233e..576251e61ce0722b9e816af0280b6880cf3db8d3 100644 (file)
@@ -311,6 +311,12 @@ static inline int msr_cppc_enable(bool enable)
        int ret, cpu;
        unsigned long logical_proc_id_mask = 0;
 
+       /*
+        * MSR_AMD_CPPC_ENABLE is write-once, once set it cannot be cleared.
+        */
+       if (!enable)
+               return 0;
+
        if (enable == cppc_enabled)
                return 0;