diff options
Diffstat (limited to 'src/glamo.h')
-rw-r--r-- | src/glamo.h | 64 |
1 files changed, 9 insertions, 55 deletions
diff --git a/src/glamo.h b/src/glamo.h index a8807d5..f14224a 100644 --- a/src/glamo.h +++ b/src/glamo.h @@ -1,5 +1,6 @@ /* * Copyright 2007 OpenMoko, Inc. + * Copyright © 2009 Lars-Peter Clausen <lars@metafoo.de> * * This driver is based on Xati, * Copyright 2003 Eric Anholt @@ -40,33 +41,7 @@ #define GLAMO_REG_BASE(c) ((c)->attr.address[0]) #define GLAMO_REG_SIZE(c) (0x2400) -#ifdef __powerpc__ - -static __inline__ void -MMIO_OUT16(__volatile__ void *base, const unsigned long offset, - const unsigned int val) -{ - __asm__ __volatile__( - "stwbrx %1,%2,%3\n\t" - "eieio" - : "=m" (*((volatile unsigned char *)base+offset)) - : "r" (val), "b" (base), "r" (offset)); -} - -static __inline__ CARD32 -MMIO_IN16(__volatile__ void *base, const unsigned long offset) -{ - register unsigned int val; - __asm__ __volatile__( - "lwbrx %0,%1,%2\n\t" - "eieio" - : "=r" (val) - : "b" (base), "r" (offset), - "m" (*((volatile unsigned char *)base+offset))); - return val; -} - -#elif defined(__arm__) /* && !defined(__ARM_EABI__) */ +#if defined(__arm__) /* && !defined(__ARM_EABI__) */ static __inline__ void MMIO_OUT16(__volatile__ void *base, const unsigned long offset, @@ -93,14 +68,12 @@ MMIO_IN16(__volatile__ void *base, const unsigned long offset) #else -#define MMIO_OUT16(mmio, a, v) (*(VOL16 *)((mmio) + (a)) = (v)) -#define MMIO_IN16(mmio, a) (*(VOL16 *)((mmio) + (a))) +#define MMIO_OUT16(mmio, a, v) (*(VOL16 *)((mmio) + (a)) = (v)) +#define MMIO_IN16(mmio, a) (*(VOL16 *)((mmio) + (a))) #endif -typedef volatile CARD8 VOL8; -typedef volatile CARD16 VOL16; -typedef volatile CARD32 VOL32; +typedef volatile CARD16 VOL16; typedef struct _MemBuf { int size; @@ -112,44 +85,29 @@ typedef struct { Bool shadowFB; void *shadow; CloseScreenProcPtr CloseScreen; - CreateScreenResourcesProcPtr CreateScreenResources; + CreateScreenResourcesProcPtr CreateScreenResources; void (*PointerMoved)(int index, int x, int y); EntityInfoPtr pEnt; - /* DGA info */ - DGAModePtr pDGAMode; - int nDGAMode; OptionInfoPtr Options; ScreenPtr pScreen; - PixmapPtr srcPixmap; - PixmapPtr dstPixmap; - CARD32 src_offset; - CARD32 dst_offset; - CARD32 src_pitch; - CARD32 dst_pitch; - CARD32 settings; - CARD32 foreground; - ExaDriverPtr exa; ExaOffscreenArea *exa_cmd_queue; - CARD16 *ring_addr; /* Beginning of ring buffer. */ - int ring_len; + CARD16 *ring_addr; /* Beginning of ring buffer. */ + int ring_len; /* * cmd queue cache in system memory * It is to be flushed to cmd_queue_space * "at once", when we are happy with it. */ - MemBuf *cmd_queue_cache; - int cmd_queue_cache_start; + MemBuf *cmd_queue_cache; /* What was GLAMOCardInfo */ volatile char *reg_base; Bool is_3362; - CARD32 crtc_pitch; - CARD32 crtc2_pitch; /* linux framebuffer */ int fb_fd; @@ -158,7 +116,6 @@ typedef struct { unsigned char *fbstart; unsigned char *fbmem; int fboff; - int lineLength; } GlamoRec, *GlamoPtr; #define GlamoPTR(p) ((GlamoPtr)((p)->driverPrivate)) @@ -193,9 +150,6 @@ GLAMODrawDisable(ScreenPtr pScreen); void GLAMODrawFini(ScreenPtr pScreen); -void -GLAMORecolorCursor(ScreenPtr pScreen, int ndef, xColorItem *pdef); - Bool GLAMODrawExaInit(ScreenPtr pScreen, ScrnInfoPtr pScrn); |