ACPI: CPPC: Add ACPI disabled check to acpi_cpc_valid()
authorPerry Yuan <Perry.Yuan@amd.com>
Sun, 14 Aug 2022 16:35:48 +0000 (00:35 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 25 Aug 2022 11:55:17 +0000 (13:55 +0200)
Make acpi_cpc_valid() check if ACPI is disabled, so that its callers
don't need to check that separately.  This will also cause the AMD
pstate driver to refuse to load right away when ACPI is disabled.

Also update the warning message in amd_pstate_init() to mention the
ACPI disabled case for completeness.

Signed-off-by: Perry Yuan <Perry.Yuan@amd.com>
[ rjw: Subject edits, new changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/cppc_acpi.c
drivers/base/arch_topology.c
drivers/cpufreq/amd-pstate.c
drivers/cpufreq/cppc_cpufreq.c

index 1e15a9f..c230942 100644 (file)
@@ -424,6 +424,9 @@ bool acpi_cpc_valid(void)
        struct cpc_desc *cpc_ptr;
        int cpu;
 
+       if (acpi_disabled)
+               return false;
+
        for_each_present_cpu(cpu) {
                cpc_ptr = per_cpu(cpc_desc_ptr, cpu);
                if (!cpc_ptr)
index 0424b59..a9ff81d 100644 (file)
@@ -353,7 +353,7 @@ void topology_init_cpu_capacity_cppc(void)
        struct cppc_perf_caps perf_caps;
        int cpu;
 
-       if (likely(acpi_disabled || !acpi_cpc_valid()))
+       if (likely(!acpi_cpc_valid()))
                return;
 
        raw_capacity = kcalloc(num_possible_cpus(), sizeof(*raw_capacity),
index 9ac75c1..a8e386d 100644 (file)
@@ -673,7 +673,7 @@ static int __init amd_pstate_init(void)
                return -ENODEV;
 
        if (!acpi_cpc_valid()) {
-               pr_debug("the _CPC object is not present in SBIOS\n");
+               pr_warn_once("the _CPC object is not present in SBIOS or ACPI disabled\n");
                return -ENODEV;
        }
 
index 24eaf0e..9adb761 100644 (file)
@@ -947,7 +947,7 @@ static int __init cppc_cpufreq_init(void)
 {
        int ret;
 
-       if ((acpi_disabled) || !acpi_cpc_valid())
+       if (!acpi_cpc_valid())
                return -ENODEV;
 
        cppc_check_hisi_workaround();