From: Jordan Crouse <jordan.crouse@amd.com>
To: linux-kernel@vger.kernel.org
Cc: tglx@linutronix.de, mingo@redhat.com, linux-geode@lists.infradead.org
Subject: [PATCH] geode: Add a VSA2 ID for General Software
Date: Wed, 18 Jun 2008 11:34:38 -0600 [thread overview]
Message-ID: <20080618173438.GA9130@cosmic.amd.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 465 bytes --]
We have learned from bitter experience that one of the Geode BIOS vendors,
General Software, uses a different ID for their VSA implementation then
the canonical version from AMD & Insyde. This patch adds the ID to the
have_geode_vsa2() check, and should make lxfb work again on many GSW
platforms. If Linus is planning another -rcX revision it would be good
to try and get this in, otherwise please schedule this for the stable
series and 2.6.27.
Thanks,
Jordan
[-- Attachment #2: add-gsw-id.patch --]
[-- Type: text/x-diff, Size: 1719 bytes --]
[PATCH] geode: Add a VSA2 ID for General Software
From: Jordan Crouse <jordan.crouse@amd.com>
General Software writes their own VSA2 module for their version
of the Geode BIOS, which returns a different ID then the standard
VSA2. This was causing the framebuffer driver to break for most
GSW boards.
Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
---
arch/x86/kernel/geode_32.c | 5 ++++-
include/asm-x86/geode.h | 4 ++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/geode_32.c b/arch/x86/kernel/geode_32.c
index e8edd63..9b08e85 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;
diff --git a/include/asm-x86/geode.h b/include/asm-x86/geode.h
index 6e64588..bb06027 100644
--- a/include/asm-x86/geode.h
+++ b/include/asm-x86/geode.h
@@ -112,8 +112,8 @@ extern int geode_get_dev_base(unsigned int dev);
#define VSA_VR_UNLOCK 0xFC53 /* unlock virtual register */
#define VSA_VR_SIGNATURE 0x0003
#define VSA_VR_MEM_SIZE 0x0200
-#define VSA_SIG 0x4132 /* signature is ascii 'VSA2' */
-
+#define AMD_VSA_SIG 0x4132 /* signature is ascii 'VSA2' */
+#define GSW_VSA_SIG 0x534d /* General Software signature */
/* GPIO */
#define GPIO_OUTPUT_VAL 0x00
next reply other threads:[~2008-06-18 17:56 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-18 17:34 Jordan Crouse [this message]
2008-06-19 12:20 ` [PATCH] geode: Add a VSA2 ID for General Software Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080618173438.GA9130@cosmic.amd.com \
--to=jordan.crouse@amd.com \
--cc=linux-geode@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.