summaryrefslogtreecommitdiff
path: root/arch/x86/kernel/geode_32.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-06-25 12:28:47 +0200
committerIngo Molnar <mingo@elte.hu>2008-06-25 12:28:47 +0200
commitf4628e644c34d9e6242ea18487b2ed58ee04e3eb (patch)
tree3e1cd355fb6959d5b9f569342e4533a48e53aa11 /arch/x86/kernel/geode_32.c
parentcb9aa97c21c59ad01c9514d7faf45dc166fba226 (diff)
parent543cf4cb3fe6f6cae3651ba918b9c56200b257d0 (diff)
Merge branch 'linus' into tracing/mmiotrace-mergefixupstip-tracing-mmiotrace-mergefixups-2008-06-25_10.28_Wed
Diffstat (limited to 'arch/x86/kernel/geode_32.c')
-rw-r--r--arch/x86/kernel/geode_32.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kernel/geode_32.c b/arch/x86/kernel/geode_32.c
index e8edd63ab000..9b08e852fd1a 100644
--- a/arch/x86/kernel/geode_32.c
+++ b/arch/x86/kernel/geode_32.c
@@ -166,6 +166,8 @@ int geode_has_vsa2(void)
static int has_vsa2 = -1;
if (has_vsa2 == -1) {
+ u16 val;
+
/*
* The VSA has virtual registers that we can query for a
* signature.
@@ -173,7 +175,8 @@ int geode_has_vsa2(void)
outw(VSA_VR_UNLOCK, VSA_VRC_INDEX);
outw(VSA_VR_SIGNATURE, VSA_VRC_INDEX);
- has_vsa2 = (inw(VSA_VRC_DATA) == VSA_SIG);
+ val = inw(VSA_VRC_DATA);
+ has_vsa2 = (val == AMD_VSA_SIG || val == GSW_VSA_SIG);
}
return has_vsa2;