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
blocklayout
objlayout
Kconfig -rw-r--r-- 5.1 KB
Makefile -rw-r--r-- 1.1 KB
cache_lib.c -rw-r--r-- 3.9 KB
cache_lib.h -rw-r--r-- 1.1 KB
callback.c -rw-r--r-- 11.6 KB
callback.h -rw-r--r-- 5.2 KB
callback_proc.c -rw-r--r-- 15.3 KB
callback_xdr.c -rw-r--r-- 25.0 KB
client.c -rw-r--r-- 36.9 KB
delegation.c -rw-r--r-- 18.4 KB
delegation.h -rw-r--r-- 2.4 KB
dir.c -rw-r--r-- 55.9 KB
direct.c -rw-r--r-- 27.8 KB
dns_resolve.c -rw-r--r-- 9.6 KB
dns_resolve.h -rw-r--r-- 812 bytes
file.c -rw-r--r-- 24.6 KB
fscache-index.c -rw-r--r-- 9.3 KB
fscache.c -rw-r--r-- 13.8 KB
fscache.h -rw-r--r-- 6.8 KB
getroot.c -rw-r--r-- 3.5 KB
idmap.c -rw-r--r-- 21.4 KB
inode.c -rw-r--r-- 48.4 KB
internal.h -rw-r--r-- 18.7 KB
iostat.h -rw-r--r-- 1.6 KB
mount_clnt.c -rw-r--r-- 11.8 KB
namespace.c -rw-r--r-- 6.9 KB
netns.h -rw-r--r-- 813 bytes
nfs.h -rw-r--r-- 993 bytes
nfs2super.c -rw-r--r-- 569 bytes
nfs2xdr.c -rw-r--r-- 25.5 KB
nfs3acl.c -rw-r--r-- 10.2 KB
nfs3client.c -rw-r--r-- 1.7 KB
nfs3proc.c -rw-r--r-- 24.2 KB
nfs3super.c -rw-r--r-- 569 bytes
nfs3xdr.c -rw-r--r-- 54.3 KB
nfs4_fs.h -rw-r--r-- 13.9 KB
nfs4client.c -rw-r--r-- 23.2 KB
nfs4file.c -rw-r--r-- 3.1 KB
nfs4filelayout.c -rw-r--r-- 36.0 KB
nfs4filelayout.h -rw-r--r-- 4.7 KB
nfs4filelayoutdev.c -rw-r--r-- 20.1 KB
nfs4getroot.c -rw-r--r-- 1.2 KB
nfs4namespace.c -rw-r--r-- 9.2 KB
nfs4proc.c -rw-r--r-- 181.2 KB
nfs4renewd.c -rw-r--r-- 4.1 KB
nfs4session.c -rw-r--r-- 14.4 KB
nfs4session.h -rw-r--r-- 3.9 KB
nfs4state.c -rw-r--r-- 57.4 KB
nfs4super.c -rw-r--r-- 8.6 KB
nfs4sysctl.c -rw-r--r-- 1.4 KB
nfs4xdr.c -rw-r--r-- 189.4 KB
nfsroot.c -rw-r--r-- 9.5 KB
pagelist.c -rw-r--r-- 12.0 KB
pnfs.c -rw-r--r-- 46.7 KB
pnfs.h -rw-r--r-- 15.6 KB
pnfs_dev.c -rw-r--r-- 8.0 KB
proc.c -rw-r--r-- 19.7 KB
read.c -rw-r--r-- 17.4 KB
super.c -rw-r--r-- 70.7 KB
symlink.c -rw-r--r-- 1.6 KB
sysctl.c -rw-r--r-- 1.2 KB
unlink.c -rw-r--r-- 14.3 KB
write.c -rw-r--r-- 48.0 KB

back to top