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

📄 nv_type.h

📁 nvidia 的LCD 驱动代码
💻 H
字号:
#ifndef __NV_TYPE_H__#define __NV_TYPE_H__#include <linux/fb.h>#include <linux/types.h>#include <linux/i2c.h>#include <linux/i2c-algo-bit.h>#include <linux/mutex.h>#include <video/vga.h>#define NV_ARCH_04  0x04#define NV_ARCH_10  0x10#define NV_ARCH_20  0x20#define NV_ARCH_30  0x30#define NV_ARCH_40  0x40#define BITMASK(t,b) (((unsigned)(1U << (((t)-(b)+1)))-1)  << (b))#define MASKEXPAND(mask) BITMASK(1?mask,0?mask)#define SetBF(mask,value) ((value) << (0?mask))#define GetBF(var,mask) (((unsigned)((var) & MASKEXPAND(mask))) >> (0?mask) )#define SetBitField(value,from,to) SetBF(to, GetBF(value,from))#define SetBit(n) (1<<(n))#define Set8Bits(value) ((value)&0xff)#define V_DBLSCAN  1typedef struct {	int bitsPerPixel;	int depth;	int displayWidth;	int weight;} NVFBLayout;#define NUM_SEQ_REGS		0x05#define NUM_CRT_REGS		0x41#define NUM_GRC_REGS		0x09#define NUM_ATC_REGS		0x15struct nvidia_par;struct nvidia_i2c_chan {	struct nvidia_par *par;	unsigned long ddc_base;	struct i2c_adapter adapter;	struct i2c_algo_bit_data algo;};typedef struct _riva_hw_state {	u8 attr[NUM_ATC_REGS];	u8 crtc[NUM_CRT_REGS];	u8 gra[NUM_GRC_REGS];	u8 seq[NUM_SEQ_REGS];	u8 misc_output;	u32 bpp;	u32 width;	u32 height;	u32 interlace;	u32 repaint0;	u32 repaint1;	u32 screen;	u32 scale;	u32 dither;	u32 extra;	u32 fifo;	u32 pixel;	u32 horiz;	u32 arbitration0;	u32 arbitration1;	u32 pll;	u32 pllB;	u32 vpll;	u32 vpll2;	u32 vpllB;	u32 vpll2B;	u32 pllsel;	u32 general;	u32 crtcOwner;	u32 head;	u32 head2;	u32 config;	u32 cursorConfig;	u32 cursor0;	u32 cursor1;	u32 cursor2;	u32 timingH;	u32 timingV;	u32 displayV;	u32 crtcSync;} RIVA_HW_STATE;struct riva_regs {	RIVA_HW_STATE ext;};struct nvidia_par {	RIVA_HW_STATE SavedReg;	RIVA_HW_STATE ModeReg;	RIVA_HW_STATE initial_state;	RIVA_HW_STATE *CurrentState;	struct vgastate vgastate;	struct mutex open_lock;	u32 pseudo_palette[16];	struct pci_dev *pci_dev;	u32 Architecture;	u32 CursorStart;	int Chipset;	unsigned long FbAddress;	u8 __iomem *FbStart;	u32 FbMapSize;	u32 FbUsableSize;	u32 ScratchBufferSize;	u32 ScratchBufferStart;	int FpScale;	u32 MinVClockFreqKHz;	u32 MaxVClockFreqKHz;	u32 CrystalFreqKHz;	u32 RamAmountKBytes;	u32 IOBase;	NVFBLayout CurrentLayout;	int cursor_reset;	int lockup;	int videoKey;	int FlatPanel;	int FPDither;	int Television;	int CRTCnumber;	int alphaCursor;	int twoHeads;	int twoStagePLL;	int fpScaler;	int fpWidth;	int fpHeight;	int PanelTweak;	int paneltweak;	int LVDS;	int pm_state;	u32 crtcSync_read;	u32 fpSyncs;	u32 dmaPut;	u32 dmaCurrent;	u32 dmaFree;	u32 dmaMax;	u32 __iomem *dmaBase;	u32 currentRop;	int WaitVSyncPossible;	int BlendingPossible;	u32 paletteEnabled;	u32 forceCRTC;	u32 open_count;	u8 DDCBase;#ifdef CONFIG_MTRR	struct {		int vram;		int vram_valid;	} mtrr;#endif	struct nvidia_i2c_chan chan[3];	volatile u32 __iomem *REGS;	volatile u32 __iomem *PCRTC0;	volatile u32 __iomem *PCRTC;	volatile u32 __iomem *PRAMDAC0;	volatile u32 __iomem *PFB;	volatile u32 __iomem *PFIFO;	volatile u32 __iomem *PGRAPH;	volatile u32 __iomem *PEXTDEV;	volatile u32 __iomem *PTIMER;	volatile u32 __iomem *PMC;	volatile u32 __iomem *PRAMIN;	volatile u32 __iomem *FIFO;	volatile u32 __iomem *CURSOR;	volatile u8 __iomem *PCIO0;	volatile u8 __iomem *PCIO;	volatile u8 __iomem *PVIO;	volatile u8 __iomem *PDIO0;	volatile u8 __iomem *PDIO;	volatile u32 __iomem *PRAMDAC;};#endif				/* __NV_TYPE_H__ */

⌨️ 快捷键说明

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