Lines Matching defs:var

203  * Set screen start address according to var offset values
417 * This routine takes a user-supplied var, and picks the best vmode/cmode
421 static int control_var_to_par(struct fb_var_screeninfo *var,
432 switch (var->bits_per_pixel) {
478 par->xres = (var->xres + hstep) & ~hstep;
479 par->vxres = (var->xres_virtual + hstep) & ~hstep;
480 par->xoffset = (var->xoffset + hstep) & ~hstep;
485 par->yres = var->yres;
486 par->vyres = var->yres_virtual;
487 par->yoffset = var->yoffset;
491 par->sync = var->sync;
501 pixclock = (var->pixclock < CONTROL_PIXCLOCK_MIN)? CONTROL_PIXCLOCK_MIN:
502 var->pixclock;
506 hperiod = ((var->left_margin + par->xres + var->right_margin
507 + var->hsync_len) >> 1) - 2;
509 hsblank = hssync - (var->right_margin >> 1);
510 hesync = (var->hsync_len >> 1) - 1;
511 heblank = (var->left_margin >> 1) + hesync;
513 heq = var->hsync_len >> 2;
516 vperiod = (var->vsync_len + var->lower_margin + par->yres
517 + var->upper_margin) << 1;
519 vesync = (var->vsync_len << 1) - vperiod + vssync;
520 veblank = (var->upper_margin << 1) + vesync;
521 vsblank = vssync - (var->lower_margin << 1);
547 if (mac_var_to_vmode(var, &par->vmode, &cmode))
558 static void control_par_to_var(struct fb_par_control *par, struct fb_var_screeninfo *var)
564 memset(var, 0, sizeof(*var));
565 var->xres = par->xres;
566 var->yres = par->yres;
567 var->xres_virtual = par->vxres;
568 var->yres_virtual = par->vyres;
569 var->xoffset = par->xoffset;
570 var->yoffset = par->yoffset;
575 var->bits_per_pixel = 8;
576 var->red.length = 8;
577 var->green.length = 8;
578 var->blue.length = 8;
581 var->bits_per_pixel = 16;
582 var->red.offset = 10;
583 var->red.length = 5;
584 var->green.offset = 5;
585 var->green.length = 5;
586 var->blue.length = 5;
589 var->bits_per_pixel = 32;
590 var->red.offset = 16;
591 var->red.length = 8;
592 var->green.offset = 8;
593 var->green.length = 8;
594 var->blue.length = 8;
595 var->transp.offset = 24;
596 var->transp.length = 8;
599 var->height = -1;
600 var->width = -1;
601 var->vmode = FB_VMODE_NONINTERLACED;
603 var->left_margin = (rv->heblank - rv->hesync) << 1;
604 var->right_margin = (rv->hssync - rv->hsblank) << 1;
605 var->hsync_len = (rv->hperiod + 2 - rv->hssync + rv->hesync) << 1;
607 var->upper_margin = (rv->veblank - rv->vesync) >> 1;
608 var->lower_margin = (rv->vssync - rv->vsblank) >> 1;
609 var->vsync_len = (rv->vperiod - rv->vssync + rv->vesync) >> 1;
611 var->sync = par->sync;
620 var->pixclock = CONTROL_PIXCLOCK_BASE * par->regvals.clock_params[0];
621 var->pixclock /= par->regvals.clock_params[1];
622 var->pixclock >>= par->regvals.clock_params[2];
628 * Checks a var structure
630 static int controlfb_check_var (struct fb_var_screeninfo *var, struct fb_info *info)
635 err = control_var_to_par(var, &par, info);
638 control_par_to_var(&par, var);
644 * Applies current var to display
653 if((err = control_var_to_par(&info->var, &par, info))) {
670 static int controlfb_pan_display(struct fb_var_screeninfo *var,
682 xoffset = (var->xoffset + hstep) & ~hstep;
685 var->yoffset+par->yres > par->vyres)
688 set_screen_start(xoffset, var->yoffset, p);
742 if (info->var.accel_flags)
840 struct fb_var_screeninfo var;
870 /* Setup default var */
871 if (mac_vmode_to_var(vmode, cmode, &var) < 0) {
877 if (mac_vmode_to_var(vmode, cmode, &var) < 0) {
885 vyres = (p->total_vram - CTRLFB_OFF) / (var.xres << cmode);
886 if (vyres > var.yres)
887 var.yres_virtual = vyres;
889 /* Apply default var */
890 var.activate = FB_ACTIVATE_NOW;
891 rc = fb_set_var(&p->info, &var);