[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7e24a4f2-5f4a-4ed2-ac98-d60158e8e461@amd.com>
Date: Tue, 11 Jun 2024 13:50:03 -0500
From: Mario Limonciello <mario.limonciello@....com>
To: Perry Yuan <perry.yuan@....com>, gautham.shenoy@....com
Cc: rafael.j.wysocki@...el.com, viresh.kumar@...aro.org, Ray.Huang@....com,
Borislav.Petkov@....com, Alexander.Deucher@....com, Xinmei.Huang@....com,
Xiaojian.Du@....com, Li.Meng@....com, linux-pm@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 03/10] cpufreq: amd-pstate: show CPPC debug message if
CPPC is not supported
On 6/11/2024 03:52, Perry Yuan wrote:
> Add CPU ID checking in case the driver attempt to load on systems where
> CPPC functionality is unavailable. And the warning message will not
> be shown if CPPC is not supported.
>
> It will also print debug message if the CPU has no CPPC support that
> helps to debug the driver loading failure issue.
>
> Reported-by: Paul Menzel <pmenzel@...gen.mpg.de>
> Closes: https://lore.kernel.org/linux-pm/CYYPR12MB8655D32EA18574C9497E888A9C122@CYYPR12MB8655.namprd12.prod.outlook.com/T/#t
> Signed-off-by: Perry Yuan <perry.yuan@....com>
> Reviewed-by: Gautham R. Shenoy <gautham.shenoy@....com>
Acked-by: Mario Limonciello <mario.limonciello@....com>
> ---
> drivers/cpufreq/amd-pstate.c | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
> index 36b1964ca8d3..f166b3b94091 100644
> --- a/drivers/cpufreq/amd-pstate.c
> +++ b/drivers/cpufreq/amd-pstate.c
> @@ -1740,6 +1740,20 @@ static int __init amd_pstate_set_driver(int mode_idx)
> return -EINVAL;
> }
>
> +/**
> + * CPPC function is not supported for family ID 17H with model_ID ranging from 0x10 to 0x2F.
> + * show the debug message that helps to check if the CPU has CPPC support for loading issue.
> + */
> +static bool amd_cppc_supported(void)
> +{
> + if ((boot_cpu_data.x86 == 0x17) && (boot_cpu_data.x86_model < 0x30)) {
> + pr_debug_once("CPPC feature is not supported by the processor\n");
> + return false;
> + }
> +
> + return true;
> +}
> +
> static int __init amd_pstate_init(void)
> {
> struct device *dev_root;
> @@ -1748,6 +1762,11 @@ static int __init amd_pstate_init(void)
> if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD)
> return -ENODEV;
>
> + /* show debug message only if CPPC is not supported */
> + if (!amd_cppc_supported())
> + return -EOPNOTSUPP;
> +
> + /* show warning message when BIOS broken or ACPI disabled */
> if (!acpi_cpc_valid()) {
> pr_warn_once("the _CPC object is not present in SBIOS or ACPI disabled\n");
> return -ENODEV;
Powered by blists - more mailing lists