cpufreq: AMD: Ignore the check for ProcFeedback in ST/CZ
In ST/CZ CPUID 8000_0007_EDX[11, ProcFeedbackInterface] is 0, but the mechanism is still available and can be used. Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
703cbaa601
commit
59a3b3a8db
1 changed files with 9 additions and 2 deletions
|
@ -14,6 +14,7 @@
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
#include <linux/pci.h>
|
||||||
#include <linux/percpu-defs.h>
|
#include <linux/percpu-defs.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/mod_devicetable.h>
|
#include <linux/mod_devicetable.h>
|
||||||
|
@ -109,12 +110,18 @@ out:
|
||||||
static int __init amd_freq_sensitivity_init(void)
|
static int __init amd_freq_sensitivity_init(void)
|
||||||
{
|
{
|
||||||
u64 val;
|
u64 val;
|
||||||
|
struct pci_dev *pcidev;
|
||||||
|
|
||||||
if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD)
|
if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
if (!static_cpu_has(X86_FEATURE_PROC_FEEDBACK))
|
pcidev = pci_get_device(PCI_VENDOR_ID_AMD,
|
||||||
return -ENODEV;
|
PCI_DEVICE_ID_AMD_KERNCZ_SMBUS, NULL);
|
||||||
|
|
||||||
|
if (!pcidev) {
|
||||||
|
if (!static_cpu_has(X86_FEATURE_PROC_FEEDBACK))
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
if (rdmsrl_safe(MSR_AMD64_FREQ_SENSITIVITY_ACTUAL, &val))
|
if (rdmsrl_safe(MSR_AMD64_FREQ_SENSITIVITY_ACTUAL, &val))
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
Loading…
Add table
Reference in a new issue