RE: [PATCH 1/8] x86/amd: Move amd_get_highest_perf() from amd.c to cppc.c

Yuan, Perry
2024-08-27T06:29:22Z

[AMD Official Use Only - AMD Internal Distribution Only]

> -----Original Message-----
> From: Mario Limonciello <superm1@kernel.org>
> Sent: Tuesday, August 27, 2024 5:14 AM
> To: Borislav Petkov <bp@alien8.de>; Shenoy, Gautham Ranjal
> <gautham.shenoy@amd.com>; Yuan, Perry <Perry.Yuan@amd.com>
> Cc: maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT) <x86@kernel.org>;
> Rafael J . Wysocki <rafael@kernel.org>; open list:X86 ARCHITECTURE (32-BIT
> AND 64-BIT) <linux-kernel@vger.kernel.org>; open list:ACPI <linux-
> acpi@vger.kernel.org>; open list:CPU FREQUENCY SCALING FRAMEWORK
> <linux-pm@vger.kernel.org>; Limonciello, Mario
> <Mario.Limonciello@amd.com>
> Subject: [PATCH 1/8] x86/amd: Move amd_get_highest_perf() from amd.c to
> cppc.c
>
> From: Mario Limonciello <mario.limonciello@amd.com>
>
> To prepare to let amd_get_highest_perf() detect preferred cores it will require
> CPPC functions. Move amd_get_highest_perf() to cppc.c to prepare for
> 'preferred core detection' rework.
>
> No functional changes intended.
>
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
> ---
> arch/x86/kernel/acpi/cppc.c | 16 ++++++++++++++++
> arch/x86/kernel/cpu/amd.c | 16 ----------------
> 2 files changed, 16 insertions(+), 16 deletions(-)
>
> diff --git a/arch/x86/kernel/acpi/cppc.c b/arch/x86/kernel/acpi/cppc.c index
> ff8f25faca3dd..7ec8f2ce859c8 100644
> --- a/arch/x86/kernel/acpi/cppc.c
> +++ b/arch/x86/kernel/acpi/cppc.c
> @@ -116,3 +116,19 @@ void init_freq_invariance_cppc(void)
> init_done = true;
> mutex_unlock(&freq_invariance_lock);
> }
> +
> +u32 amd_get_highest_perf(void)
> +{
> + struct cpuinfo_x86 *c = &boot_cpu_data;
> +
> + if (c->x86 == 0x17 && ((c->x86_model >= 0x30 && c->x86_model <
> 0x40) ||
> + (c->x86_model >= 0x70 && c->x86_model <
> 0x80)))
> + return 166;
> +
> + if (c->x86 == 0x19 && ((c->x86_model >= 0x20 && c->x86_model <
> 0x30) ||
> + (c->x86_model >= 0x40 && c->x86_model <
> 0x70)))
> + return 166;
> +
> + return 255;
> +}
> +EXPORT_SYMBOL_GPL(amd_get_highest_perf);
> diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index
> 1e0fe5f8ab84e..015971adadfc7 100644
> --- a/arch/x86/kernel/cpu/amd.c
> +++ b/arch/x86/kernel/cpu/amd.c
> @@ -1190,22 +1190,6 @@ unsigned long amd_get_dr_addr_mask(unsigned
> int dr) } EXPORT_SYMBOL_GPL(amd_get_dr_addr_mask);
>
> -u32 amd_get_highest_perf(void)
> -{
> - struct cpuinfo_x86 *c = &boot_cpu_data;
> -
> - if (c->x86 == 0x17 && ((c->x86_model >= 0x30 && c->x86_model <
> 0x40) ||
> - (c->x86_model >= 0x70 && c->x86_model <
> 0x80)))
> - return 166;
> -
> - if (c->x86 == 0x19 && ((c->x86_model >= 0x20 && c->x86_model <
> 0x30) ||
> - (c->x86_model >= 0x40 && c->x86_model <
> 0x70)))
> - return 166;
> -
> - return 255;
> -}
> -EXPORT_SYMBOL_GPL(amd_get_highest_perf);
> -
> static void zenbleed_check_cpu(void *unused) {
> struct cpuinfo_x86 *c = &cpu_data(smp_processor_id());
> --
> 2.43.0
>

LGTM, thanks!

Reviewed-by: Perry Yuan <perry.yuan@amd.com>