Lines Matching refs:var

114 	struct fb_var_screeninfo *var = &info->var;
122 vidc.h_sync_width = var->hsync_len - 8;
123 vidc.h_border_start = vidc.h_sync_width + var->left_margin + 8 - 12;
125 vidc.h_display_end = vidc.h_display_start + var->xres;
127 vidc.h_cycle = vidc.h_border_end + var->right_margin + 12 - 8;
129 vidc.v_sync_width = var->vsync_len - 1;
130 vidc.v_border_start = vidc.v_sync_width + var->upper_margin;
132 vidc.v_display_end = vidc.v_display_start + var->yres;
136 vcr = var->vsync_len + var->upper_margin + var->yres +
137 var->lower_margin;
139 if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) {
145 switch (var->bits_per_pixel) {
155 acornfb_vidc20_find_rates(&vidc, var);
156 fsize = var->vsync_len + var->upper_margin + var->lower_margin - 1;
185 if (var->sync & FB_SYNC_COMP_HIGH_ACT) /* should be FB_SYNC_COMP */
188 if (var->sync & FB_SYNC_HOR_HIGH_ACT)
193 if (var->sync & FB_SYNC_VERT_HIGH_ACT)
201 words_per_line = var->xres * var->bits_per_pixel / 32;
223 printk(KERN_DEBUG "VIDC registers for %dx%dx%d:\n", var->xres,
224 var->yres, var->bits_per_pixel);
276 pseudo_val = regno << info->var.red.offset;
277 pseudo_val |= regno << info->var.green.offset;
278 pseudo_val |= regno << info->var.blue.offset;
290 if (info->var.bits_per_pixel == 16) {
316 acornfb_adjust_timing(struct fb_info *info, struct fb_var_screeninfo *var, u_int fontht)
321 var->xres = (var->xres + 1) & ~1;
326 var->xres_virtual = var->xres;
327 var->xoffset = 0;
341 font_line_len = var->xres * var->bits_per_pixel * fontht / 8;
342 min_size = var->xres * var->yres * var->bits_per_pixel / 8;
362 if (var->accel_flags & FB_ACCELF_TEXT) {
368 var->yres_virtual = size / (font_line_len / fontht);
370 var->yres_virtual = nr_y;
371 } else if (var->yres_virtual > nr_y)
372 var->yres_virtual = nr_y;
379 if (var->yres > var->yres_virtual)
380 var->yres = var->yres_virtual;
382 if (var->vmode & FB_VMODE_YWRAP) {
383 if (var->yoffset > var->yres_virtual)
384 var->yoffset = var->yres_virtual;
386 if (var->yoffset + var->yres > var->yres_virtual)
387 var->yoffset = var->yres_virtual - var->yres;
391 var->hsync_len = (var->hsync_len + 1) & ~1;
395 if (var->left_margin & 1) {
396 var->left_margin += 1;
397 var->right_margin -= 1;
401 if (var->right_margin & 1)
402 var->right_margin += 1;
405 if (var->vsync_len < 1)
406 var->vsync_len = 1;
412 acornfb_validate_timing(struct fb_var_screeninfo *var,
424 hs = 1953125000 / var->pixclock;
426 (var->xres + var->left_margin + var->right_margin + var->hsync_len);
428 (var->yres + var->upper_margin + var->lower_margin + var->vsync_len);
435 acornfb_update_dma(struct fb_info *info, struct fb_var_screeninfo *var)
437 u_int off = var->yoffset * info->fix.line_length;
447 acornfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
457 var->red.msb_right = 0;
458 var->green.msb_right = 0;
459 var->blue.msb_right = 0;
460 var->transp.msb_right = 0;
462 switch (var->bits_per_pixel) {
464 var->red.offset = 0;
465 var->red.length = var->bits_per_pixel;
466 var->green = var->red;
467 var->blue = var->red;
468 var->transp.offset = 0;
469 var->transp.length = 0;
474 var->red.offset = 0;
475 var->red.length = 5;
476 var->green.offset = 5;
477 var->green.length = 5;
478 var->blue.offset = 10;
479 var->blue.length = 5;
480 var->transp.offset = 15;
481 var->transp.length = 1;
485 var->red.offset = 0;
486 var->red.length = 8;
487 var->green.offset = 8;
488 var->green.length = 8;
489 var->blue.offset = 16;
490 var->blue.length = 8;
491 var->transp.offset = 24;
492 var->transp.length = 4;
502 if (!acornfb_valid_pixrate(var))
509 err = acornfb_adjust_timing(info, var, fontht);
517 return acornfb_validate_timing(var, &info->monspecs);
522 switch (info->var.bits_per_pixel) {
553 info->fix.line_length = (info->var.xres * info->var.bits_per_pixel) / 8;
584 acornfb_update_dma(info, &info->var);
591 acornfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
593 u_int y_bottom = var->yoffset;
595 if (!(var->vmode & FB_VMODE_YWRAP))
596 y_bottom += info->var.yres;
598 if (y_bottom > info->var.yres_virtual)
601 acornfb_update_dma(info, var);
710 memset(&fb_info.var, 0, sizeof(fb_info.var));
713 fb_info.var.red.length = 8;
714 fb_info.var.transp.length = 4;
716 fb_info.var.green = fb_info.var.red;
717 fb_info.var.blue = fb_info.var.red;
718 fb_info.var.nonstd = 0;
719 fb_info.var.activate = FB_ACTIVATE_NOW;
720 fb_info.var.height = -1;
721 fb_info.var.width = -1;
722 fb_info.var.vmode = FB_VMODE_NONINTERLACED;
723 fb_info.var.accel_flags = FB_ACCELF_TEXT;
788 fb_info.var.width = simple_strtoul(p + 1, &p, 0);
793 fb_info.var.height = simple_strtoul(p + 1, NULL, 0);
1024 rc = fb_find_mode(&fb_info.var, &fb_info, NULL, modedb,
1033 rc = fb_find_mode(&fb_info.var, &fb_info, NULL, NULL, 0,
1041 rc = fb_find_mode(&fb_info.var, &fb_info, NULL, modedb,
1047 rc = fb_find_mode(&fb_info.var, &fb_info, NULL, NULL, 0,
1060 h_sync = 1953125000 / fb_info.var.pixclock;
1061 h_sync = h_sync * 512 / (fb_info.var.xres + fb_info.var.left_margin +
1062 fb_info.var.right_margin + fb_info.var.hsync_len);
1063 v_sync = h_sync / (fb_info.var.yres + fb_info.var.upper_margin +
1064 fb_info.var.lower_margin + fb_info.var.vsync_len);
1069 VIDC_NAME, fb_info.var.xres, fb_info.var.yres,
1078 if (fb_set_var(&fb_info, &fb_info.var))