Lines Matching refs:var
272 static void uvesafb_setup_var(struct fb_var_screeninfo *var,
277 var->vmode = FB_VMODE_NONINTERLACED;
278 var->sync = FB_SYNC_VERT_HIGH_ACT;
280 var->xres = mode->x_res;
281 var->yres = mode->y_res;
282 var->xres_virtual = mode->x_res;
283 var->yres_virtual = (par->ypan) ?
286 var->xoffset = 0;
287 var->yoffset = 0;
288 var->bits_per_pixel = mode->bits_per_pixel;
290 if (var->bits_per_pixel == 15)
291 var->bits_per_pixel = 16;
293 if (var->bits_per_pixel > 8) {
294 var->red.offset = mode->red_off;
295 var->red.length = mode->red_len;
296 var->green.offset = mode->green_off;
297 var->green.length = mode->green_len;
298 var->blue.offset = mode->blue_off;
299 var->blue.length = mode->blue_len;
300 var->transp.offset = mode->rsvd_off;
301 var->transp.length = mode->rsvd_len;
303 var->red.offset = 0;
304 var->green.offset = 0;
305 var->blue.offset = 0;
306 var->transp.offset = 0;
308 var->red.length = 8;
309 var->green.length = 8;
310 var->blue.length = 8;
311 var->transp.length = 0;
603 fb_videomode_to_var(&info->var, mode);
604 if (fb_validate_mode(&info->var, info))
724 struct fb_var_screeninfo var;
729 memset(&var, 0, sizeof(var));
731 var.xres = mode->x_res;
732 var.yres = mode->y_res;
734 fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON, 60, &var, info);
735 fb_var_to_videomode(&vmode, &var);
840 uvesafb_setup_var(&info->var, info,
843 &info->var, info);
848 info->var.pixclock = 0;
877 i = fb_find_mode(&info->var, info, mode_option, mode, i,
885 info->var.xres = 640;
886 info->var.yres = 480;
888 fb_find_best_mode(&info->var, &info->modelist);
891 fb_videomode_to_var(&info->var, mode);
894 uvesafb_setup_var(&info->var, info,
897 &info->var, info);
904 modeid = uvesafb_vbe_find_mode(par, info->var.xres, info->var.yres,
905 info->var.bits_per_pixel, UVESAFB_EXACT_RES);
910 uvesafb_setup_var(&info->var, info, &par->vbe_modes[modeid]);
919 &info->var, info);
1000 if (info->var.bits_per_pixel == 8) {
1008 switch (info->var.bits_per_pixel) {
1010 if (info->var.red.offset == 10) {
1031 (red << info->var.red.offset) |
1032 (green << info->var.green.offset) |
1033 (blue << info->var.blue.offset);
1046 if (info->var.bits_per_pixel == 8) {
1079 static int uvesafb_pan_display(struct fb_var_screeninfo *var,
1086 offset = (var->yoffset * info->fix.line_length + var->xoffset) / 4;
1222 int i, err = 0, depth = info->var.bits_per_pixel;
1225 depth = info->var.red.length + info->var.green.length +
1226 info->var.blue.length;
1228 i = uvesafb_vbe_find_mode(par, info->var.xres, info->var.yres, depth,
1243 info->var.pixclock != 0) {
1251 crtc->horiz_start = info->var.xres + info->var.right_margin;
1252 crtc->horiz_end = crtc->horiz_start + info->var.hsync_len;
1253 crtc->horiz_total = crtc->horiz_end + info->var.left_margin;
1255 crtc->vert_start = info->var.yres + info->var.lower_margin;
1256 crtc->vert_end = crtc->vert_start + info->var.vsync_len;
1257 crtc->vert_total = crtc->vert_end + info->var.upper_margin;
1259 crtc->pixel_clock = PICOS2KHZ(info->var.pixclock) * 1000;
1263 if (info->var.vmode & FB_VMODE_DOUBLE)
1265 if (info->var.vmode & FB_VMODE_INTERLACED)
1267 if (!(info->var.sync & FB_SYNC_HOR_HIGH_ACT))
1269 if (!(info->var.sync & FB_SYNC_VERT_HIGH_ACT))
1291 info->var.pixclock = 0;
1318 info->fix.visual = (info->var.bits_per_pixel == 8) ?
1329 static void uvesafb_check_limits(struct fb_var_screeninfo *var,
1339 if (!var->pixclock)
1343 fb_get_mode(FB_VSYNCTIMINGS | FB_IGNOREMON, 60, var, info);
1347 if (!fb_validate_mode(var, info))
1350 mode = fb_find_best_mode(var, &info->modelist);
1352 if (mode->xres == var->xres && mode->yres == var->yres &&
1354 fb_videomode_to_var(var, mode);
1359 if (info->monspecs.gtf && !fb_get_mode(FB_MAXTIMINGS, 0, var, info))
1362 var->pixclock = 0;
1365 static int uvesafb_check_var(struct fb_var_screeninfo *var,
1371 int depth = var->red.length + var->green.length + var->blue.length;
1378 if (depth == 0 || abs(depth - var->bits_per_pixel) >= 8)
1379 depth = var->bits_per_pixel;
1381 match = uvesafb_vbe_find_mode(par, var->xres, var->yres, depth,
1387 uvesafb_setup_var(var, info, mode);
1394 if (var->yres * mode->bytes_per_scan_line > info->fix.smem_len
1398 if ((var->vmode & FB_VMODE_DOUBLE) &&
1400 var->vmode &= ~FB_VMODE_DOUBLE;
1402 if ((var->vmode & FB_VMODE_INTERLACED) &&
1404 var->vmode &= ~FB_VMODE_INTERLACED;
1406 uvesafb_check_limits(var, info);
1408 var->xres_virtual = var->xres;
1409 var->yres_virtual = (par->ypan) ?
1411 var->yres;
1463 size_vmode = info->var.yres * mode->bytes_per_scan_line;
1496 info->var.yres_virtual = info->fix.smem_len /
1499 if (par->ypan && info->var.yres_virtual > info->var.yres) {
1502 info->var.yres_virtual);
1505 info->var.yres_virtual = info->var.yres;