pm3fb.h

来自「linux 内核源代码」· C头文件 代码 · 共 1,062 行 · 第 1/4 页

H
1,062
字号
/* *  linux/drivers/video/pm3fb.h -- 3DLabs Permedia3 frame buffer device * *  Copyright (C) 2001 Romain Dolbeau <dolbeau@irisa.fr> *  Copyright (C) 2001 Sven Luther, <luther@dpt-info.u-strasbg.fr> * *  This file is subject to the terms and conditions of the GNU General Public *  License. See the file COPYING in the main directory of this archive for *  more details. */#ifndef PM3FB_H#define PM3FB_H/***********************************************  GLINT Permedia3 Control Status registers   ************************************************//* Control Status Registers */#define PM3ResetStatus						0x0000#define PM3IntEnable						0x0008#define PM3IntFlags						0x0010#define PM3InFIFOSpace						0x0018#define PM3OutFIFOWords						0x0020#define PM3DMAAddress						0x0028#define PM3DMACount						0x0030#define PM3ErrorFlags						0x0038#define PM3VClkCtl						0x0040#define PM3TestRegister						0x0048#define PM3Aperture0						0x0050#define PM3Aperture1						0x0058#define PM3DMAControl						0x0060#define PM3FIFODis						0x0068#define PM3ChipConfig						0x0070#define PM3AGPControl						0x0078#define PM3GPOutDMAAddress					0x0080#define PM3PCIFeedbackCount					0x0088#define PM3PCIAbortStatus					0x0090#define PM3PCIAbortAddress					0x0098#define PM3PCIPLLStatus						0x00f0#define PM3HostTextureAddress					0x0100#define PM3TextureDownloadControl				0x0108#define PM3TextureOperation					0x0110#define PM3LogicalTexturePage					0x0118#define PM3TexDMAAddress					0x0120#define PM3TexFIFOSpace						0x0128/***********************************************  GLINT Permedia3 Region 0 Bypass Controls   ************************************************/#define PM3ByAperture1Mode					0x0300	#define PM3ByApertureMode_BYTESWAP_ABCD			(0 << 0)	#define PM3ByApertureMode_BYTESWAP_BADC			(1 << 0)	#define PM3ByApertureMode_BYTESWAP_CDAB			(2 << 0)	#define PM3ByApertureMode_BYTESWAP_DCBA			(3 << 0)	#define PM3ByApertureMode_PATCH_ENABLE			(1 << 2)	#define PM3ByApertureMode_FORMAT_RAW			(0 << 3)	#define PM3ByApertureMode_FORMAT_YUYV			(1 << 3)	#define PM3ByApertureMode_FORMAT_UYVY			(2 << 3)	#define PM3ByApertureMode_PIXELSIZE_8BIT		(0 << 5)	#define PM3ByApertureMode_PIXELSIZE_16BIT		(1 << 5)	#define PM3ByApertureMode_PIXELSIZE_32BIT		(2 << 5)		#define PM3ByApertureMode_PIXELSIZE_MASK	(3 << 5)	#define PM3ByApertureMode_EFFECTIVE_STRIDE_1024		(0 << 7)	#define PM3ByApertureMode_EFFECTIVE_STRIDE_2048		(1 << 7)	#define PM3ByApertureMode_EFFECTIVE_STRIDE_4096		(2 << 7)	#define PM3ByApertureMode_EFFECTIVE_STRIDE_8192		(3 << 7)	#define PM3ByApertureMode_PATCH_OFFSET_X(off)	(((off) & 0x7f) << 9)	#define PM3ByApertureMode_PATCH_OFFSET_Y(off)	(((off) & 0x7f) << 16)	#define PM3ByApertureMode_FRAMEBUFFER			(0 << 21)	#define PM3ByApertureMode_LOCALBUFFER			(1 << 21)	#define PM3ByApertureMode_DOUBLE_WRITE_OFF		(0 << 22)	#define PM3ByApertureMode_DOUBLE_WRITE_1MB		(1 << 22)	#define PM3ByApertureMode_DOUBLE_WRITE_2MB		(2 << 22)	#define PM3ByApertureMode_DOUBLE_WRITE_4MB		(3 << 22)	#define PM3ByApertureMode_DOUBLE_WRITE_8MB		(4 << 22)	#define PM3ByApertureMode_DOUBLE_WRITE_16MB		(5 << 22)	#define PM3ByApertureMode_DOUBLE_WRITE_32MB		(6 << 22)#define PM3ByAperture2Mode					0x0328/***********************************************  GLINT Permedia3 Memory Control (0x1000)    ************************************************/#define PM3MemCounter						0x1000#define PM3MemBypassWriteMask					0x1008#define PM3MemScratch						0x1010#define PM3LocalMemCaps						0x1018	#define PM3LocalMemCaps_NoWriteMask			(1 << 28)#define PM3LocalMemTimings					0x1020#define PM3LocalMemControl					0x1028#define PM3LocalMemRefresh					0x1030#define PM3LocalMemPowerDown					0x1038#define PM3RemoteMemControl					0x1100/***********************************************  GLINT Permedia3 Video Control (0x3000)     ************************************************/#define PM3ScreenBase						0x3000#define PM3ScreenStride						0x3008#define PM3HTotal						0x3010#define PM3HgEnd						0x3018#define PM3HbEnd						0x3020#define PM3HsStart						0x3028#define PM3HsEnd						0x3030#define PM3VTotal						0x3038#define PM3VbEnd						0x3040#define PM3VsStart						0x3048#define PM3VsEnd						0x3050#define PM3VideoControl						0x3058	#define PM3VideoControl_ENABLE				(1 << 0)	#define PM3VideoControl_BLANK_ACTIVE_HIGH		(0 << 1)	#define PM3VideoControl_BLANK_ACTIVE_LOW		(1 << 1)	#define PM3VideoControl_LINE_DOUBLE_OFF			(0 << 2)	#define PM3VideoControl_LINE_DOUBLE_ON			(1 << 2)	#define PM3VideoControl_HSYNC_FORCE_HIGH		(0 << 3)	#define PM3VideoControl_HSYNC_ACTIVE_HIGH		(1 << 3)	#define PM3VideoControl_HSYNC_FORCE_LOW			(2 << 3)	#define PM3VideoControl_HSYNC_ACTIVE_LOW		(3 << 3)	#define PM3VideoControl_HSYNC_MASK			(3 << 3)	#define PM3VideoControl_VSYNC_FORCE_HIGH		(0 << 5)	#define PM3VideoControl_VSYNC_ACTIVE_HIGH		(1 << 5)	#define PM3VideoControl_VSYNC_FORCE_LOW			(2 << 5)	#define PM3VideoControl_VSYNC_ACTIVE_LOW		(3 << 5)	#define PM3VideoControl_VSYNC_MASK			(3 << 5)	#define PM3VideoControl_BYTE_DOUBLE_OFF			(0 << 7)	#define PM3VideoControl_BYTE_DOUBLE_ON			(1 << 7)	#define PM3VideoControl_BUFFER_SWAP_SYNCON_FRAMEBLANK	(0 << 9)	#define PM3VideoControl_BUFFER_SWAP_FREE_RUNNING	(1 << 9)	#define PM3VideoControl_BUFFER_SWAP_LIMITETO_FRAMERATE	(2 << 9)	#define PM3VideoControl_STEREO_ENABLE			(1 << 11)	#define PM3VideoControl_RIGHT_EYE_ACTIVE_HIGH		(0 << 12)	#define PM3VideoControl_RIGHT_EYE_ACTIVE_LOW		(1 << 12)	#define PM3VideoControl_VIDEO_EXT_LOW			(0 << 14)	#define PM3VideoControl_VIDEO_EXT_HIGH			(1 << 14)	#define PM3VideoControl_SYNC_MODE_INDEPENDENT		(0 << 16)	#define PM3VideoControl_SYNC_MODE_SYNCTO_VSA		(1 << 16)	#define PM3VideoControl_SYNC_MODE_SYNCTO_VSB		(2 << 16)	#define PM3VideoControl_PATCH_ENABLE			(1 << 18)	#define PM3VideoControl_PIXELSIZE_8BIT			(0 << 19)	#define PM3VideoControl_PIXELSIZE_16BIT			(1 << 19)	#define PM3VideoControl_PIXELSIZE_32BIT			(2 << 19)	#define PM3VideoControl_DISPLAY_ENABLE			(1 << 21)	#define PM3VideoControl_PATCH_OFFSET_X(off)	(((off) & 0x3f) << 22)	#define PM3VideoControl_PATCH_OFFSET_Y(off)	(((off) & 0x3f) << 28)#define PM3InterruptLine					0x3060#define PM3DisplayData						0x3068#define PM3VerticalLineCount					0x3070#define PM3FifoControl						0x3078#define PM3ScreenBaseRight					0x3080#define PM3MiscControl						0x3088#define PM3VideoOverlayUpdate					0x3100	#define PM3VideoOverlayUpdate_ENABLE			(1 << 0)#define PM3VideoOverlayMode					0x3108	#define PM3VideoOverlayMode_ENABLE			(1 << 0)	#define PM3VideoOverlayMode_BUFFERSYNC_MANUAL		(0 << 1)	#define PM3VideoOverlayMode_BUFFERSYNC_VIDEOSTREAMA	(1 << 1)	#define PM3VideoOverlayMode_BUFFERSYNC_VIDEOSTREAMB	(2 << 1)	#define PM3VideoOverlayMode_FIELDPOLARITY_NORMAL	(0 << 4)	#define PM3VideoOverlayMode_FIELDPOLARITY_INVERT	(1 << 4)	#define PM3VideoOverlayMode_PIXELSIZE_8BIT		(0 << 5)	#define PM3VideoOverlayMode_PIXELSIZE_16BIT		(1 << 5)	#define PM3VideoOverlayMode_PIXELSIZE_32BIT		(2 << 5)	#define PM3VideoOverlayMode_COLORFORMAT_RGB8888		\					((0 << 7)|(1 << 12)|(2 << 5))	#define PM3VideoOverlayMode_COLORFORMAT_RGB4444		\					((1 << 7)|(1 << 12)|(1 << 5))	#define PM3VideoOverlayMode_COLORFORMAT_RGB5551		\					((2 << 7)|(1 << 12)|(1 << 5))	#define PM3VideoOverlayMode_COLORFORMAT_RGB565		\					((3 << 7)|(1 << 12)|(1 << 5))	#define PM3VideoOverlayMode_COLORFORMAT_RGB332		\					((4 << 7)|(1 << 12)|(0 << 5))	#define PM3VideoOverlayMode_COLORFORMAT_BGR8888		\					((0 << 7)|(2 << 5))	#define PM3VideoOverlayMode_COLORFORMAT_BGR4444		\					((1 << 7)|(1 << 5))	#define PM3VideoOverlayMode_COLORFORMAT_BGR5551		\					((2 << 7)|(1 << 5))	#define PM3VideoOverlayMode_COLORFORMAT_BGR565		\					((3 << 7)|(1 << 5))	#define PM3VideoOverlayMode_COLORFORMAT_BGR332		\					((4 << 7)|(0 << 5))	#define PM3VideoOverlayMode_COLORFORMAT_CI8		\					((5 << 7)|(1 << 12)|(0 << 5))	#define PM3VideoOverlayMode_COLORFORMAT_VUY444		\					((2 << 10)|(1 << 12)|(2 << 5))	#define PM3VideoOverlayMode_COLORFORMAT_YUV444		\					((2 << 10)|(2 << 5))	#define PM3VideoOverlayMode_COLORFORMAT_VUY422		\					((1 << 10)|(1 << 12)|(1 << 5))	#define PM3VideoOverlayMode_COLORFORMAT_YUV422		\					((1 << 10)|(1 << 5))	#define PM3VideoOverlayMode_COLORORDER_BGR		(0 << 12)	#define PM3VideoOverlayMode_COLORORDER_RGB		(1 << 12)	#define PM3VideoOverlayMode_LINEARCOLOREXT_OFF		(0 << 13)	#define PM3VideoOverlayMode_LINEARCOLOREXT_ON		(1 << 13)	#define PM3VideoOverlayMode_FILTER_MASK			(3 << 14)	#define PM3VideoOverlayMode_FILTER_OFF			(0 << 14)	#define PM3VideoOverlayMode_FILTER_FULL			(1 << 14)	#define PM3VideoOverlayMode_FILTER_PARTIAL		(2 << 14)	#define PM3VideoOverlayMode_DEINTERLACE_OFF		(0 << 16)	#define PM3VideoOverlayMode_DEINTERLACE_BOB		(1 << 16)	#define PM3VideoOverlayMode_PATCHMODE_OFF		(0 << 18)	#define PM3VideoOverlayMode_PATCHMODE_ON		(1 << 18)	#define PM3VideoOverlayMode_FLIP_VIDEO			(0 << 20)	#define PM3VideoOverlayMode_FLIP_VIDEOSTREAMA		(1 << 20)	#define PM3VideoOverlayMode_FLIP_VIDEOSTREAMB		(2 << 20)	#define PM3VideoOverlayMode_MIRROR_MASK			(3 << 23)	#define PM3VideoOverlayMode_MIRRORX_OFF			(0 << 23)	#define PM3VideoOverlayMode_MIRRORX_ON			(1 << 23)	#define PM3VideoOverlayMode_MIRRORY_OFF			(0 << 24)	#define PM3VideoOverlayMode_MIRRORY_ON			(1 << 24)#define PM3VideoOverlayFifoControl				0x3110#define PM3VideoOverlayIndex					0x3118#define PM3VideoOverlayBase0					0x3120#define PM3VideoOverlayBase1					0x3128#define PM3VideoOverlayBase2					0x3130#define PM3VideoOverlayStride					0x3138	#define PM3VideoOverlayStride_STRIDE(s)		(((s) & 0xfff) << 0)#define PM3VideoOverlayWidth					0x3140	#define PM3VideoOverlayWidth_WIDTH(w)		(((w) & 0xfff) << 0)#define PM3VideoOverlayHeight					0x3148	#define PM3VideoOverlayHeight_HEIGHT(h)		(((h) & 0xfff) << 0)#define PM3VideoOverlayOrigin					0x3150	#define PM3VideoOverlayOrigin_XORIGIN(x)	(((x) & 0xfff) << 0)	#define PM3VideoOverlayOrigin_YORIGIN(y)	(((y) & 0xfff) << 16)#define PM3VideoOverlayShrinkXDelta				0x3158	#define PM3VideoOverlayShrinkXDelta_NONE		(1 << 16)	#define PM3VideoOverlayShrinkXDelta_DELTA(s,d)	\		((((s) << 16)/(d)) & 0x0ffffff0)#define PM3VideoOverlayZoomXDelta				0x3160	#define PM3VideoOverlayZoomXDelta_NONE			(1 << 16)	#define PM3VideoOverlayZoomXDelta_DELTA(s,d)	\		((((s) << 16)/(d)) & 0x0001fff0)#define PM3VideoOverlayYDelta					0x3168	#define PM3VideoOverlayYDelta_NONE			(1 << 16)	#define PM3VideoOverlayYDelta_DELTA(s,d)	\		((((s) << 16)/(d)) & 0x0ffffff0)#define PM3VideoOverlayFieldOffset				0x3170#define PM3VideoOverlayStatus					0x3178/***********************************************  GLINT Permedia3 RAMDAC Registers (0x4000)  ************************************************//* Direct Registers */#define PM3RD_PaletteWriteAddress				0x4000#define PM3RD_PaletteData					0x4008#define PM3RD_PixelMask						0x4010#define PM3RD_PaletteReadAddress				0x4018#define PM3RD_IndexLow						0x4020#define PM3RD_IndexHigh						0x4028#define PM3RD_IndexedData					0x4030#define PM3RD_IndexControl					0x4038	#define PM3RD_IndexControl_AUTOINCREMENT_ENABLE		(1 << 0)/* Indirect Registers */#define PM3RD_MiscControl					0x000	#define PM3RD_MiscControl_HIGHCOLOR_RES_ENABLE		(1 << 0)	#define PM3RD_MiscControl_PIXELDOUBLE_ENABLE		(1 << 1)	#define PM3RD_MiscControl_LASTREAD_ADDR_ENABLE		(1 << 2)

⌨️ 快捷键说明

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