mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-12 00:00:00 +00:00
[PATCH] FB: Get the Geode GX frambuffer size from the BIOS
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>
This commit is contained in:
parent
4437cd1e98
commit
4c1979c896
@ -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)
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user