Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
sis_accel.h File Reference

Go to the source code of this file.

Macros

#define CRITBEGIN
 
#define CRITEND
 
#define CRITFLAGS
 
#define PATREGSIZE   384 /* Pattern register size. 384 bytes @ 0x8300 */
 
#define BR(x)   (0x8200 | (x) << 2)
 
#define PBR(x)   (0x8300 | (x) << 2)
 
#define BITBLT   0x00000000 /* Blit */
 
#define COLOREXP   0x00000001 /* Color expand */
 
#define ENCOLOREXP   0x00000002 /* Enhanced color expand */
 
#define MULTIPLE_SCANLINE   0x00000003 /* ? */
 
#define LINE   0x00000004 /* Draw line */
 
#define TRAPAZOID_FILL   0x00000005 /* Fill trapezoid */
 
#define TRANSPARENT_BITBLT   0x00000006 /* Transparent Blit */
 
#define ALPHA_BLEND   0x00000007 /* Alpha blend ? */
 
#define A3D_FUNCTION   0x00000008 /* 3D command ? */
 
#define CLEAR_Z_BUFFER   0x00000009 /* ? */
 
#define GRADIENT_FILL   0x0000000A /* Gradient fill */
 
#define SRCVIDEO   0x00000000 /* source is video RAM */
 
#define SRCSYSTEM   0x00000010 /* source is system memory */
 
#define SRCCPUBLITBUF   SRCSYSTEM /* source is CPU-driven BitBuffer (for color expand) */
 
#define SRCAGP   0x00000020 /* source is AGP memory (?) */
 
#define PATFG   0x00000000 /* foreground color */
 
#define PATPATREG   0x00000040 /* pattern in pattern buffer (0x8300) */
 
#define PATMONO   0x00000080 /* mono pattern */
 
#define X_INC   0x00010000
 
#define X_DEC   0x00000000
 
#define Y_INC   0x00020000
 
#define Y_DEC   0x00000000
 
#define NOCLIP   0x00000000
 
#define NOMERGECLIP   0x04000000
 
#define CLIPENABLE   0x00040000
 
#define CLIPWITHOUTMERGE   0x04040000
 
#define OPAQUE   0x00000000
 
#define TRANSPARENT   0x00100000
 
#define DSTAGP   0x02000000
 
#define DSTVIDEO   0x02000000
 
#define COLOR_TO_MONO   0x00100000
 
#define AA_TEXT   0x00200000
 
#define SRC_ADDR   0x8200
 
#define SRC_PITCH   0x8204
 
#define AGP_BASE   0x8206 /* color-depth dependent value */
 
#define SRC_Y   0x8208
 
#define SRC_X   0x820A
 
#define DST_Y   0x820C
 
#define DST_X   0x820E
 
#define DST_ADDR   0x8210
 
#define DST_PITCH   0x8214
 
#define DST_HEIGHT   0x8216
 
#define RECT_WIDTH   0x8218
 
#define RECT_HEIGHT   0x821A
 
#define PAT_FGCOLOR   0x821C
 
#define PAT_BGCOLOR   0x8220
 
#define SRC_FGCOLOR   0x8224
 
#define SRC_BGCOLOR   0x8228
 
#define MONO_MASK   0x822C
 
#define LEFT_CLIP   0x8234
 
#define TOP_CLIP   0x8236
 
#define RIGHT_CLIP   0x8238
 
#define BOTTOM_CLIP   0x823A
 
#define COMMAND_READY   0x823C
 
#define FIRE_TRIGGER   0x8240
 
#define PATTERN_REG   0x8300 /* 384 bytes pattern buffer */
 
#define TRANS_DST_KEY_HIGH   PAT_FGCOLOR
 
#define TRANS_DST_KEY_LOW   PAT_BGCOLOR
 
#define TRANS_SRC_KEY_HIGH   SRC_FGCOLOR
 
#define TRANS_SRC_KEY_LOW   SRC_BGCOLOR
 
#define CmdQueLen   ivideo->cmdqueuelength
 
#define SiS300Idle
 
#define SiS300SetupSRCBase(base)
 
#define SiS300SetupSRCPitch(pitch)
 
#define SiS300SetupSRCXY(x, y)
 
#define SiS300SetupDSTBase(base)
 
