| From 5368512abe08a28525d9b24abbfc2a72493e8dba Mon Sep 17 00:00:00 2001 |
| From: Wei Huang <wei.huang2@amd.com> |
| Date: Sun, 18 Oct 2020 22:57:41 -0500 |
| Subject: acpi-cpufreq: Honor _PSD table setting on new AMD CPUs |
| |
| From: Wei Huang <wei.huang2@amd.com> |
| |
| commit 5368512abe08a28525d9b24abbfc2a72493e8dba upstream. |
| |
| acpi-cpufreq has a old quirk that overrides the _PSD table supplied by |
| BIOS on AMD CPUs. However the _PSD table of new AMD CPUs (Family 19h+) |
| now accurately reports the P-state dependency of CPU cores. Hence this |
| quirk needs to be fixed in order to support new CPUs' frequency control. |
| |
| Fixes: acd316248205 ("acpi-cpufreq: Add quirk to disable _PSD usage on all AMD CPUs") |
| Signed-off-by: Wei Huang <wei.huang2@amd.com> |
| [ rjw: Subject edit ] |
| Cc: 3.10+ <stable@vger.kernel.org> # 3.10+ |
| Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/cpufreq/acpi-cpufreq.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/cpufreq/acpi-cpufreq.c |
| +++ b/drivers/cpufreq/acpi-cpufreq.c |
| @@ -691,7 +691,8 @@ static int acpi_cpufreq_cpu_init(struct |
| cpumask_copy(policy->cpus, topology_core_cpumask(cpu)); |
| } |
| |
| - if (check_amd_hwpstate_cpu(cpu) && !acpi_pstate_strict) { |
| + if (check_amd_hwpstate_cpu(cpu) && boot_cpu_data.x86 < 0x19 && |
| + !acpi_pstate_strict) { |
| cpumask_clear(policy->cpus); |
| cpumask_set_cpu(cpu, policy->cpus); |
| cpumask_copy(data->freqdomain_cpus, |