亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? sis_accel.h

?? linux 內(nèi)核源代碼
?? H
字號(hào):
/* * SiS 300/540/630[S]/730[S], * SiS 315[E|PRO]/550/[M]650/651/[M]661[F|M]X/740/[M]741[GX]/330/[M]760[GX], * XGI V3XT/V5/V8, Z7 * frame buffer driver for Linux kernels >= 2.4.14 and >=2.6.3 * * 2D acceleration part * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the named License, * or any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA * * Based on the X driver's sis300_accel.h which is *     Copyright (C) 2001-2004 by Thomas Winischhofer, Vienna, Austria * and sis310_accel.h which is *     Copyright (C) 2001-2004 by Thomas Winischhofer, Vienna, Austria * * Author:   Thomas Winischhofer <thomas@winischhofer.net>: *			(see http://www.winischhofer.net/ *			for more information and updates) */#ifndef _SISFB_ACCEL_H#define _SISFB_ACCEL_H/* Guard accelerator accesses with spin_lock_irqsave? Works well without. */#undef SISFB_USE_SPINLOCKS#ifdef SISFB_USE_SPINLOCKS#include <linux/spinlock.h>#define CRITBEGIN  spin_lock_irqsave(&ivideo->lockaccel, critflags);#define CRITEND	   spin_unlock_irqrestore(&ivideo->lockaccel, critflags);#define CRITFLAGS  unsigned long critflags;#else#define CRITBEGIN#define CRITEND#define CRITFLAGS#endif/* Definitions for the SIS engine communication. */#define PATREGSIZE      384  /* Pattern register size. 384 bytes @ 0x8300 */#define BR(x)   (0x8200 | (x) << 2)#define PBR(x)  (0x8300 | (x) << 2)/* SiS300 engine commands */#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 *//* Additional engine commands for 315 */#define ALPHA_BLEND		0x00000007  /* Alpha blend ? */#define A3D_FUNCTION		0x00000008  /* 3D command ? */#define	CLEAR_Z_BUFFER		0x00000009  /* ? */#define GRADIENT_FILL		0x0000000A  /* Gradient fill *//* source select */#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 (?) *//* Pattern flags */#define PATFG                   0x00000000  /* foreground color */#define PATPATREG               0x00000040  /* pattern in pattern buffer (0x8300) */#define PATMONO                 0x00000080  /* mono pattern *//* blitting direction (300 series only) */#define X_INC                   0x00010000#define X_DEC                   0x00000000#define Y_INC                   0x00020000#define Y_DEC                   0x00000000/* Clipping flags */#define NOCLIP                  0x00000000#define NOMERGECLIP             0x04000000#define CLIPENABLE              0x00040000#define CLIPWITHOUTMERGE        0x04040000/* Transparency */#define OPAQUE                  0x00000000#define TRANSPARENT             0x00100000/* ? */#define DSTAGP                  0x02000000#define DSTVIDEO                0x02000000/* Subfunctions for Color/Enhanced Color Expansion (315 only) */#define COLOR_TO_MONO		0x00100000#define AA_TEXT			0x00200000/* Some general registers for 315 series */#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 *//* Transparent bitblit registers */#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/* Store queue length in par */#define CmdQueLen ivideo->cmdqueuelength/* ------------- SiS 300 series -------------- *//* BR(16) (0x8240):   bit 31 2D engine: 1 is idle,   bit 30 3D engine: 1 is idle,   bit 29 Command queue: 1 is empty   bits 28:24: Current CPU driven BitBlt buffer stage bit[4:0]   bits 15:0:  Current command queue length*/#define SiS300Idle \  { \  	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); \  }/* (do three times, because 2D engine seems quite unsure about whether or not it's idle) */#define SiS300SetupSRCBase(base) \	if(CmdQueLen <= 0) SiS300Idle;\	MMIO_OUT32(ivideo->mmio_vbase, BR(0), base);\	CmdQueLen--;#define SiS300SetupSRCPitch(pitch) \	if(CmdQueLen <= 0) SiS300Idle;\	MMIO_OUT16(ivideo->mmio_vbase, BR(1), pitch);\	CmdQueLen--;#define SiS300SetupSRCXY(x,y) \	if(CmdQueLen <= 0) SiS300Idle;\	MMIO_OUT32(ivideo->mmio_vbase, BR(2), (x)<<16 | (y) );\	CmdQueLen--;#define SiS300SetupDSTBase(base) \	if(CmdQueLen <= 0) SiS300Idle;\	MMIO_OUT32(ivideo->mmio_vbase, BR(4), base);\	CmdQueLen--;#define SiS300SetupDSTXY(x,y) \	if(CmdQueLen <= 0) SiS300Idle;\	MMIO_OUT32(ivideo->mmio_vbase, BR(3), (x)<<16 | (y) );\	CmdQueLen--;#define SiS300SetupDSTRect(x,y) \	if(CmdQueLen <= 0) SiS300Idle;\	MMIO_OUT32(ivideo->mmio_vbase, BR(5), (y)<<16 | (x) );\	CmdQueLen--;#define SiS300SetupDSTColorDepth(bpp) \	if(CmdQueLen <= 0) SiS300Idle;\	MMIO_OUT16(ivideo->mmio_vbase, BR(1)+2, bpp);\	CmdQueLen--;#define SiS300SetupRect(w,h) \	if(CmdQueLen <= 0) SiS300Idle;\	MMIO_OUT32(ivideo->mmio_vbase, BR(6), (h)<<16 | (w) );\	CmdQueLen--;#define SiS300SetupPATFG(color) \	if(CmdQueLen <= 0) SiS300Idle;\	MMIO_OUT32(ivideo->mmio_vbase, BR(7), color);\	CmdQueLen--;#define SiS300SetupPATBG(color) \	if(CmdQueLen <= 0) SiS300Idle;\	MMIO_OUT32(ivideo->mmio_vbase, BR(8), color);\	CmdQueLen--;#define SiS300SetupSRCFG(color) \	if(CmdQueLen <= 0) SiS300Idle;\	MMIO_OUT32(ivideo->mmio_vbase, BR(9), color);\	CmdQueLen--;#define SiS300SetupSRCBG(color) \	if(CmdQueLen <= 0) SiS300Idle;\	MMIO_OUT32(ivideo->mmio_vbase, BR(10), color);\	CmdQueLen--;/* 0x8224 src colorkey high *//* 0x8228 src colorkey low *//* 0x821c dest colorkey high *//* 0x8220 dest colorkey low */#define SiS300SetupSRCTrans(color) \	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;/* -------------- SiS 315/330 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*/#define SiS310Idle \  { \  	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; \  }#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;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);#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
8x福利精品第一导航| 色婷婷综合久久久| 亚洲尤物在线视频观看| 精品国产免费久久| 在线亚洲精品福利网址导航| 国产在线精品一区二区不卡了| 亚洲人成在线观看一区二区| 久久一区二区三区国产精品| 欧美日韩精品欧美日韩精品| 成人一区二区三区视频| 九色|91porny| 亚洲午夜激情av| 国产精品伦一区二区三级视频| 69堂亚洲精品首页| 91免费在线播放| 国产一区二区三区精品欧美日韩一区二区三区| 樱桃国产成人精品视频| 亚洲国产精品v| 欧美成人欧美edvon| 欧美日韩在线播| 色综合天天综合色综合av| 国产一区二区在线视频| 日韩av中文字幕一区二区三区| 亚洲伦在线观看| 国产精品动漫网站| 欧美国产欧美综合| 国产网站一区二区| 337p日本欧洲亚洲大胆精品| 中文字幕一区av| 精品成人a区在线观看| 欧美日本一道本| 在线视频你懂得一区| 成人白浆超碰人人人人| 国产成人在线电影| 国产成人av一区二区三区在线观看| 免费看精品久久片| 久久99精品久久久久婷婷| 日本午夜精品一区二区三区电影| 亚洲h在线观看| 亚洲成人激情av| 亚洲国产日产av| 亚洲精品大片www| 亚洲色图欧洲色图婷婷| 亚洲天堂福利av| 国产精品传媒入口麻豆| 中文字幕在线免费不卡| 中文字幕一区二区视频| 国产精品福利一区| 亚洲男人的天堂在线aⅴ视频| 亚洲人精品一区| 亚洲午夜视频在线观看| 午夜视频一区二区| 婷婷丁香久久五月婷婷| 日本亚洲电影天堂| 国产一区999| 成人97人人超碰人人99| 一本色道久久综合狠狠躁的推荐 | 亚洲午夜激情网站| 图片区小说区国产精品视频| 日韩高清在线电影| 黄网站免费久久| 成人免费视频免费观看| 91欧美一区二区| 欧美电影一区二区三区| 精品国一区二区三区| 国产丝袜美腿一区二区三区| 中文字幕一区在线| 亚洲一区二区av电影| 亚洲一区免费视频| 久久国产精品99精品国产 | 亚洲视频一二三| 一区二区三区欧美在线观看| 午夜a成v人精品| 国产剧情一区二区| 91蝌蚪porny成人天涯| 欧美理论在线播放| 久久一区二区视频| 亚洲综合免费观看高清完整版在线 | 老司机精品视频线观看86| 国产精品一色哟哟哟| 91一区二区三区在线观看| 欧美日韩国产经典色站一区二区三区| 日韩欧美国产精品一区| 国产精品三级在线观看| 亚洲成人一区在线| 韩日av一区二区| 在线观看一区不卡| 2020国产精品久久精品美国| 亚洲精品免费在线| 久久国产日韩欧美精品| 91色综合久久久久婷婷| 欧美哺乳videos| 亚洲欧美日本韩国| 国内精品伊人久久久久av一坑 | 亚洲人快播电影网| 国精产品一区一区三区mba桃花| 99国产精品久久久| 欧美xxxx在线观看| 亚洲女人的天堂| 国产精品综合一区二区| 精品视频在线免费| 中文字幕一区二区三区色视频| 亚洲国产精品麻豆| 本田岬高潮一区二区三区| 欧美一区二区三区啪啪| 亚洲激情校园春色| 国产jizzjizz一区二区| 日韩免费观看高清完整版在线观看| 自拍偷拍亚洲欧美日韩| 国产一区二区调教| 日韩一区二区高清| 亚洲电影第三页| 99久久亚洲一区二区三区青草| 日韩欧美国产高清| 亚洲二区视频在线| 色偷偷久久人人79超碰人人澡| 久久久久久9999| 奇米精品一区二区三区在线观看| 色婷婷精品久久二区二区蜜臂av| 国产午夜久久久久| 久久99精品国产麻豆婷婷 | 日韩精品一区在线观看| 午夜影院久久久| 欧美日韩一区二区三区在线| 亚洲欧美怡红院| 高清不卡一区二区在线| 久久这里都是精品| 另类小说一区二区三区| 日韩一级在线观看| 老司机午夜精品| 精品日韩欧美在线| 精品无人区卡一卡二卡三乱码免费卡| 91麻豆精品国产| 日韩精品欧美精品| 91精品在线免费| 日本系列欧美系列| 欧美变态口味重另类| 韩国精品在线观看| 国产日韩视频一区二区三区| 精品一区二区三区欧美| 久久久久国产成人精品亚洲午夜 | 成人激情免费电影网址| 国产精品盗摄一区二区三区| 97久久精品人人爽人人爽蜜臀| 国产精品久线在线观看| 91麻豆视频网站| 一区二区日韩电影| 精品污污网站免费看| 日韩av一级片| 欧美精品一区二区蜜臀亚洲| 国产综合色产在线精品| 国产欧美日韩精品在线| 成人av午夜电影| 亚洲精品成人在线| 欧美日韩第一区日日骚| 婷婷中文字幕综合| 久久综合九色综合久久久精品综合| 国产一区在线看| 国产精品免费看片| 欧美吞精做爰啪啪高潮| 日本一道高清亚洲日美韩| 欧美大度的电影原声| 成人免费观看av| 一区二区三区日韩欧美精品| 在线播放欧美女士性生活| 九九九久久久精品| 国产精品欧美久久久久无广告 | 精品久久久网站| www.爱久久.com| 一区二区三区精密机械公司| 欧美高清www午色夜在线视频| 精品一区二区在线免费观看| 国产欧美日韩三区| 欧美亚洲精品一区| 狠狠狠色丁香婷婷综合久久五月| 中文一区二区在线观看| 国产精品超碰97尤物18| 欧美日韩国产经典色站一区二区三区| 韩国女主播一区二区三区| 亚洲欧洲日产国产综合网| 欧美蜜桃一区二区三区| 国产成人在线免费观看| 香蕉久久一区二区不卡无毒影院| 2022国产精品视频| 在线免费观看日本欧美| 国产麻豆日韩欧美久久| 亚洲一区二区三区在线看| 欧美精品一区二| 欧美三区免费完整视频在线观看| 国产乱码精品一区二区三区五月婷| 亚洲伦理在线免费看| 26uuu国产电影一区二区| 91久久久免费一区二区| 国内精品免费在线观看| 亚洲影视资源网| 国产精品无人区| 日韩精品在线一区| 欧美日韩亚洲另类| 不卡影院免费观看| 韩国欧美一区二区|