2 * linux/drivers/video/i830/i830.h
3 * -- Intel 830 framebuffer device header file
5 * Copyright (C) 2004 Frank Zirkelbach <hackbard@hackdaworld.dyndns.org>
8 * This driver is subject to the terms of the GNU General Public License.
9 * See file COPYING in the main directory for more details.
17 struct mode_registers {
18 u32 pixclock, M, N, P;
19 u8 cr00, cr01, cr02, cr03;
20 u8 cr04, cr05, cr06, cr07;
21 u8 cr09, cr10, cr11, cr12;
22 u8 cr13, cr15, cr16, cr30;
23 u8 cr31, cr32, cr33, cr35, cr39;
24 u32 bpp8_100, bpp16_100, bpp24_100;
25 u32 bpp8_133, bpp16_133, bpp24_133;
28 struct state_registers {
29 u32 dclk_1d, dclk_2d, dclk_0ds;
30 u32 pixconf, fw_blc, pgtbl_ctl;
31 u32 fence0, hws_pga, dplystas;
32 u16 bltcntl, hwstam, ier, iir, imr;
33 u8 cr00, cr01, cr02, cr03, cr04;
34 u8 cr05, cr06, cr07, cr08, cro9;
35 u8 cr10, cr11, cr12, cr13, cr14;
36 u8 cr15, cr16, cr17, cr80, gr10;
37 u8 cr30, cr31, cr32, cr33, cr35;
38 u8 cr39, cr41, cr70, sr01, msr;
41 struct agp_memory *i830_fb_mem;
42 struct agp_memory *i830_cursor_mem;
45 unsigned long physical;
51 struct mode_registers regs;
52 struct state_registers hw_state;
53 struct gtt_data i830_gtt;
54 struct fb_ops i830fb_ops;
55 struct pci_dev *dev; /* pci device */
56 struct mem_region aperture; /* aperture memory region */
57 struct mem_region mmio; /* memory mapped region */
58 struct mem_region fb; /* framebuffer memory region */
59 struct mem_region ring; /* ringbuffer memory region */
60 struct mem_region cursor;
61 struct vga_state state;
64 u32 pseudo_palette[17];
70 u32 res_flags; /* resource flags */
71 #define FB_MEM_REGION_REQ 1
72 #define MMIO_MEM_REGION_REQ 2
73 #define PCI_DEVICE_ENABLED 4
86 #define MMIO_SIZE (512 * 1024)
87 #define RINGBUF_SIZE (64 * 1024)
88 #define CURSOR_SIZE (4 * 1024)
90 /* function prototypes */
101 i830fb_pan_display();
108 i830fb_release_resource();
112 #endif /* __I830_H__ */