Skip to content

Commit

Permalink
[PATCH] FB: Get the Geode GX frambuffer size from the BIOS
Browse files Browse the repository at this point in the history
Use the Geode GX BIOS virtual registers to get the actual size of the
framebuffer.

Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Acked-by: James Simmons <jsimmons@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Jordan Crouse authored and Linus Torvalds committed Dec 8, 2006
1 parent 4437cd1 commit 4c1979c
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
15 changes: 12 additions & 3 deletions drivers/video/geode/display_gx.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,19 @@
#include "geodefb.h"
#include "display_gx.h"

int gx_frame_buffer_size(void)
unsigned int gx_frame_buffer_size(void)
{
/* Assuming 16 MiB. */
return 16*1024*1024;
unsigned int val;

/* FB size is reported by a virtual register */
/* Virtual register class = 0x02 */
/* VG_MEM_SIZE(512Kb units) = 0x00 */

outw(0xFC53, 0xAC1C);
outw(0x0200, 0xAC1C);

val = (unsigned int)(inw(0xAC1E)) & 0xFFl;
return (val << 19);
}

int gx_line_delta(int xres, int bpp)
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/geode/display_gx.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#ifndef __DISPLAY_GX_H__
#define __DISPLAY_GX_H__

int gx_frame_buffer_size(void);
unsigned int gx_frame_buffer_size(void);
int gx_line_delta(int xres, int bpp);

extern struct geode_dc_ops gx_dc_ops;
Expand Down

0 comments on commit 4c1979c

Please sign in to comment.