diff options
Diffstat (limited to 'drivers/cpufreq/acpi-cpufreq.c')
-rw-r--r-- | drivers/cpufreq/acpi-cpufreq.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c index 7b0d49d78c61..937bc286591f 100644 --- a/drivers/cpufreq/acpi-cpufreq.c +++ b/drivers/cpufreq/acpi-cpufreq.c | |||
@@ -734,7 +734,7 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy) | |||
734 | 734 | ||
735 | #ifdef CONFIG_SMP | 735 | #ifdef CONFIG_SMP |
736 | dmi_check_system(sw_any_bug_dmi_table); | 736 | dmi_check_system(sw_any_bug_dmi_table); |
737 | if (bios_with_sw_any_bug && cpumask_weight(policy->cpus) == 1) { | 737 | if (bios_with_sw_any_bug && !policy_is_shared(policy)) { |
738 | policy->shared_type = CPUFREQ_SHARED_TYPE_ALL; | 738 | policy->shared_type = CPUFREQ_SHARED_TYPE_ALL; |
739 | cpumask_copy(policy->cpus, cpu_core_mask(cpu)); | 739 | cpumask_copy(policy->cpus, cpu_core_mask(cpu)); |
740 | } | 740 | } |
@@ -762,6 +762,12 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy) | |||
762 | 762 | ||
763 | switch (perf->control_register.space_id) { | 763 | switch (perf->control_register.space_id) { |
764 | case ACPI_ADR_SPACE_SYSTEM_IO: | 764 | case ACPI_ADR_SPACE_SYSTEM_IO: |
765 | if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD && | ||
766 | boot_cpu_data.x86 == 0xf) { | ||
767 | pr_debug("AMD K8 systems must use native drivers.\n"); | ||
768 | result = -ENODEV; | ||
769 | goto err_unreg; | ||
770 | } | ||
765 | pr_debug("SYSTEM IO addr space\n"); | 771 | pr_debug("SYSTEM IO addr space\n"); |
766 | data->cpu_feature = SYSTEM_IO_CAPABLE; | 772 | data->cpu_feature = SYSTEM_IO_CAPABLE; |
767 | break; | 773 | break; |