aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/via/viafbdev.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/via/viafbdev.h')
-rw-r--r--drivers/video/via/viafbdev.h61
1 files changed, 29 insertions, 32 deletions
diff --git a/drivers/video/via/viafbdev.h b/drivers/video/via/viafbdev.h
index 227b000feb38..0c94d2441922 100644
--- a/drivers/video/via/viafbdev.h
+++ b/drivers/video/via/viafbdev.h
@@ -37,51 +37,50 @@
37#define VERSION_OS 0 /* 0: for 32 bits OS, 1: for 64 bits OS */ 37#define VERSION_OS 0 /* 0: for 32 bits OS, 1: for 64 bits OS */
38#define VERSION_MINOR 4 38#define VERSION_MINOR 4
39 39
40struct viafb_shared {
41 struct proc_dir_entry *proc_entry; /*viafb proc entry */
42
43 /* I2C stuff */
44 struct via_i2c_stuff i2c_stuff;
45
46 /* All the information will be needed to set engine */
47 struct tmds_setting_information tmds_setting_info;
48 struct crt_setting_information crt_setting_info;
49 struct lvds_setting_information lvds_setting_info;
50 struct lvds_setting_information lvds_setting_info2;
51 struct chip_information chip_info;
52
53 /* hardware acceleration stuff */
54 void __iomem *engine_mmio;
55 u32 cursor_vram_addr;
56 u32 vq_vram_addr; /* virtual queue address in video ram */
57 int (*hw_bitblt)(void __iomem *engine, u8 op, u32 width, u32 height,
58 u8 dst_bpp, u32 dst_addr, u32 dst_pitch, u32 dst_x, u32 dst_y,
59 u32 *src_mem, u32 src_addr, u32 src_pitch, u32 src_x, u32 src_y,
60 u32 fg_color, u32 bg_color, u8 fill_rop);
61};
62
40struct viafb_par { 63struct viafb_par {
41 int bpp; 64 u8 depth;
42 int hres; 65 u32 vram_addr;
43 int vres; 66
44 int linelength;
45 u32 xoffset;
46 u32 yoffset;
47
48 void __iomem *fbmem_virt; /*framebuffer virtual memory address */
49 void __iomem *io_virt; /*iospace virtual memory address */
50 unsigned int fbmem; /*framebuffer physical memory address */ 67 unsigned int fbmem; /*framebuffer physical memory address */
51 unsigned int memsize; /*size of fbmem */ 68 unsigned int memsize; /*size of fbmem */
52 unsigned int io; /*io space address */
53 unsigned long mmio_base; /*mmio base address */
54 unsigned long mmio_len; /*mmio base length */
55 u32 fbmem_free; /* Free FB memory */ 69 u32 fbmem_free; /* Free FB memory */
56 u32 fbmem_used; /* Use FB memory size */ 70 u32 fbmem_used; /* Use FB memory size */
57 u32 cursor_start; /* Cursor Start Address */
58 u32 VQ_start; /* Virtual Queue Start Address */
59 u32 VQ_end; /* Virtual Queue End Address */
60 u32 iga_path; 71 u32 iga_path;
61 struct proc_dir_entry *proc_entry; /*viafb proc entry */
62 u8 duoview; /*Is working in duoview mode? */
63 72
64 /* I2C stuff */ 73 struct viafb_shared *shared;
65 struct via_i2c_stuff i2c_stuff;
66 74
67 /* All the information will be needed to set engine */ 75 /* All the information will be needed to set engine */
76 /* depreciated, use the ones in shared directly */
68 struct tmds_setting_information *tmds_setting_info; 77 struct tmds_setting_information *tmds_setting_info;
69 struct crt_setting_information *crt_setting_info; 78 struct crt_setting_information *crt_setting_info;
70 struct lvds_setting_information *lvds_setting_info; 79 struct lvds_setting_information *lvds_setting_info;
71 struct lvds_setting_information *lvds_setting_info2; 80 struct lvds_setting_information *lvds_setting_info2;
72 struct chip_information *chip_info; 81 struct chip_information *chip_info;
73
74 /* some information related to video playing */
75 int video_on_crt;
76 int video_on_dvi;
77 int video_on_lcd;
78
79};
80struct viafb_modeinfo {
81 u32 xres;
82 u32 yres;
83 int mode_index;
84}; 82};
83
85extern unsigned int viafb_second_virtual_yres; 84extern unsigned int viafb_second_virtual_yres;
86extern unsigned int viafb_second_virtual_xres; 85extern unsigned int viafb_second_virtual_xres;
87extern unsigned int viafb_second_offset; 86extern unsigned int viafb_second_offset;
@@ -91,14 +90,12 @@ extern int viafb_dual_fb;
91extern int viafb_LCD2_ON; 90extern int viafb_LCD2_ON;
92extern int viafb_LCD_ON; 91extern int viafb_LCD_ON;
93extern int viafb_DVI_ON; 92extern int viafb_DVI_ON;
94extern int viafb_accel;
95extern int viafb_hotplug; 93extern int viafb_hotplug;
96extern int viafb_memsize; 94extern int viafb_memsize;
97 95
98extern int strict_strtoul(const char *cp, unsigned int base, 96extern int strict_strtoul(const char *cp, unsigned int base,
99 unsigned long *res); 97 unsigned long *res);
100 98
101void viafb_memory_pitch_patch(struct fb_info *info);
102void viafb_fill_var_timing_info(struct fb_var_screeninfo *var, int refresh, 99void viafb_fill_var_timing_info(struct fb_var_screeninfo *var, int refresh,
103 int mode_index); 100 int mode_index);
104int viafb_get_mode_index(int hres, int vres); 101int viafb_get_mode_index(int hres, int vres);