#define SiS300SetupDSTXY(x, y)
 
#define SiS300SetupDSTRect(x, y)
 
#define SiS300SetupDSTColorDepth(bpp)
 
#define SiS300SetupRect(w, h)
 
#define SiS300SetupPATFG(color)
 
#define SiS300SetupPATBG(color)
 
#define SiS300SetupSRCFG(color)
 
#define SiS300SetupSRCBG(color)
 
#define SiS300SetupSRCTrans(color)
 
#define SiS300SetupDSTTrans(color)
 
#define SiS300SetupMONOPAT(p0, p1)
 
#define SiS300SetupClipLT(left, top)
 
#define SiS300SetupClipRB(right, bottom)
 
#define SiS300SetupROP(rop)   ivideo->CommandReg = (rop) << 8;
 
#define SiS300SetupCMDFlag(flags)   ivideo->CommandReg |= (flags);
 
#define SiS300DoCMD
 
#define SiS310Idle
 
#define SiS310SetupSRCBase(base)
 
#define SiS310SetupSRCPitch(pitch)
 
#define SiS310SetupSRCXY(x, y)
 
#define SiS310SetupDSTBase(base)
 
#define SiS310SetupDSTXY(x, y)
 
#define SiS310SetupDSTRect(x, y)
 
#define SiS310SetupDSTColorDepth(bpp)
 
#define SiS310SetupRect(w, h)
 
#define SiS310SetupPATFG(color)
 
#define SiS310SetupPATBG(color)
 
#define SiS310SetupSRCFG(color)
 
#define SiS310SetupSRCBG(color)
 
#define SiS310SetupSRCTrans(color)
 
#define SiS310SetupDSTTrans(color)
 
#define SiS310SetupMONOPAT(p0, p1)
 
#define SiS310SetupClipLT(left, top)
 
#define SiS310SetupClipRB(right, bottom)
 
#define SiS310SetupROP(rop)   ivideo->CommandReg = (rop) << 8;
 
#define SiS310SetupCMDFlag(flags)   ivideo->CommandReg |= (flags);
 
#define SiS310DoCMD
 

Functions

int sisfb_initaccel (struct sis_video_info *ivideo)
 
void sisfb_syncaccel (struct sis_video_info *ivideo)
 
int fbcon_sis_sync (struct fb_info *info)
 
void fbcon_sis_fillrect (struct fb_info *info, const struct fb_fillrect *rect)
 
void fbcon_sis_copyarea (struct fb_info *info, const struct fb_copyarea *area)
 

Macro Definition Documentation

#define A3D_FUNCTION   0x00000008 /* 3D command ? */

Definition at line 67 of file sis_accel.h.

#define AA_TEXT   0x00200000

Definition at line 104 of file sis_accel.h.

#define AGP_BASE   0x8206 /* color-depth dependent value */

Definition at line 109 of file sis_accel.h.

#define ALPHA_BLEND   0x00000007 /* Alpha blend ? */

Definition at line 66 of file sis_accel.h.

#define BITBLT   0x00000000 /* Blit */

Definition at line 57 of file sis_accel.h.

#define BOTTOM_CLIP   0x823A

Definition at line 127 of file sis_accel.h.

#define BR (   x)    (0x8200 | (x) << 2)

Definition at line 53 of file sis_accel.h.

#define CLEAR_Z_BUFFER   0x00000009 /* ? */

Definition at line 68 of file sis_accel.h.

#define CLIPENABLE   0x00040000

Definition at line 91 of file sis_accel.h.

#define CLIPWITHOUTMERGE   0x04040000

Definition at line 92 of file sis_accel.h.

#define CmdQueLen   ivideo->cmdqueuelength

Definition at line 140 of file sis_accel.h.

#define COLOR_TO_MONO   0x00100000

Definition at line 103 of file sis_accel.h.

#define COLOREXP   0x00000001 /* Color expand */

Definition at line 58 of file sis_accel.h.

#define COMMAND_READY   0x823C

Definition at line 128 of file sis_accel.h.

#define CRITBEGIN

Definition at line 45 of file sis_accel.h.

#define CRITEND

Definition at line 46 of file sis_accel.h.

#define CRITFLAGS

Definition at line 47 of file sis_accel.h.

