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

📄 i810_reg.h

📁 是由intel提供的针对intel显卡915以上系列的linux驱动
💻 H
📖 第 1 页 / 共 3 页
字号:
#define INTR_RESERVED            (0x6000 | 		\				  DPY_1_FLIP_PENDING |	\				  OVL_1_FLIP_PENDING |	\				  DPY_1_VBLANK |	\				  DPY_1_EVENT |		\				  HOST_PORT_EVENT |	\				  CAPTURE_EVENT )/* FIFO Watermark and Burst Length Control Register  * * - different offset and contents on i810 (p299) (fewer bits per field) * - some overlay fields added * - what does it all mean? */#define FWATER_BLC       0x20d8#define FWATER_BLC2	 0x20dc#define MM_BURST_LENGTH     0x00700000#define MM_FIFO_WATERMARK   0x0001F000#define LM_BURST_LENGTH     0x00000700#define LM_FIFO_WATERMARK   0x0000001F/* Fence/Tiling ranges [0..7] */#define FENCE            0x2000#define FENCE_NR         8#define I915G_FENCE_START_MASK	0x0ff00000#define I830_FENCE_START_MASK	0x07f80000#define FENCE_START_MASK    0x03F80000#define FENCE_X_MAJOR       0x00000000#define FENCE_Y_MAJOR       0x00001000#define FENCE_SIZE_MASK     0x00000700#define FENCE_SIZE_512K     0x00000000#define FENCE_SIZE_1M       0x00000100#define FENCE_SIZE_2M       0x00000200#define FENCE_SIZE_4M       0x00000300#define FENCE_SIZE_8M       0x00000400#define FENCE_SIZE_16M      0x00000500#define FENCE_SIZE_32M      0x00000600#define FENCE_SIZE_64M	    0x00000700#define I915G_FENCE_SIZE_1M       0x00000000#define I915G_FENCE_SIZE_2M       0x00000100#define I915G_FENCE_SIZE_4M       0x00000200#define I915G_FENCE_SIZE_8M       0x00000300#define I915G_FENCE_SIZE_16M      0x00000400#define I915G_FENCE_SIZE_32M      0x00000500#define I915G_FENCE_SIZE_64M	0x00000600#define I915G_FENCE_SIZE_128M	0x00000700#define FENCE_PITCH_1       0x00000000#define FENCE_PITCH_2       0x00000010#define FENCE_PITCH_4       0x00000020#define FENCE_PITCH_8       0x00000030#define FENCE_PITCH_16      0x00000040#define FENCE_PITCH_32      0x00000050#define FENCE_PITCH_64	    0x00000060#define FENCE_VALID         0x00000001/* Registers to control page table, p274 */#define PGETBL_CTL       0x2020#define PGETBL_ADDR_MASK    0xFFFFF000#define PGETBL_ENABLE_MASK  0x00000001#define PGETBL_ENABLED      0x00000001/* Register containing pge table error results, p276 */#define PGE_ERR          0x2024#define PGE_ERR_ADDR_MASK   0xFFFFF000#define PGE_ERR_ID_MASK     0x00000038#define PGE_ERR_CAPTURE     0x00000000#define PGE_ERR_OVERLAY     0x00000008#define PGE_ERR_DISPLAY     0x00000010#define PGE_ERR_HOST        0x00000018#define PGE_ERR_RENDER      0x00000020#define PGE_ERR_BLITTER     0x00000028#define PGE_ERR_MAPPING     0x00000030#define PGE_ERR_CMD_PARSER  0x00000038#define PGE_ERR_TYPE_MASK   0x00000007#define PGE_ERR_INV_TABLE   0x00000000#define PGE_ERR_INV_PTE     0x00000001#define PGE_ERR_MIXED_TYPES 0x00000002#define PGE_ERR_PAGE_MISS   0x00000003#define PGE_ERR_ILLEGAL_TRX 0x00000004#define PGE_ERR_LOCAL_MEM   0x00000005#define PGE_ERR_TILED       0x00000006/* Page table entries loaded via mmio region, p323 */#define PTE_BASE         0x10000#define PTE_ADDR_MASK       0x3FFFF000#define PTE_TYPE_MASK       0x00000006#define PTE_LOCAL           0x00000002#define PTE_MAIN_UNCACHED   0x00000000#define PTE_MAIN_CACHED     0x00000006#define PTE_VALID_MASK      0x00000001#define PTE_VALID           0x00000001/* Ring buffer registers, p277, overview p19 */#define LP_RING     0x2030#define HP_RING     0x2040#define RING_TAIL      0x00#define TAIL_ADDR           0x000FFFF8#define I830_TAIL_MASK	    0x001FFFF8#define RING_HEAD      0x04#define HEAD_WRAP_COUNT     0xFFE00000#define HEAD_WRAP_ONE       0x00200000#define HEAD_ADDR           0x001FFFFC#define I830_HEAD_MASK      0x001FFFFC#define RING_START     0x08#define START_ADDR          0x03FFFFF8#define I830_RING_START_MASK	0xFFFFF000#define RING_LEN       0x0C#define RING_NR_PAGES       0x001FF000 #define I830_RING_NR_PAGES	0x001FF000#define RING_REPORT_MASK    0x00000006#define RING_REPORT_64K     0x00000002#define RING_REPORT_128K    0x00000004#define RING_NO_REPORT      0x00000000#define RING_VALID_MASK     0x00000001#define RING_VALID          0x00000001#define RING_INVALID        0x00000000/* BitBlt Instructions * * There are many more masks & ranges yet to add. */#define BR00_BITBLT_CLIENT   0x40000000#define BR00_OP_COLOR_BLT    0x10000000#define BR00_OP_SRC_COPY_BLT 0x10C00000#define BR00_OP_FULL_BLT     0x11400000#define BR00_OP_MONO_SRC_BLT 0x11800000#define BR00_OP_MONO_SRC_COPY_BLT 0x11000000#define BR00_OP_MONO_PAT_BLT 0x11C00000#define BR00_OP_MONO_SRC_COPY_IMMEDIATE_BLT (0x61 << 22)#define BR00_OP_TEXT_IMMEDIATE_BLT 0xc000000#define BR00_TPCY_DISABLE    0x00000000#define BR00_TPCY_ENABLE     0x00000010#define BR00_TPCY_ROP        0x00000000#define BR00_TPCY_NO_ROP     0x00000020#define BR00_TPCY_EQ         0x00000000#define BR00_TPCY_NOT_EQ     0x00000040#define BR00_PAT_MSB_FIRST   0x00000000	/* ? */#define BR00_PAT_VERT_ALIGN  0x000000e0#define BR00_LENGTH          0x0000000F#define BR09_DEST_ADDR       0x03FFFFFF#define BR11_SOURCE_PITCH    0x00003FFF#define BR12_SOURCE_ADDR     0x03FFFFFF#define BR13_SOLID_PATTERN   0x80000000#define BR13_RIGHT_TO_LEFT   0x40000000#define BR13_LEFT_TO_RIGHT   0x00000000#define BR13_MONO_TRANSPCY   0x20000000#define BR13_MONO_PATN_TRANS 0x10000000#define BR13_USE_DYN_DEPTH   0x04000000#define BR13_DYN_8BPP        0x00000000#define BR13_DYN_16BPP       0x01000000#define BR13_DYN_24BPP       0x02000000#define BR13_ROP_MASK        0x00FF0000#define BR13_DEST_PITCH      0x0000FFFF#define BR13_PITCH_SIGN_BIT  0x00008000#define BR14_DEST_HEIGHT     0xFFFF0000#define BR14_DEST_WIDTH      0x0000FFFF#define BR15_PATTERN_ADDR    0x03FFFFFF#define BR16_SOLID_PAT_COLOR 0x00FFFFFF#define BR16_BACKGND_PAT_CLR 0x00FFFFFF#define BR17_FGND_PAT_CLR    0x00FFFFFF#define BR18_SRC_BGND_CLR    0x00FFFFFF#define BR19_SRC_FGND_CLR    0x00FFFFFF/* Instruction parser instructions */#define INST_PARSER_CLIENT   0x00000000#define INST_OP_FLUSH        0x02000000#define INST_FLUSH_MAP_CACHE 0x00000001#define GFX_OP_USER_INTERRUPT ((0<<29)|(2<<23))/* Registers in the i810 host-pci bridge pci config space which affect * the i810 graphics operations.   */#define SMRAM_MISCC         0x70#define GMS                    0x000000c0#define GMS_DISABLE            0x00000000#define GMS_ENABLE_BARE        0x00000040#define GMS_ENABLE_512K        0x00000080#define GMS_ENABLE_1M          0x000000c0#define USMM                   0x00000030 #define USMM_DISABLE           0x00000000#define USMM_TSEG_ZERO         0x00000010#define USMM_TSEG_512K         0x00000020#define USMM_TSEG_1M           0x00000030  #define GFX_MEM_WIN_SIZE       0x00010000#define GFX_MEM_WIN_32M        0x00010000#define GFX_MEM_WIN_64M        0x00000000/* Overkill?  I don't know.  Need to figure out top of mem to make the * SMRAM calculations come out.  Linux seems to have problems * detecting it all on its own, so this seems a reasonable double * check to any user supplied 'mem=...' boot param. * * ... unfortunately this reg doesn't work according to spec on the * test hardware. */#define WHTCFG_PAMR_DRP      0x50#define SYS_DRAM_ROW_0_SHIFT    16#define SYS_DRAM_ROW_1_SHIFT    20#define DRAM_MASK           0x0f#define DRAM_VALUE_0        0#define DRAM_VALUE_1        8/* No 2 value defined */#define DRAM_VALUE_3        16#define DRAM_VALUE_4        16#define DRAM_VALUE_5        24#define DRAM_VALUE_6        32#define DRAM_VALUE_7        32#define DRAM_VALUE_8        48#define DRAM_VALUE_9        64#define DRAM_VALUE_A        64#define DRAM_VALUE_B        96#define DRAM_VALUE_C        128#define DRAM_VALUE_D        128#define DRAM_VALUE_E        192#define DRAM_VALUE_F        256	/* nice one, geezer */#define LM_FREQ_MASK        0x10#define LM_FREQ_133         0x10#define LM_FREQ_100         0x00/* These are 3d state registers, but the state is invarient, so we let * the X server handle it: *//* GFXRENDERSTATE_COLOR_CHROMA_KEY, p135 */#define GFX_OP_COLOR_CHROMA_KEY  ((0x3<<29)|(0x1d<<24)|(0x2<<16)|0x1)#define CC1_UPDATE_KILL_WRITE    (1<<28)#define CC1_ENABLE_KILL_WRITE    (1<<27)#define CC1_DISABLE_KILL_WRITE    0#define CC1_UPDATE_COLOR_IDX     (1<<26)#define CC1_UPDATE_CHROMA_LOW    (1<<25)#define CC1_UPDATE_CHROMA_HI     (1<<24)#define CC1_CHROMA_LOW_MASK      ((1<<24)-1)#define CC2_COLOR_IDX_SHIFT      24#define CC2_COLOR_IDX_MASK       (0xff<<24)#define CC2_CHROMA_HI_MASK       ((1<<24)-1)#define GFX_CMD_CONTEXT_SEL      ((0<<29)|(0x5<<23))#define CS_UPDATE_LOAD           (1<<17)#define CS_UPDATE_USE            (1<<16)#define CS_UPDATE_LOAD           (1<<17)#define CS_LOAD_CTX0             0#define CS_LOAD_CTX1             (1<<8)#define CS_USE_CTX0              0#define CS_USE_CTX1              (1<<0)/* I810 LCD/TV registers */#define LCD_TV_HTOTAL	0x60000#define LCD_TV_C	0x60018#define LCD_TV_OVRACT   0x6001C#define LCD_TV_ENABLE (1 << 31)#define LCD_TV_VGAMOD (1 << 28)/* I830 CRTC registers */#define HTOTAL_A	0x60000#define HBLANK_A	0x60004#define HSYNC_A 	0x60008#define VTOTAL_A	0x6000c#define VBLANK_A	0x60010#define VSYNC_A 	0x60014#define PIPEASRC	0x6001c#define BCLRPAT_A	0x60020#define HTOTAL_B	0x61000#define HBLANK_B	0x61004#define HSYNC_B 	0x61008#define VTOTAL_B	0x6100c#define VBLANK_B	0x61010#define VSYNC_B 	0x61014#define PIPEBSRC	0x6101c#define BCLRPAT_B	0x61020#define DPLL_A		0x06014#define DPLL_B		0x06018#define FPA0		0x06040#define FPA1		0x06044#define I830_HTOTAL_MASK 	0xfff0000#define I830_HACTIVE_MASK	0x7ff#define I830_HBLANKEND_MASK	0xfff0000#define I830_HBLANKSTART_MASK    0xfff#define I830_HSYNCEND_MASK	0xfff0000#define I830_HSYNCSTART_MASK    0xfff#define I830_VTOTAL_MASK 	0xfff0000#define I830_VACTIVE_MASK	0x7ff#define I830_VBLANKEND_MASK	0xfff0000#define I830_VBLANKSTART_MASK    0xfff

⌨️ 快捷键说明

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