Skip to content

Commit eb5616d

Browse files
huangruirafaeljw
authored andcommitted
x86/ACPI: CPPC: Move init_freq_invariance_cppc() into x86 CPPC
The init_freq_invariance_cppc code actually doesn't need the SMP functionality. So setting the CONFIG_SMP as the check condition for init_freq_invariance_cppc may cause the confusion to misunderstand the CPPC. And the x86 CPPC file is better space to store the CPPC related functions, while the init_freq_invariance_cppc is out of smpboot, that means, the CONFIG_SMP won't be mandatory condition any more. And It's more clear than before. Signed-off-by: Huang Rui <ray.huang@amd.com> [ rjw: Subject adjustment ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 666f6ec commit eb5616d

3 files changed

Lines changed: 15 additions & 23 deletions

File tree

arch/x86/include/asm/topology.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -225,12 +225,10 @@ static inline void init_freq_invariance(bool secondary, bool cppc_ready)
225225
}
226226
#endif
227227

228-
#if defined(CONFIG_ACPI_CPPC_LIB) && defined(CONFIG_SMP)
228+
#ifdef CONFIG_ACPI_CPPC_LIB
229229
void init_freq_invariance_cppc(void);
230230
#define init_freq_invariance_cppc init_freq_invariance_cppc
231-
#endif
232231

233-
#ifdef CONFIG_ACPI_CPPC_LIB
234232
bool amd_set_max_freq_ratio(u64 *ratio);
235233
#else
236234
static inline bool amd_set_max_freq_ratio(u64 *ratio)

arch/x86/kernel/acpi/cppc.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,17 @@ bool amd_set_max_freq_ratio(u64 *ratio)
8787

8888
return true;
8989
}
90+
91+
static DEFINE_MUTEX(freq_invariance_lock);
92+
93+
void init_freq_invariance_cppc(void)
94+
{
95+
static bool secondary;
96+
97+
mutex_lock(&freq_invariance_lock);
98+
99+
init_freq_invariance(secondary, true);
100+
secondary = true;
101+
102+
mutex_unlock(&freq_invariance_lock);
103+
}

arch/x86/kernel/smpboot.c

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,6 @@
8383
#include <asm/hw_irq.h>
8484
#include <asm/stackprotector.h>
8585

86-
#ifdef CONFIG_ACPI_CPPC_LIB
87-
#include <acpi/cppc_acpi.h>
88-
#endif
89-
9086
/* representing HT siblings of each logical CPU */
9187
DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_sibling_map);
9288
EXPORT_PER_CPU_SYMBOL(cpu_sibling_map);
@@ -2156,22 +2152,6 @@ void init_freq_invariance(bool secondary, bool cppc_ready)
21562152
}
21572153
}
21582154

2159-
#ifdef CONFIG_ACPI_CPPC_LIB
2160-
static DEFINE_MUTEX(freq_invariance_lock);
2161-
2162-
void init_freq_invariance_cppc(void)
2163-
{
2164-
static bool secondary;
2165-
2166-
mutex_lock(&freq_invariance_lock);
2167-
2168-
init_freq_invariance(secondary, true);
2169-
secondary = true;
2170-
2171-
mutex_unlock(&freq_invariance_lock);
2172-
}
2173-
#endif
2174-
21752155
static void disable_freq_invariance_workfn(struct work_struct *work)
21762156
{
21772157
static_branch_disable(&arch_scale_freq_key);

0 commit comments

Comments
 (0)