#define DST_ADDR   0x8210

Definition at line 114 of file sis_accel.h.

#define DST_HEIGHT   0x8216

Definition at line 116 of file sis_accel.h.

#define DST_PITCH   0x8214

Definition at line 115 of file sis_accel.h.

#define DST_X   0x820E

Definition at line 113 of file sis_accel.h.

#define DST_Y   0x820C

Definition at line 112 of file sis_accel.h.

#define DSTAGP   0x02000000

Definition at line 99 of file sis_accel.h.

#define DSTVIDEO   0x02000000

Definition at line 100 of file sis_accel.h.

#define ENCOLOREXP   0x00000002 /* Enhanced color expand */

Definition at line 59 of file sis_accel.h.

#define FIRE_TRIGGER   0x8240

Definition at line 129 of file sis_accel.h.

#define GRADIENT_FILL   0x0000000A /* Gradient fill */

Definition at line 69 of file sis_accel.h.

#define LEFT_CLIP   0x8234

Definition at line 124 of file sis_accel.h.

#define LINE   0x00000004 /* Draw line */

Definition at line 61 of file sis_accel.h.

#define MONO_MASK   0x822C

Definition at line 123 of file sis_accel.h.

#define MULTIPLE_SCANLINE   0x00000003 /* ? */

Definition at line 60 of file sis_accel.h.

#define NOCLIP   0x00000000

Definition at line 89 of file sis_accel.h.

#define NOMERGECLIP   0x04000000

Definition at line 90 of file sis_accel.h.

#define OPAQUE   0x00000000

Definition at line 95 of file sis_accel.h.

#define PAT_BGCOLOR   0x8220

Definition at line 120 of file sis_accel.h.

#define PAT_FGCOLOR   0x821C

Definition at line 119 of file sis_accel.h.

#define PATFG   0x00000000 /* foreground color */

Definition at line 78 of file sis_accel.h.

#define PATMONO   0x00000080 /* mono pattern */

Definition at line 80 of file sis_accel.h.

#define PATPATREG   0x00000040 /* pattern in pattern buffer (0x8300) */

Definition at line 79 of file sis_accel.h.

#define PATREGSIZE   384 /* Pattern register size. 384 bytes @ 0x8300 */

Definition at line 52 of file sis_accel.h.

#define PATTERN_REG   0x8300 /* 384 bytes pattern buffer */

Definition at line 131 of file sis_accel.h.

#define PBR (   x)    (0x8300 | (x) << 2)

Definition at line 54 of file sis_accel.h.

#define RECT_HEIGHT   0x821A

Definition at line 118 of file sis_accel.h.

#define RECT_WIDTH   0x8218

Definition at line 117 of file sis_accel.h.

#define RIGHT_CLIP   0x8238

Definition at line 126 of file sis_accel.h.

#define SiS300DoCMD
Value:
MMIO_OUT32(ivideo->mmio_vbase, BR(15), ivideo->CommandReg); \
MMIO_OUT32(ivideo->mmio_vbase, BR(16), 0);\
CmdQueLen -= 2;

Definition at line 262 of file sis_accel.h.

#define SiS300Idle
Value:
{ \
while((MMIO_IN16(ivideo->mmio_vbase, BR(16)+2) & 0xE000) != 0xE000){}; \
while((MMIO_IN16(ivideo->mmio_vbase, BR(16)+2) & 0xE000) != 0xE000){}; \
while((MMIO_IN16(ivideo->mmio_vbase, BR(16)+2) & 0xE000) != 0xE000){}; \
CmdQueLen = MMIO_IN16(ivideo->mmio_vbase, 0x8240); \
}

Definition at line 154 of file sis_accel.h.

#define SiS300SetupClipLT (   left,
  top 
)
Value:
MMIO_OUT32(ivideo->mmio_vbase, BR(13), ((left) & 0xFFFF) | (top)<<16 );\
CmdQueLen--;

Definition at line 245 of file sis_accel.h.

#define SiS300SetupClipRB (   right,
  bottom 
)
Value:
MMIO_OUT32(ivideo->mmio_vbase, BR(14), ((right) & 0xFFFF) | (bottom)<<16 );\
CmdQueLen--;

Definition at line 250 of file sis_accel.h.

