Revision 9855d8ce41a7801548a05d844db2f46c3e810166 authored by Stefan Bader on 22 January 2013, 12:37:21 UTC, committed by Rafael J. Wysocki on 22 January 2013, 12:37:21 UTC
To fix incorrect P-state frequencies which can happen on
some AMD systems f594065faf4f9067c2283a34619fc0714e79a98d
   "ACPI: Add fixups for AMD P-state figures"
introduced a quirk to obtain the correct values by reading
from AMD specific MSRs.

This did cause a regression when running a kernel using that
quirk under Xen which does (currently) not pass through MSR
reads to the HW. Instead the guest gets a 0 in return.
And this seems to cause a failure to initialize the ondemand
governour (hard to say for sure as all P-states appear to run
at the same frequency).

While this should also be fixed in the hypervisor (to allow
a guest to read that MSR), this patch is intended to work
around the issue in the meantime. In discussion it turned out
that indeed real HW/BIOSes may choose to not set the valid bit
and thus mark the P-state as invalid. So this could be considered
a fix for broken BIOSes that also works around the issue on Xen.

Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Cc: 3.7+ <stable@vger.kernel.org>
Acked-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 8fa938a
History
File Mode Size
Kconfig -rw-r--r-- 2.8 KB
Makefile -rw-r--r-- 763 bytes
array.c -rw-r--r-- 18.4 KB
base.c -rw-r--r-- 75.2 KB
cmdline.c -rw-r--r-- 651 bytes
consoles.c -rw-r--r-- 2.2 KB
cpuinfo.c -rw-r--r-- 564 bytes
devices.c -rw-r--r-- 1.4 KB
fd.c -rw-r--r-- 8.0 KB
fd.h -rw-r--r-- 412 bytes
generic.c -rw-r--r-- 19.2 KB
inode.c -rw-r--r-- 12.0 KB
internal.h -rw-r--r-- 6.2 KB
interrupts.c -rw-r--r-- 1.1 KB
kcore.c -rw-r--r-- 15.2 KB
kmsg.c -rw-r--r-- 1.5 KB
loadavg.c -rw-r--r-- 1.1 KB
meminfo.c -rw-r--r-- 4.9 KB
mmu.c -rw-r--r-- 1.4 KB
namespaces.c -rw-r--r-- 7.2 KB
nommu.c -rw-r--r-- 3.3 KB
page.c -rw-r--r-- 5.2 KB
proc_devtree.c -rw-r--r-- 5.3 KB
proc_net.c -rw-r--r-- 4.6 KB
proc_sysctl.c -rw-r--r-- 38.9 KB
proc_tty.c -rw-r--r-- 4.7 KB
root.c -rw-r--r-- 5.4 KB
self.c -rw-r--r-- 1.4 KB
softirqs.c -rw-r--r-- 993 bytes
stat.c -rw-r--r-- 5.9 KB
task_mmu.c -rw-r--r-- 34.5 KB
task_nommu.c -rw-r--r-- 7.1 KB
uptime.c -rw-r--r-- 1.3 KB
version.c -rw-r--r-- 761 bytes
vmcore.c -rw-r--r-- 17.6 KB

back to top