Lines Matching refs:var
144 static void vgaHWInit(struct fb_var_screeninfo *var, in vgaHWInit() argument
200 reg->CRTC[0x13] = var->xres_virtual >> 4; in vgaHWInit()
845 static void savage_update_var(struct fb_var_screeninfo *var, in savage_update_var() argument
848 var->xres = var->xres_virtual = modedb->xres; in savage_update_var()
849 var->yres = modedb->yres; in savage_update_var()
850 if (var->yres_virtual < var->yres) in savage_update_var()
851 var->yres_virtual = var->yres; in savage_update_var()
852 var->xoffset = var->yoffset = 0; in savage_update_var()
853 var->pixclock = modedb->pixclock; in savage_update_var()
854 var->left_margin = modedb->left_margin; in savage_update_var()
855 var->right_margin = modedb->right_margin; in savage_update_var()
856 var->upper_margin = modedb->upper_margin; in savage_update_var()
857 var->lower_margin = modedb->lower_margin; in savage_update_var()
858 var->hsync_len = modedb->hsync_len; in savage_update_var()
859 var->vsync_len = modedb->vsync_len; in savage_update_var()
860 var->sync = modedb->sync; in savage_update_var()
861 var->vmode = modedb->vmode; in savage_update_var()
864 static int savagefb_check_var(struct fb_var_screeninfo *var, in savagefb_check_var() argument
872 var->transp.offset = 0; in savagefb_check_var()
873 var->transp.length = 0; in savagefb_check_var()
874 switch (var->bits_per_pixel) { in savagefb_check_var()
876 var->red.offset = var->green.offset = in savagefb_check_var()
877 var->blue.offset = 0; in savagefb_check_var()
878 var->red.length = var->green.length = in savagefb_check_var()
879 var->blue.length = var->bits_per_pixel; in savagefb_check_var()
882 var->red.offset = 11; in savagefb_check_var()
883 var->red.length = 5; in savagefb_check_var()
884 var->green.offset = 5; in savagefb_check_var()
885 var->green.length = 6; in savagefb_check_var()
886 var->blue.offset = 0; in savagefb_check_var()
887 var->blue.length = 5; in savagefb_check_var()
890 var->transp.offset = 24; in savagefb_check_var()
891 var->transp.length = 8; in savagefb_check_var()
892 var->red.offset = 16; in savagefb_check_var()
893 var->red.length = 8; in savagefb_check_var()
894 var->green.offset = 8; in savagefb_check_var()
895 var->green.length = 8; in savagefb_check_var()
896 var->blue.offset = 0; in savagefb_check_var()
897 var->blue.length = 8; in savagefb_check_var()
905 !info->monspecs.dclkmax || !fb_validate_mode(var, info)) in savagefb_check_var()
910 if (!fb_get_mode(FB_MAXTIMINGS, 0, var, info)) in savagefb_check_var()
917 mode = fb_find_best_mode(var, &info->modelist); in savagefb_check_var()
919 savage_update_var(var, mode); in savagefb_check_var()
929 (var->xres > par->SavagePanelWidth || in savagefb_check_var()
930 var->yres > par->SavagePanelHeight)) { in savagefb_check_var()
932 "(%dx%d)\n", var->xres, var->yres, in savagefb_check_var()
938 if (var->yres_virtual < var->yres) in savagefb_check_var()
939 var->yres_virtual = var->yres; in savagefb_check_var()
940 if (var->xres_virtual < var->xres) in savagefb_check_var()
941 var->xres_virtual = var->xres; in savagefb_check_var()
945 memlen = var->xres_virtual * var->bits_per_pixel * in savagefb_check_var()
946 var->yres_virtual / 8; in savagefb_check_var()
948 var->yres_virtual = vramlen * 8 / in savagefb_check_var()
949 (var->xres_virtual * var->bits_per_pixel); in savagefb_check_var()
950 memlen = var->xres_virtual * var->bits_per_pixel * in savagefb_check_var()
951 var->yres_virtual / 8; in savagefb_check_var()
956 if (var->yres_virtual < var->yres) in savagefb_check_var()
957 var->yres = var->yres_virtual; in savagefb_check_var()
958 if (var->xres_virtual < var->xres) in savagefb_check_var()
959 var->xres = var->xres_virtual; in savagefb_check_var()
960 if (var->xoffset + var->xres > var->xres_virtual) in savagefb_check_var()
961 var->xoffset = var->xres_virtual - var->xres; in savagefb_check_var()
962 if (var->yoffset + var->yres > var->yres_virtual) in savagefb_check_var()
963 var->yoffset = var->yres_virtual - var->yres; in savagefb_check_var()
969 static int savagefb_decode_var(struct fb_var_screeninfo *var, in savagefb_decode_var() argument
977 unsigned int pixclock = var->pixclock; in savagefb_decode_var()
986 timings.dblscan = var->vmode & FB_VMODE_DOUBLE; in savagefb_decode_var()
987 timings.interlaced = var->vmode & FB_VMODE_INTERLACED; in savagefb_decode_var()
988 timings.HDisplay = var->xres; in savagefb_decode_var()
989 timings.HSyncStart = timings.HDisplay + var->right_margin; in savagefb_decode_var()
990 timings.HSyncEnd = timings.HSyncStart + var->hsync_len; in savagefb_decode_var()
991 timings.HTotal = timings.HSyncEnd + var->left_margin; in savagefb_decode_var()
992 timings.VDisplay = var->yres; in savagefb_decode_var()
993 timings.VSyncStart = timings.VDisplay + var->lower_margin; in savagefb_decode_var()
994 timings.VSyncEnd = timings.VSyncStart + var->vsync_len; in savagefb_decode_var()
995 timings.VTotal = timings.VSyncEnd + var->upper_margin; in savagefb_decode_var()
996 timings.sync = var->sync; in savagefb_decode_var()
999 par->depth = var->bits_per_pixel; in savagefb_decode_var()
1000 par->vwidth = var->xres_virtual; in savagefb_decode_var()
1002 if (var->bits_per_pixel == 16 && par->chip == S3_SAVAGE3D) { in savagefb_decode_var()
1013 vgaHWInit(var, par, &timings, reg); in savagefb_decode_var()
1020 switch(var->bits_per_pixel) { in savagefb_decode_var()
1098 if (var->bits_per_pixel < 24) in savagefb_decode_var()
1139 width = (var->xres_virtual * ((var->bits_per_pixel+7) / 8)) >> 3; in savagefb_decode_var()
1147 if (var->bits_per_pixel <= 8) in savagefb_decode_var()
1149 else if (var->bits_per_pixel <= 16) in savagefb_decode_var()
1154 if (var->xres_virtual <= 640) in savagefb_decode_var()
1156 else if (var->xres_virtual == 800) in savagefb_decode_var()
1158 else if (var->xres_virtual == 1024) in savagefb_decode_var()
1160 else if (var->xres_virtual == 1152) in savagefb_decode_var()
1162 else if (var->xres_virtual == 1280) in savagefb_decode_var()
1164 else if (var->xres_virtual == 1600) in savagefb_decode_var()
1217 switch (info->var.bits_per_pixel) { in savagefb_setcolreg()
1487 info->fix.line_length = info->var.xres_virtual * in savagefb_set_fix()
1488 info->var.bits_per_pixel / 8; in savagefb_set_fix()
1490 if (info->var.bits_per_pixel == 8) { in savagefb_set_fix()
1503 struct fb_var_screeninfo *var = &info->var; in savagefb_set_par() local
1507 err = savagefb_decode_var(var, par, &par->state); in savagefb_set_par()
1512 if (var->bits_per_pixel > 24) in savagefb_set_par()
1514 else if (var->bits_per_pixel >= 24) in savagefb_set_par()
1516 else if ((var->bits_per_pixel > 8) && (var->bits_per_pixel < 24)) in savagefb_set_par()
1518 else if (var->bits_per_pixel <= 8) in savagefb_set_par()
1538 static int savagefb_pan_display(struct fb_var_screeninfo *var, in savagefb_pan_display() argument
1544 base = (var->yoffset * info->fix.line_length in savagefb_pan_display()
1545 + (var->xoffset & ~1) * ((info->var.bits_per_pixel+7) / 8)) >> 2; in savagefb_pan_display()
2132 info->var.nonstd = 0; in savage_init_fb_info()
2133 info->var.activate = FB_ACTIVATE_NOW; in savage_init_fb_info()
2134 info->var.width = -1; in savage_init_fb_info()
2135 info->var.height = -1; in savage_init_fb_info()
2136 info->var.accel_flags = 0; in savage_init_fb_info()
2222 info->var = savagefb_var800x600x8; in savagefb_probe()
2235 else if (fb_find_mode(&info->var, info, NULL, NULL, 0, in savagefb_probe()
2237 info->var = savagefb_var800x600x8; in savagefb_probe()
2241 fb_find_mode(&info->var, info, mode_option, in savagefb_probe()
2248 savage_update_var(&info->var, mode); in savagefb_probe()
2252 lpitch = info->var.xres_virtual*((info->var.bits_per_pixel + 7) >> 3); in savagefb_probe()
2253 info->var.yres_virtual = info->fix.smem_len/lpitch; in savagefb_probe()
2255 if (info->var.yres_virtual < info->var.yres) { in savagefb_probe()
2265 if (info->var.yres_virtual > 0x1000) in savagefb_probe()
2266 info->var.yres_virtual = 0x1000; in savagefb_probe()
2268 if (info->var.xres_virtual > 0x1000) in savagefb_probe()
2269 info->var.xres_virtual = 0x1000; in savagefb_probe()
2271 savagefb_check_var(&info->var, info); in savagefb_probe()
2280 h_sync = 1953125000 / info->var.pixclock; in savagefb_probe()
2281 h_sync = h_sync * 512 / (info->var.xres + info->var.left_margin + in savagefb_probe()
2282 info->var.right_margin + in savagefb_probe()
2283 info->var.hsync_len); in savagefb_probe()
2284 v_sync = h_sync / (info->var.yres + info->var.upper_margin + in savagefb_probe()
2285 info->var.lower_margin + info->var.vsync_len); in savagefb_probe()
2290 info->var.xres, info->var.yres, in savagefb_probe()