#define SiS300SetupCMDFlag (   flags)    ivideo->CommandReg |= (flags);

Definition at line 259 of file sis_accel.h.

#define SiS300SetupDSTBase (   base)
Value:
MMIO_OUT32(ivideo->mmio_vbase, BR(4), base);\
CmdQueLen--;

Definition at line 178 of file sis_accel.h.

#define SiS300SetupDSTColorDepth (   bpp)
Value:
MMIO_OUT16(ivideo->mmio_vbase, BR(1)+2, bpp);\
CmdQueLen--;

Definition at line 193 of file sis_accel.h.

#define SiS300SetupDSTRect (   x,
  y 
)
Value:
MMIO_OUT32(ivideo->mmio_vbase, BR(5), (y)<<16 | (x) );\
CmdQueLen--;

Definition at line 188 of file sis_accel.h.

#define SiS300SetupDSTTrans (   color)
Value:
MMIO_OUT32(ivideo->mmio_vbase, 0x821C, color); \
MMIO_OUT32(ivideo->mmio_vbase, 0x8220, color); \
CmdQueLen -= 2;

Definition at line 233 of file sis_accel.h.

#define SiS300SetupDSTXY (   x,
  y 
)
Value:
MMIO_OUT32(ivideo->mmio_vbase, BR(3), (x)<<16 | (y) );\
CmdQueLen--;

Definition at line 183 of file sis_accel.h.

#define SiS300SetupMONOPAT (   p0,
  p1 
)
Value:
MMIO_OUT32(ivideo->mmio_vbase, BR(11), p0);\
MMIO_OUT32(ivideo->mmio_vbase, BR(12), p1);\
CmdQueLen -= 2;

Definition at line 239 of file sis_accel.h.

#define SiS300SetupPATBG (   color)
Value:
MMIO_OUT32(ivideo->mmio_vbase, BR(8), color);\
CmdQueLen--;

Definition at line 208 of file sis_accel.h.

#define SiS300SetupPATFG (   color)
Value:
MMIO_OUT32(ivideo->mmio_vbase, BR(7), color);\
CmdQueLen--;

Definition at line 203 of file sis_accel.h.

#define SiS300SetupRect (   w,
  h 
)
Value:
MMIO_OUT32(ivideo->mmio_vbase, BR(6), (h)<<16 | (w) );\
CmdQueLen--;

Definition at line 198 of file sis_accel.h.

#define SiS300SetupROP (   rop)    ivideo->CommandReg = (rop) << 8;

Definition at line 256 of file sis_accel.h.

#define SiS300SetupSRCBase (   base)
Value:
MMIO_OUT32(ivideo->mmio_vbase, BR(0), base);\
CmdQueLen--;

Definition at line 163 of file sis_accel.h.

#define SiS300SetupSRCBG (   color)
Value:
MMIO_OUT32(ivideo->mmio_vbase, BR(10), color);\
CmdQueLen--;

Definition at line 218 of file sis_accel.h.

#define SiS300SetupSRCFG (   color)
Value:
MMIO_OUT32(ivideo->mmio_vbase, BR(9), color);\
CmdQueLen--;

Definition at line 213 of file sis_accel.h.

#define SiS300SetupSRCPitch (   pitch)
Value:
MMIO_OUT16(ivideo->mmio_vbase, BR(1), pitch);\
CmdQueLen--;

Definition at line 168 of file sis_accel.h.

#define SiS300SetupSRCTrans (   color)
Value:
MMIO_OUT32(ivideo->mmio_vbase, 0x8224, color);\
MMIO_OUT32(ivideo->mmio_vbase, 0x8228, color);\
CmdQueLen -= 2;

Definition at line 227 of file sis_accel.h.

#define SiS300SetupSRCXY (   x,
  y 
)
Value:
MMIO_OUT32(ivideo->mmio_vbase, BR(2), (x)<<16 | (y) );\
CmdQueLen--;

Definition at line 173 of file sis_accel.h.

#define SiS310DoCMD
Value:
MMIO_OUT32(ivideo->mmio_vbase, COMMAND_READY, ivideo->CommandReg); \
MMIO_OUT32(ivideo->mmio_vbase, FIRE_TRIGGER, 0); \
CmdQueLen -= 2;

