aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/via/viafbdev.c57
-rw-r--r--drivers/video/via/viafbdev.h6
2 files changed, 9 insertions, 54 deletions
diff --git a/drivers/video/via/viafbdev.c b/drivers/video/via/viafbdev.c
index 72759b620e7f..50e9300d0de0 100644
--- a/drivers/video/via/viafbdev.c
+++ b/drivers/video/via/viafbdev.c
@@ -53,51 +53,6 @@ static void retrieve_device_setting(struct viafb_ioctl_setting
53static void viafb_set_video_device(u32 video_dev_info); 53static void viafb_set_video_device(u32 video_dev_info);
54static void viafb_get_video_device(u32 *video_dev_info); 54static void viafb_get_video_device(u32 *video_dev_info);
55 55
56/* Mode information */
57static const struct viafb_modeinfo viafb_modentry[] = {
58 {480, 640, VIA_RES_480X640},
59 {640, 480, VIA_RES_640X480},
60 {800, 480, VIA_RES_800X480},
61 {800, 600, VIA_RES_800X600},
62 {1024, 768, VIA_RES_1024X768},
63 {1152, 864, VIA_RES_1152X864},
64 {1280, 1024, VIA_RES_1280X1024},
65 {1600, 1200, VIA_RES_1600X1200},
66 {1440, 1050, VIA_RES_1440X1050},
67 {1280, 768, VIA_RES_1280X768,},
68 {1280, 800, VIA_RES_1280X800},
69 {1280, 960, VIA_RES_1280X960},
70 {1920, 1440, VIA_RES_1920X1440},
71 {848, 480, VIA_RES_848X480},
72 {1400, 1050, VIA_RES_1400X1050},
73 {720, 480, VIA_RES_720X480},
74 {720, 576, VIA_RES_720X576},
75 {1024, 512, VIA_RES_1024X512},
76 {1024, 576, VIA_RES_1024X576},
77 {1024, 600, VIA_RES_1024X600},
78 {1280, 720, VIA_RES_1280X720},
79 {1920, 1080, VIA_RES_1920X1080},
80 {1366, 768, VIA_RES_1368X768},
81 {1680, 1050, VIA_RES_1680X1050},
82 {960, 600, VIA_RES_960X600},
83 {1000, 600, VIA_RES_1000X600},
84 {1024, 576, VIA_RES_1024X576},
85 {1024, 600, VIA_RES_1024X600},
86 {1088, 612, VIA_RES_1088X612},
87 {1152, 720, VIA_RES_1152X720},
88 {1200, 720, VIA_RES_1200X720},
89 {1280, 600, VIA_RES_1280X600},
90 {1360, 768, VIA_RES_1360X768},
91 {1440, 900, VIA_RES_1440X900},
92 {1600, 900, VIA_RES_1600X900},
93 {1600, 1024, VIA_RES_1600X1024},
94 {1792, 1344, VIA_RES_1792X1344},
95 {1856, 1392, VIA_RES_1856X1392},
96 {1920, 1200, VIA_RES_1920X1200},
97 {2048, 1536, VIA_RES_2048X1536},
98 {0, 0, VIA_RES_INVALID}
99};
100
101static struct fb_ops viafb_ops; 56static struct fb_ops viafb_ops;
102 57
103 58
@@ -1239,12 +1194,16 @@ int viafb_get_mode_index(int hres, int vres)
1239 u32 i; 1194 u32 i;
1240 DEBUG_MSG(KERN_INFO "viafb_get_mode_index!\n"); 1195 DEBUG_MSG(KERN_INFO "viafb_get_mode_index!\n");
1241 1196
1242 for (i = 0; viafb_modentry[i].mode_index != VIA_RES_INVALID; i++) 1197 for (i = 0; i < NUM_TOTAL_MODETABLE; i++)
1243 if (viafb_modentry[i].xres == hres && 1198 if (CLE266Modes[i].mode_array &&
1244 viafb_modentry[i].yres == vres) 1199 CLE266Modes[i].crtc[0].crtc.hor_addr == hres &&
1200 CLE266Modes[i].crtc[0].crtc.ver_addr == vres)
1245 break; 1201 break;
1246 1202
1247 return viafb_modentry[i].mode_index; 1203 if (i == NUM_TOTAL_MODETABLE)
1204 return VIA_RES_INVALID;
1205
1206 return CLE266Modes[i].ModeIndex;
1248} 1207}
1249 1208
1250static void check_available_device_to_enable(int device_id) 1209static void check_available_device_to_enable(int device_id)
diff --git a/drivers/video/via/viafbdev.h b/drivers/video/via/viafbdev.h
index ea0df4f96842..cd3dff7cc170 100644
--- a/drivers/video/via/viafbdev.h
+++ b/drivers/video/via/viafbdev.h
@@ -70,11 +70,7 @@ struct viafb_par {
70 int video_on_lcd; 70 int video_on_lcd;
71 71
72}; 72};
73struct viafb_modeinfo { 73
74 u32 xres;
75 u32 yres;
76 int mode_index;
77};
78extern unsigned int viafb_second_virtual_yres; 74extern unsigned int viafb_second_virtual_yres;
79extern unsigned int viafb_second_virtual_xres; 75extern unsigned int viafb_second_virtual_xres;
80extern unsigned int viafb_second_offset; 76extern unsigned int viafb_second_offset;