summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Salomon <dilinger@queued.net>2008-04-28 13:15:30 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-28 19:58:40 +0400
commit61a517a063abf659cbf61df11f8e2131fdafccec (patch)
tree9d5dcda60662eb483cd71827036e5ece913c1138
parent4537f93ae88c77a26e77d192ca32a0c2cd359592 (diff)
downloadlinux-61a517a063abf659cbf61df11f8e2131fdafccec.tar.xz
gxfb/lxfb: use VSA definitions when fetching framebuffer size
..Rather than using magic constants. Signed-off-by: Andres Salomon <dilinger@debian.org> Cc: Jordan Crouse <jordan.crouse@amd.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/video/geode/display_gx.c7
-rw-r--r--drivers/video/geode/lxfb_ops.c6
-rw-r--r--include/asm-x86/geode.h1
3 files changed, 8 insertions, 6 deletions
diff --git a/drivers/video/geode/display_gx.c b/drivers/video/geode/display_gx.c
index 3743c8766a08..1e82ecc367dd 100644
--- a/drivers/video/geode/display_gx.c
+++ b/drivers/video/geode/display_gx.c
@@ -17,6 +17,7 @@
#include <asm/io.h>
#include <asm/div64.h>
#include <asm/delay.h>
+#include <asm/geode.h>
#include "gxfb.h"
@@ -28,10 +29,10 @@ unsigned int gx_frame_buffer_size(void)
/* Virtual register class = 0x02 */
/* VG_MEM_SIZE(512Kb units) = 0x00 */
- outw(0xFC53, 0xAC1C);
- outw(0x0200, 0xAC1C);
+ outw(VSA_VR_UNLOCK, VSA_VRC_INDEX);
+ outw(VSA_VR_MEM_SIZE, VSA_VRC_INDEX);
- val = (unsigned int)(inw(0xAC1E)) & 0xFFl;
+ val = (unsigned int)(inw(VSA_VRC_DATA)) & 0xFFl;
return (val << 19);
}
diff --git a/drivers/video/geode/lxfb_ops.c b/drivers/video/geode/lxfb_ops.c
index 531fcdcdd759..e42e12489f6d 100644
--- a/drivers/video/geode/lxfb_ops.c
+++ b/drivers/video/geode/lxfb_ops.c
@@ -333,10 +333,10 @@ unsigned int lx_framebuffer_size(void)
/* Virtual Register Class = 0x02 */
/* VG_MEM_SIZE (1MB units) = 0x00 */
- outw(0xFC53, 0xAC1C);
- outw(0x0200, 0xAC1C);
+ outw(VSA_VR_UNLOCK, VSA_VRC_INDEX);
+ outw(VSA_VR_MEM_SIZE, VSA_VRC_INDEX);
- val = (unsigned int)(inw(0xAC1E)) & 0xFE;
+ val = (unsigned int)(inw(VSA_VRC_DATA)) & 0xFE;
return (val << 20);
}
diff --git a/include/asm-x86/geode.h b/include/asm-x86/geode.h
index 3978200f126c..4fb2f62e277b 100644
--- a/include/asm-x86/geode.h
+++ b/include/asm-x86/geode.h
@@ -109,6 +109,7 @@ extern int geode_get_dev_base(unsigned int dev);
#define VSA_VRC_DATA 0xAC1E
#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' */
/* GPIO */