#ifndef TRIDENTFB_DEBUG#define TRIDENTFB_DEBUG 0#endif #if TRIDENTFB_DEBUG#define debug(f,a...) printk("%s:" f, __FUNCTION__ , ## a);mdelay(1000);#else#define debug(f,a...)#endif #define output(f, a...) pr_info("tridentfb: " f, ## a) #define Kb (1024)#define Mb (Kb*Kb) /* PCI IDS of supported cards temporarily here */ #define CYBER9320 0x9320#define CYBER9388 0x9388#define CYBER9382 0x9382 /* the real PCI id for this is 9660 */#define CYBER9385 0x9385 /* ditto */ #define CYBER9397 0x9397#define CYBER9397DVD 0x939A#define CYBER9520 0x9520#define CYBER9525DVD 0x9525#define TGUI9660 0x9660#define IMAGE975 0x9750#define IMAGE985 0x9850#define BLADE3D 0x9880#define CYBERBLADEE4 0x9540#define CYBERBLADEi7 0x8400#define CYBERBLADEi7D 0x8420#define CYBERBLADEi1 0x8500#define CYBERBLADEi1D 0x8520#define CYBERBLADEAi1 0x8600#define CYBERBLADEAi1D 0x8620#define CYBERBLADEXPAi1 0x8820#define CYBERBLADEXPm8 0x9910#define CYBERBLADEXPm16 0x9930 /* acceleration families */#define IMAGE 0#define BLADE 1#define XP 2 #define is_image(id) #define is_xp(id) ((id == CYBERBLADEXPAi1) ||\ (id == CYBERBLADEXPm8) ||\ (id == CYBERBLADEXPm16)) #define is_blade(id) ((id == BLADE3D) ||\ (id == CYBERBLADEE4) ||\ (id == CYBERBLADEi7) ||\ (id == CYBERBLADEi7D) ||\ (id == CYBERBLADEi1) ||\ (id == CYBERBLADEi1D) ||\ (id == CYBERBLADEAi1) ||\ (id == CYBERBLADEAi1D)) /* these defines are for 'lcd' variable */#define LCD_STRETCH 0#define LCD_CENTER 1#define LCD_BIOS 2 /* display types */#define DISPLAY_CRT 0#define DISPLAY_FP 1 #define flatpanel (displaytype == DISPLAY_FP) /* General Registers */#define SPR 0x1F /* Software Programming Register (videoram) */ /* 3C4 */#define RevisionID 0x09#define OldOrNew 0x0B #define ConfPort1 0x0C#define ConfPort2 0x0C#define NewMode2 0x0D#define NewMode1 0x0E#define Protection 0x11#define MCLKLow 0x16#define MCLKHigh 0x17#define ClockLow 0x18#define ClockHigh 0x19#define SSetup 0x20#define SKey 0x37#define SPKey 0x57 /* 0x3x4 */#define CRTHTotal 0x00#define CRTHDispEnd 0x01#define CRTHBlankStart 0x02#define CRTHBlankEnd 0x03#define CRTHSyncStart 0x04#define CRTHSyncEnd 0x05 #define CRTVTotal 0x06#define CRTVDispEnd 0x12#define CRTVBlankStart 0x15#define CRTVBlankEnd 0x16#define CRTVSyncStart 0x10#define CRTVSyncEnd 0x11 #define CRTOverflow 0x07#define CRTPRowScan 0x08#define CRTMaxScanLine 0x09#define CRTModeControl 0x17#define CRTLineCompare 0x18 /* 3x4 */#define StartAddrHigh 0x0C#define StartAddrLow 0x0D#define Offset 0x13#define Underline 0x14#define CRTCMode 0x17#define CRTCModuleTest 0x1E#define FIFOControl 0x20#define LinearAddReg 0x21#define DRAMTiming 0x23#define New32 0x23#define RAMDACTiming 0x25#define CRTHiOrd 0x27#define AddColReg 0x29#define InterfaceSel 0x2A#define HorizOverflow 0x2B#define GETest 0x2D#define Performance 0x2F#define GraphEngReg 0x36#define I2C 0x37#define PixelBusReg 0x38#define PCIReg 0x39#define DRAMControl 0x3A#define MiscContReg 0x3C#define CursorXLow 0x40#define CursorXHigh 0x41#define CursorYLow 0x42#define CursorYHigh 0x43#define CursorLocLow 0x44#define CursorLocHigh 0x45#define CursorXOffset 0x46#define CursorYOffset 0x47#define CursorFG1 0x48#define CursorFG2 0x49#define CursorFG3 0x4A#define CursorFG4 0x4B#define CursorBG1 0x4C#define CursorBG2 0x4D#define CursorBG3 0x4E#define CursorBG4 0x4F#define CursorControl 0x50#define PCIRetry 0x55#define PreEndControl 0x56#define PreEndFetch 0x57#define PCIMaster 0x60#define Enhancement0 0x62#define NewEDO 0x64#define TVinterface 0xC0#define TVMode 0xC1#define ClockControl 0xCF /* 3CE */#define MiscExtFunc 0x0F#define PowerStatus 0x23#define MiscIntContReg 0x2F#define CyberControl 0x30#define CyberEnhance 0x31#define FPConfig 0x33#define VertStretch 0x52#define HorStretch 0x53#define BiosMode 0x5c#define BiosReg 0x5d
#ifndef TRIDENTFB_DEBUG
#define TRIDENTFB_DEBUG 0
#endif
#if TRIDENTFB_DEBUG
#define debug(f,a...) printk("%s:" f, __FUNCTION__ , ## a);mdelay(1000);
#else
#define debug(f,a...)
#endif
#define output(f, a...) pr_info("tridentfb: " f, ## a)
#define Kb (1024)
#define Mb (Kb*Kb)
/* PCI IDS of supported cards temporarily here */
#define CYBER9320 0x9320
#define CYBER9388 0x9388
#define CYBER9382 0x9382 /* the real PCI id for this is 9660 */
#define CYBER9385 0x9385 /* ditto */
#define CYBER9397 0x9397
#define CYBER9397DVD 0x939A
#define CYBER9520 0x9520
#define CYBER9525DVD 0x9525
#define TGUI9660 0x9660
#define IMAGE975 0x9750
#define IMAGE985 0x9850
#define BLADE3D 0x9880
#define CYBERBLADEE4 0x9540
#define CYBERBLADEi7 0x8400
#define CYBERBLADEi7D 0x8420
#define CYBERBLADEi1 0x8500
#define CYBERBLADEi1D 0x8520
#define CYBERBLADEAi1 0x8600
#define CYBERBLADEAi1D 0x8620
#define CYBERBLADEXPAi1 0x8820
#define CYBERBLADEXPm8 0x9910
#define CYBERBLADEXPm16 0x9930
/* acceleration families */
#define IMAGE 0
#define BLADE 1
#define XP 2
#define is_image(id)
#define is_xp(id) ((id == CYBERBLADEXPAi1) ||\
(id == CYBERBLADEXPm8) ||\
(id == CYBERBLADEXPm16))
#define is_blade(id) ((id == BLADE3D) ||\
(id == CYBERBLADEE4) ||\
(id == CYBERBLADEi7) ||\
(id == CYBERBLADEi7D) ||\
(id == CYBERBLADEi1) ||\
(id == CYBERBLADEi1D) ||\
(id == CYBERBLADEAi1) ||\
(id == CYBERBLADEAi1D))
/* these defines are for 'lcd' variable */
#define LCD_STRETCH 0
#define LCD_CENTER 1
#define LCD_BIOS 2
/* display types */
#define DISPLAY_CRT 0
#define DISPLAY_FP 1
#define flatpanel (displaytype == DISPLAY_FP)
/* General Registers */
#define SPR 0x1F /* Software Programming Register (videoram) */
/* 3C4 */
#define RevisionID 0x09
#define OldOrNew 0x0B
#define ConfPort1 0x0C
#define ConfPort2 0x0C
#define NewMode2 0x0D
#define NewMode1 0x0E
#define Protection 0x11
#define MCLKLow 0x16
#define MCLKHigh 0x17
#define ClockLow 0x18
#define ClockHigh 0x19
#define SSetup 0x20
#define SKey 0x37
#define SPKey 0x57
/* 0x3x4 */
#define CRTHTotal 0x00
#define CRTHDispEnd 0x01
#define CRTHBlankStart 0x02
#define CRTHBlankEnd 0x03
#define CRTHSyncStart 0x04
#define CRTHSyncEnd 0x05
#define CRTVTotal 0x06
#define CRTVDispEnd 0x12
#define CRTVBlankStart 0x15
#define CRTVBlankEnd 0x16
#define CRTVSyncStart 0x10
#define CRTVSyncEnd 0x11
#define CRTOverflow 0x07
#define CRTPRowScan 0x08
#define CRTMaxScanLine 0x09
#define CRTModeControl 0x17
#define CRTLineCompare 0x18
/* 3x4 */
#define StartAddrHigh 0x0C
#define StartAddrLow 0x0D
#define Offset 0x13
#define Underline 0x14
#define CRTCMode 0x17
#define CRTCModuleTest 0x1E
#define FIFOControl 0x20
#define LinearAddReg 0x21
#define DRAMTiming 0x23
#define New32 0x23
#define RAMDACTiming 0x25
#define CRTHiOrd 0x27
#define AddColReg 0x29
#define InterfaceSel 0x2A
#define HorizOverflow 0x2B
#define GETest 0x2D
#define Performance 0x2F
#define GraphEngReg 0x36
#define I2C 0x37
#define PixelBusReg 0x38
#define PCIReg 0x39
#define DRAMControl 0x3A
#define MiscContReg 0x3C
#define CursorXLow 0x40
#define CursorXHigh 0x41
#define CursorYLow 0x42
#define CursorYHigh 0x43
#define CursorLocLow 0x44
#define CursorLocHigh 0x45
#define CursorXOffset 0x46
#define CursorYOffset 0x47
#define CursorFG1 0x48
#define CursorFG2 0x49
#define CursorFG3 0x4A
#define CursorFG4 0x4B
#define CursorBG1 0x4C
#define CursorBG2 0x4D
#define CursorBG3 0x4E
#define CursorBG4 0x4F
#define CursorControl 0x50
#define PCIRetry 0x55
#define PreEndControl 0x56
#define PreEndFetch 0x57
#define PCIMaster 0x60
#define Enhancement0 0x62
#define NewEDO 0x64
#define TVinterface 0xC0
#define TVMode 0xC1
#define ClockControl 0xCF
/* 3CE */
#define MiscExtFunc 0x0F
#define PowerStatus 0x23
#define MiscIntContReg 0x2F
#define CyberControl 0x30
#define CyberEnhance 0x31
#define FPConfig 0x33
#define VertStretch 0x52
#define HorStretch 0x53
#define BiosMode 0x5c
#define BiosReg 0x5d