⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sis_accel.h

📁 该文件是rt_linux
💻 H
📖 第 1 页 / 共 2 页
字号:
                if (CmdQueLen <= 1)  SiS300Idle;\                MMIO_OUT32(ivideo.mmio_vbase, 0x8224, color);\		MMIO_OUT32(ivideo.mmio_vbase, 0x8228, color);\		CmdQueLen -= 2;#define SiS300SetupDSTTrans(color) \		if (CmdQueLen <= 1)  SiS300Idle;\		MMIO_OUT32(ivideo.mmio_vbase, 0x821C, color); \		MMIO_OUT32(ivideo.mmio_vbase, 0x8220, color); \                CmdQueLen -= 2;#define SiS300SetupMONOPAT(p0,p1) \                if (CmdQueLen <= 1)  SiS300Idle;\                MMIO_OUT32(ivideo.mmio_vbase, BR(11), p0);\                MMIO_OUT32(ivideo.mmio_vbase, BR(12), p1);\                CmdQueLen -= 2;#define SiS300SetupClipLT(left,top) \                if (CmdQueLen <= 0)  SiS300Idle;\                MMIO_OUT32(ivideo.mmio_vbase, BR(13), ((left) & 0xFFFF) | (top)<<16 );\                CmdQueLen--;#define SiS300SetupClipRB(right,bottom) \                if (CmdQueLen <= 0)  SiS300Idle;\                MMIO_OUT32(ivideo.mmio_vbase, BR(14), ((right) & 0xFFFF) | (bottom)<<16 );\                CmdQueLen--;/* General */#define SiS300SetupROP(rop) \                ivideo.CommandReg = (rop) << 8;#define SiS300SetupCMDFlag(flags) \                ivideo.CommandReg |= (flags);#define SiS300DoCMD \                if (CmdQueLen <= 1)  SiS300Idle;\                MMIO_OUT32(ivideo.mmio_vbase, BR(15), ivideo.CommandReg); \                MMIO_OUT32(ivideo.mmio_vbase, BR(16), 0);\                CmdQueLen -= 2;/* Line */#define SiS300SetupX0Y0(x,y) \                if (CmdQueLen <= 0)  SiS300Idle;\                MMIO_OUT32(ivideo.mmio_vbase, BR(2), (y)<<16 | (x) );\                CmdQueLen--;#define SiS300SetupX1Y1(x,y) \                if (CmdQueLen <= 0)  SiS300Idle;\                MMIO_OUT32(ivideo.mmio_vbase, BR(3), (y)<<16 | (x) );\                CmdQueLen--;#define SiS300SetupLineCount(c) \                if (CmdQueLen <= 0)  SiS300Idle;\                MMIO_OUT16(ivideo.mmio_vbase, BR(6), c);\                CmdQueLen--;#define SiS300SetupStylePeriod(p) \                if (CmdQueLen <= 0)  SiS300Idle;\                MMIO_OUT16(ivideo.mmio_vbase, BR(6)+2, p);\                CmdQueLen--;#define SiS300SetupStyleLow(ls) \                if (CmdQueLen <= 0)  SiS300Idle;\                MMIO_OUT32(ivideo.mmio_vbase, BR(11), ls);\                CmdQueLen--;#define SiS300SetupStyleHigh(ls) \                if (CmdQueLen <= 0)  SiS300Idle;\                MMIO_OUT32(ivideo.mmio_vbase, BR(12), ls);\                CmdQueLen--;/* ----------- SiS 310/325 series --------------- *//* Q_STATUS:   bit 31 = 1: All engines idle and all queues empty   bit 30 = 1: Hardware Queue (=HW CQ, 2D queue, 3D queue) empty   bit 29 = 1: 2D engine is idle   bit 28 = 1: 3D engine is idle   bit 27 = 1: HW command queue empty   bit 26 = 1: 2D queue empty   bit 25 = 1: 3D queue empty   bit 24 = 1: SW command queue empty   bits 23:16: 2D counter 3   bits 15:8:  2D counter 2   bits 7:0:   2D counter 1   Where is the command queue length (current amount of commands the queue   can accept) on the 310/325 series? (The current implementation is taken   from 300 series and certainly wrong...)*//* TW: FIXME: CmdQueLen is... where....? */#define SiS310Idle \  { \  while( (MMIO_IN16(ivideo.mmio_vbase, Q_STATUS+2) & 0x8000) != 0x8000){}; \  while( (MMIO_IN16(ivideo.mmio_vbase, Q_STATUS+2) & 0x8000) != 0x8000){}; \  CmdQueLen=MMIO_IN16(ivideo.mmio_vbase, Q_STATUS); \  }#define SiS310SetupSRCBase(base) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, SRC_ADDR, base);\      CmdQueLen--;#define SiS310SetupSRCPitch(pitch) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT16(ivideo.mmio_vbase, SRC_PITCH, pitch);\      CmdQueLen--;#define SiS310SetupSRCXY(x,y) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, SRC_Y, (x)<<16 | (y) );\      CmdQueLen--;#define SiS310SetupDSTBase(base) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, DST_ADDR, base);\      CmdQueLen--;#define SiS310SetupDSTXY(x,y) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, DST_Y, (x)<<16 | (y) );\      CmdQueLen--;#define SiS310SetupDSTRect(x,y) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, DST_PITCH, (y)<<16 | (x) );\      CmdQueLen--;#define SiS310SetupDSTColorDepth(bpp) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT16(ivideo.mmio_vbase, AGP_BASE, bpp);\      CmdQueLen--;#define SiS310SetupRect(w,h) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, RECT_WIDTH, (h)<<16 | (w) );\      CmdQueLen--;#define SiS310SetupPATFG(color) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, PAT_FGCOLOR, color);\      CmdQueLen--;#define SiS310SetupPATBG(color) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, PAT_BGCOLOR, color);\      CmdQueLen--;#define SiS310SetupSRCFG(color) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, SRC_FGCOLOR, color);\      CmdQueLen--;#define SiS310SetupSRCBG(color) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, SRC_BGCOLOR, color);\      CmdQueLen--;#define SiS310SetupSRCTrans(color) \      if (CmdQueLen <= 1)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, TRANS_SRC_KEY_HIGH, color);\      MMIO_OUT32(ivideo.mmio_vbase, TRANS_SRC_KEY_LOW, color);\      CmdQueLen -= 2;#define SiS310SetupDSTTrans(color) \      if (CmdQueLen <= 1)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, TRANS_DST_KEY_HIGH, color); \      MMIO_OUT32(ivideo.mmio_vbase, TRANS_DST_KEY_LOW, color); \      CmdQueLen -= 2;#define SiS310SetupMONOPAT(p0,p1) \      if (CmdQueLen <= 1)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, MONO_MASK, p0);\      MMIO_OUT32(ivideo.mmio_vbase, MONO_MASK+4, p1);\      CmdQueLen -= 2;#define SiS310SetupClipLT(left,top) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, LEFT_CLIP, ((left) & 0xFFFF) | (top)<<16 );\      CmdQueLen--;#define SiS310SetupClipRB(right,bottom) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, RIGHT_CLIP, ((right) & 0xFFFF) | (bottom)<<16 );\      CmdQueLen--;#define SiS310SetupROP(rop) \      ivideo.CommandReg = (rop) << 8;#define SiS310SetupCMDFlag(flags) \      ivideo.CommandReg |= (flags);#define SiS310DoCMD \      if (CmdQueLen <= 1)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, COMMAND_READY, ivideo.CommandReg); \      MMIO_OUT32(ivideo.mmio_vbase, FIRE_TRIGGER, 0); \      CmdQueLen -= 2;#define SiS310SetupX0Y0(x,y) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, LINE_X0, (y)<<16 | (x) );\      CmdQueLen--;#define SiS310SetupX1Y1(x,y) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, LINE_X1, (y)<<16 | (x) );\      CmdQueLen--;#define SiS310SetupLineCount(c) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT16(ivideo.mmio_vbase, LINE_COUNT, c);\      CmdQueLen--;#define SiS310SetupStylePeriod(p) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT16(ivideo.mmio_vbase, LINE_STYLE_PERIOD, p);\      CmdQueLen--;#define SiS310SetupStyleLow(ls) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, LINE_STYLE_0, ls);\      CmdQueLen--;#define SiS310SetupStyleHigh(ls) \      if (CmdQueLen <= 0)  SiS310Idle;\      MMIO_OUT32(ivideo.mmio_vbase, LINE_STYLE_1, ls);\      CmdQueLen--;int  sisfb_initaccel(void);#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,5,33)void fbcon_sis_bmove(struct display *p, int srcy, int srcx, int dsty,                     int dstx, int height, int width);void fbcon_sis_revc(struct display *p, int srcy, int srcx);void fbcon_sis_clear8(struct vc_data *conp, struct display *p, int srcy,                      int srcx, int height, int width);void fbcon_sis_clear16(struct vc_data *conp, struct display *p, int srcy,                       int srcx, int height, int width);void fbcon_sis_clear32(struct vc_data *conp, struct display *p, int srcy,                       int srcx, int height, int width);#endif#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,34)extern int sisfb_accel;void fbcon_sis_fillrect(struct fb_info *info, struct fb_fillrect *rect);void fbcon_sis_copyarea(struct fb_info *info, struct fb_copyarea *area);extern void cfb_fillrect(struct fb_info *info, struct fb_fillrect *rect);extern void cfb_copyarea(struct fb_info *info, struct fb_copyarea *area);#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -