summaryrefslogtreecommitdiff
path: root/src/glamo.h
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2009-02-22 02:51:52 +0100
committerLars-Peter Clausen <lars@metafoo.de>2009-02-22 02:51:52 +0100
commit0e9a7ed0cc0b7fd8fe546d751ec553cba1683077 (patch)
treeb0d76ba7b50df5e7aeb4c3b1681dec7da97fcf63 /src/glamo.h
parent6aa6e5442c6f5b0b08080e4e3a46e923fd7921d9 (diff)
Add proper VT switching. Save and restore hardware registers. This should fix
suspend/resume.
Diffstat (limited to 'src/glamo.h')
-rw-r--r--src/glamo.h29
1 files changed, 17 insertions, 12 deletions
diff --git a/src/glamo.h b/src/glamo.h
index f14224a..84cba3d 100644
--- a/src/glamo.h
+++ b/src/glamo.h
@@ -78,7 +78,7 @@ typedef volatile CARD16 VOL16;
typedef struct _MemBuf {
int size;
int used;
- void *address;
+ char data[1];
} MemBuf;
typedef struct {
@@ -111,11 +111,22 @@ typedef struct {
/* linux framebuffer */
int fb_fd;
+ struct fb_var_screeninfo fb_saved_var;
struct fb_var_screeninfo fb_var;
struct fb_fix_screeninfo fb_fix;
unsigned char *fbstart;
unsigned char *fbmem;
int fboff;
+
+ /* save hardware registers */
+ short saved_clock_2d;
+ short saved_clock_isp;
+ short saved_clock_gen5_1;
+ short saved_clock_gen5_2;
+ short saved_hostbus_2;
+
+ /* Use hardware acceleration */
+ Bool accel;
} GlamoRec, *GlamoPtr;
#define GlamoPTR(p) ((GlamoPtr)((p)->driverPrivate))
@@ -136,22 +147,16 @@ MMIOSetBitMask(volatile char *mmio, CARD32 reg, CARD16 mask, CARD16 val)
/* glamo_draw.c */
Bool
-GLAMODrawInit(ScreenPtr pScreen);
-
-void
-GLAMODrawSetup(GlamoPtr pGlamo);
+GLAMODrawInit(ScrnInfoPtr pScrn);
-void
-GLAMODrawEnable(GlamoPtr pScreen);
+Bool
+GLAMODrawEnable(ScrnInfoPtr pScrn);
void
-GLAMODrawDisable(ScreenPtr pScreen);
+GLAMODrawDisable(ScrnInfoPtr pScrn);
void
-GLAMODrawFini(ScreenPtr pScreen);
-
-Bool
-GLAMODrawExaInit(ScreenPtr pScreen, ScrnInfoPtr pScrn);
+GLAMODrawFini(ScrnInfoPtr pScrn);
/* glamo-display.h */
Bool