aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndres Salomon <dilinger@queued.net>2008-04-28 05:15:30 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-28 11:58:40 -0400
commit61a517a063abf659cbf61df11f8e2131fdafccec (patch)
tree9d5dcda60662eb483cd71827036e5ece913c1138
parent4537f93ae88c77a26e77d192ca32a0c2cd359592 (diff)
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 @@
17#include <asm/io.h> 17#include <asm/io.h>
18#include <asm/div64.h> 18#include <asm/div64.h>
19#include <asm/delay.h> 19#include <asm/delay.h>
20#include <asm/geode.h>
20 21
21#include "gxfb.h" 22#include "gxfb.h"
22 23
@@ -28,10 +29,10 @@ unsigned int gx_frame_buffer_size(void)
28 /* Virtual register class = 0x02 */ 29 /* Virtual register class = 0x02 */
29 /* VG_MEM_SIZE(512Kb units) = 0x00 */ 30 /* VG_MEM_SIZE(512Kb units) = 0x00 */
30 31
31 outw(0xFC53, 0xAC1C); 32 outw(VSA_VR_UNLOCK, VSA_VRC_INDEX);
32 outw(0x0200, 0xAC1C); 33 outw(VSA_VR_MEM_SIZE, VSA_VRC_INDEX);
33 34
34 val = (unsigned int)(inw(0xAC1E)) & 0xFFl; 35 val = (unsigned int)(inw(VSA_VRC_DATA)) & 0xFFl;
35 return (val << 19); 36 return (val << 19);
36} 37}
37 38
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)
333 /* Virtual Register Class = 0x02 */ 333 /* Virtual Register Class = 0x02 */
334 /* VG_MEM_SIZE (1MB units) = 0x00 */ 334 /* VG_MEM_SIZE (1MB units) = 0x00 */
335 335
336 outw(0xFC53, 0xAC1C); 336 outw(VSA_VR_UNLOCK, VSA_VRC_INDEX);
337 outw(0x0200, 0xAC1C); 337 outw(VSA_VR_MEM_SIZE, VSA_VRC_INDEX);
338 338
339 val = (unsigned int)(inw(0xAC1E)) & 0xFE; 339 val = (unsigned int)(inw(VSA_VRC_DATA)) & 0xFE;
340 return (val << 20); 340 return (val << 20);
341} 341}
342 342
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);
109#define VSA_VRC_DATA 0xAC1E 109#define VSA_VRC_DATA 0xAC1E
110#define VSA_VR_UNLOCK 0xFC53 /* unlock virtual register */ 110#define VSA_VR_UNLOCK 0xFC53 /* unlock virtual register */
111#define VSA_VR_SIGNATURE 0x0003 111#define VSA_VR_SIGNATURE 0x0003
112#define VSA_VR_MEM_SIZE 0x0200
112#define VSA_SIG 0x4132 /* signature is ascii 'VSA2' */ 113#define VSA_SIG 0x4132 /* signature is ascii 'VSA2' */
113 114
114/* GPIO */ 115/* GPIO */