Import 2.3.15pre2
[davej-history.git] / drivers / video / cyber2000fb.h
blobbbbd1edbb9e0edabcdcd7f17cdecc04b4a38ce50
1 /*
2 * linux/drivers/video/cyber2000fb.h
4 * Integraphics Cyber2000 frame buffer device
5 */
7 #define arraysize(x) (sizeof(x)/sizeof(*(x)))
8 #define cyber2000_outb(dat,reg) (CyberRegs[reg] = dat)
9 #define cyber2000_outw(dat,reg) (*(unsigned short *)&CyberRegs[reg] = dat)
10 #define cyber2000_outl(dat,reg) (*(unsigned long *)&CyberRegs[reg] = dat)
12 #define cyber2000_inb(reg) (CyberRegs[reg])
13 #define cyber2000_inw(reg) (*(unsigned short *)&CyberRegs[reg])
14 #define cyber2000_inl(reg) (*(unsigned long *)&CyberRegs[reg])
16 static inline void cyber2000_crtcw(int reg, int val)
18 cyber2000_outb(reg, 0x3d4);
19 cyber2000_outb(val, 0x3d5);
22 static inline void cyber2000_grphw(int reg, int val)
24 cyber2000_outb(reg, 0x3ce);
25 cyber2000_outb(val, 0x3cf);
28 static inline void cyber2000_attrw(int reg, int val)
30 cyber2000_inb(0x3da);
31 cyber2000_outb(reg, 0x3c0);
32 cyber2000_inb(0x3c1);
33 cyber2000_outb(val, 0x3c0);
36 static inline void cyber2000_seqw(int reg, int val)
38 cyber2000_outb(reg, 0x3c4);
39 cyber2000_outb(val, 0x3c5);
42 struct cyber2000fb_par {
43 unsigned long screen_base;
44 unsigned long screen_base_p;
45 unsigned long regs_base;
46 unsigned long regs_base_p;
47 unsigned long screen_end;
48 unsigned long screen_size;
49 unsigned int palette_size;
50 signed int currcon;
52 * palette
54 struct {
55 u8 red;
56 u8 green;
57 u8 blue;
58 } palette[256];
60 * colour mapping table
62 union {
63 #ifdef FBCON_HAS_CFB16
64 u16 cfb16[16];
65 #endif
66 #ifdef FBCON_HAS_CFB24
67 u32 cfb24[16];
68 #endif
69 } c_table;
72 struct res {
73 int xres;
74 int yres;
75 unsigned char crtc_regs[18];
76 unsigned char crtc_ofl;
77 unsigned char clk_regs[4];