Definition at line 387 of file sis_accel.h.

#define SiS310Idle
Value:
{ \
while( (MMIO_IN16(ivideo->mmio_vbase, Q_STATUS+2) & 0x8000) != 0x8000){}; \
while( (MMIO_IN16(ivideo->mmio_vbase, Q_STATUS+2) & 0x8000) != 0x8000){}; \
while( (MMIO_IN16(ivideo->mmio_vbase, Q_STATUS+2) & 0x8000) != 0x8000){}; \
while( (MMIO_IN16(ivideo->mmio_vbase, Q_STATUS+2) & 0x8000) != 0x8000){}; \
CmdQueLen = 0; \
}

Definition at line 284 of file sis_accel.h.

#define SiS310SetupClipLT (   left,
  top 
)
Value:
MMIO_OUT32(ivideo->mmio_vbase, LEFT_CLIP, ((left) & 0xFFFF) | (top)<<16 );\
CmdQueLen--;

Definition at line 371 of file sis_accel.h.

#define SiS310SetupClipRB (   right,
  bottom 
)
Value:
MMIO_OUT32(ivideo->mmio_vbase, RIGHT_CLIP, ((right) & 0xFFFF) | (bottom)<<16 );\
CmdQueLen--;

Definition at line 376 of file sis_accel.h.

#define SiS310SetupCMDFlag (   flags)    ivideo->CommandReg |= (flags);

Definition at line 384 of file sis_accel.h.

#define SiS310SetupDSTBase (   base)
Value:
MMIO_OUT32(ivideo->mmio_vbase, DST_ADDR, base);\
CmdQueLen--;

Definition at line 308 of file sis_accel.h.

#define SiS310SetupDSTColorDepth (   bpp)
Value:
MMIO_OUT16(ivideo->mmio_vbase, AGP_BASE, bpp);\
CmdQueLen--;

Definition at line 323 of file sis_accel.h.

#define SiS310SetupDSTRect (   x,
  y 
)
Value:
MMIO_OUT32(ivideo->mmio_vbase, DST_PITCH, (y)<<16 | (x) );\
CmdQueLen--;

Definition at line 318 of file sis_accel.h.

#define SiS310SetupDSTTrans (   color)
Value:
MMIO_OUT32(ivideo->mmio_vbase, TRANS_DST_KEY_HIGH, color); \
MMIO_OUT32(ivideo->mmio_vbase, TRANS_DST_KEY_LOW, color); \
CmdQueLen -= 2;

Definition at line 359 of file sis_accel.h.

#define SiS310SetupDSTXY (   x,
  y 
)
Value:
MMIO_OUT32(ivideo->mmio_vbase, DST_Y, (x)<<16 | (y) );\
CmdQueLen--;

Definition at line 313 of file sis_accel.h.

#define SiS310SetupMONOPAT (   p0,
  p1 
)
Value:
MMIO_OUT32(ivideo->mmio_vbase, MONO_MASK, p0);\
MMIO_OUT32(ivideo->mmio_vbase, MONO_MASK+4, p1);\
CmdQueLen -= 2;

Definition at line 365 of file sis_accel.h.

#define SiS310SetupPATBG (   color)
Value:
MMIO_OUT32(ivideo->mmio_vbase, PAT_BGCOLOR, color);\
CmdQueLen--;

Definition at line 338 of file sis_accel.h.

#define SiS310SetupPATFG (   color)
Value:
MMIO_OUT32(ivideo->mmio_vbase, PAT_FGCOLOR, color);\
CmdQueLen--;

Definition at line 333 of file sis_accel.h.

#define SiS310SetupRect (   w,
  h 
)
Value:
MMIO_OUT32(ivideo->mmio_vbase, RECT_WIDTH, (h)<<16 | (w) );\
CmdQueLen--;

Definition at line 328 of file sis_accel.h.

#define SiS310SetupROP (   rop)    ivideo->CommandReg = (rop) << 8;

Definition at line 381 of file sis_accel.h.

#define SiS310SetupSRCBase (   base)
Value:
MMIO_OUT32(ivideo->mmio_vbase, SRC_ADDR, base);\
CmdQueLen--;

Definition at line 293 of file sis_accel.h.

