|
@@ -37,6 +37,8 @@ static char *viafb_mode1;
|
|
|
static int viafb_bpp = 32;
|
|
|
static int viafb_bpp1 = 32;
|
|
|
|
|
|
+static unsigned int viafb_second_xres = 640;
|
|
|
+static unsigned int viafb_second_yres = 480;
|
|
|
static unsigned int viafb_second_offset;
|
|
|
static int viafb_second_size;
|
|
|
|
|
@@ -440,8 +442,8 @@ static int viafb_ioctl(struct fb_info *info, u_int cmd, u_long arg)
|
|
|
if (viafb_SAMM_ON == 1) {
|
|
|
u.viamode.xres_sec = viafb_second_xres;
|
|
|
u.viamode.yres_sec = viafb_second_yres;
|
|
|
- u.viamode.virtual_xres_sec = viafb_second_virtual_xres;
|
|
|
- u.viamode.virtual_yres_sec = viafb_second_virtual_yres;
|
|
|
+ u.viamode.virtual_xres_sec = viafb_dual_fb ? viafbinfo1->var.xres_virtual : viafbinfo->var.xres_virtual;
|
|
|
+ u.viamode.virtual_yres_sec = viafb_dual_fb ? viafbinfo1->var.yres_virtual : viafbinfo->var.yres_virtual;
|
|
|
u.viamode.refresh_sec = viafb_refresh1;
|
|
|
u.viamode.bpp_sec = viafb_bpp1;
|
|
|
} else {
|
|
@@ -1790,14 +1792,10 @@ int __devinit via_fb_pci_probe(struct viafb_dev *vdev)
|
|
|
|
|
|
parse_mode(viafb_mode, &default_xres, &default_yres);
|
|
|
vmode_entry = viafb_get_mode(default_xres, default_yres);
|
|
|
- if (viafb_SAMM_ON == 1) {
|
|
|
+ if (viafb_SAMM_ON == 1)
|
|
|
parse_mode(viafb_mode1, &viafb_second_xres,
|
|
|
&viafb_second_yres);
|
|
|
|
|
|
- viafb_second_virtual_xres = viafb_second_xres;
|
|
|
- viafb_second_virtual_yres = viafb_second_yres;
|
|
|
- }
|
|
|
-
|
|
|
default_var.xres = default_xres;
|
|
|
default_var.yres = default_yres;
|
|
|
default_var.xres_virtual = default_xres;
|
|
@@ -1841,8 +1839,8 @@ int __devinit via_fb_pci_probe(struct viafb_dev *vdev)
|
|
|
|
|
|
default_var.xres = viafb_second_xres;
|
|
|
default_var.yres = viafb_second_yres;
|
|
|
- default_var.xres_virtual = viafb_second_virtual_xres;
|
|
|
- default_var.yres_virtual = viafb_second_virtual_yres;
|
|
|
+ default_var.xres_virtual = viafb_second_xres;
|
|
|
+ default_var.yres_virtual = viafb_second_yres;
|
|
|
default_var.bits_per_pixel = viafb_bpp1;
|
|
|
viafb_fill_var_timing_info(&default_var, viafb_get_refresh(
|
|
|
default_var.xres, default_var.yres, viafb_refresh1),
|