#define SiS310SetupSRCBG (   color)
Value:
MMIO_OUT32(ivideo->mmio_vbase, SRC_BGCOLOR, color);\
CmdQueLen--;

Definition at line 348 of file sis_accel.h.

#define SiS310SetupSRCFG (   color)
Value:
MMIO_OUT32(ivideo->mmio_vbase, SRC_FGCOLOR, color);\
CmdQueLen--;

Definition at line 343 of file sis_accel.h.

#define SiS310SetupSRCPitch (   pitch)
Value:
MMIO_OUT16(ivideo->mmio_vbase, SRC_PITCH, pitch);\
CmdQueLen--;

Definition at line 298 of file sis_accel.h.

#define SiS310SetupSRCTrans (   color)
Value:
MMIO_OUT32(ivideo->mmio_vbase, TRANS_SRC_KEY_HIGH, color);\
MMIO_OUT32(ivideo->mmio_vbase, TRANS_SRC_KEY_LOW, color);\
CmdQueLen -= 2;

Definition at line 353 of file sis_accel.h.

#define SiS310SetupSRCXY (   x,
  y 
)
Value:
MMIO_OUT32(ivideo->mmio_vbase, SRC_Y, (x)<<16 | (y) );\
CmdQueLen--;

Definition at line 303 of file sis_accel.h.

#define SRC_ADDR   0x8200

Definition at line 107 of file sis_accel.h.

#define SRC_BGCOLOR   0x8228

Definition at line 122 of file sis_accel.h.

#define SRC_FGCOLOR   0x8224

Definition at line 121 of file sis_accel.h.

#define SRC_PITCH   0x8204

Definition at line 108 of file sis_accel.h.

#define SRC_X   0x820A

Definition at line 111 of file sis_accel.h.

#define SRC_Y   0x8208

Definition at line 110 of file sis_accel.h.

#define SRCAGP   0x00000020 /* source is AGP memory (?) */

Definition at line 75 of file sis_accel.h.

#define SRCCPUBLITBUF   SRCSYSTEM /* source is CPU-driven BitBuffer (for color expand) */

Definition at line 74 of file sis_accel.h.

#define SRCSYSTEM   0x00000010 /* source is system memory */

Definition at line 73 of file sis_accel.h.

#define SRCVIDEO   0x00000000 /* source is video RAM */

Definition at line 72 of file sis_accel.h.

#define TOP_CLIP   0x8236

Definition at line 125 of file sis_accel.h.

#define TRANS_DST_KEY_HIGH   PAT_FGCOLOR

Definition at line 134 of file sis_accel.h.

#define TRANS_DST_KEY_LOW   PAT_BGCOLOR

Definition at line 135 of file sis_accel.h.

#define TRANS_SRC_KEY_HIGH   SRC_FGCOLOR

Definition at line 136 of file sis_accel.h.

#define TRANS_SRC_KEY_LOW   SRC_BGCOLOR

Definition at line 137 of file sis_accel.h.

#define TRANSPARENT   0x00100000

Definition at line 96 of file sis_accel.h.

#define TRANSPARENT_BITBLT   0x00000006 /* Transparent Blit */

Definition at line 63 of file sis_accel.h.

#define TRAPAZOID_FILL   0x00000005 /* Fill trapezoid */

Definition at line 62 of file sis_accel.h.

#define X_DEC   0x00000000

Definition at line 84 of file sis_accel.h.

#define X_INC   0x00010000

Definition at line 83 of file sis_accel.h.

#define Y_DEC   0x00000000

Definition at line 86 of file sis_accel.h.

#define Y_INC   0x00020000

Definition at line 85 of file sis_accel.h.

Function Documentation

void fbcon_sis_copyarea ( struct fb_info info,
const struct fb_copyarea area 
)

Definition at line 369 of file sis_accel.c.

void fbcon_sis_fillrect ( struct fb_info info,
const struct fb_fillrect rect 
)

Definition at line 318 of file sis_accel.c.

int fbcon_sis_sync ( struct fb_info info)

Definition at line 303 of file sis_accel.c.

int sisfb_initaccel ( struct sis_video_info ivideo)

Definition at line 282 of file sis_accel.c.

void sisfb_syncaccel ( struct sis_video_info ivideo)

Definition at line 290 of file sis_accel.c.