Lines Matching refs:var
375 static int cirrusfb_pan_display(struct fb_var_screeninfo *var,
472 static int cirrusfb_check_pixclock(struct fb_var_screeninfo *var, in cirrusfb_check_pixclock() argument
478 unsigned maxclockidx = var->bits_per_pixel >> 3; in cirrusfb_check_pixclock()
481 freq = PICOS2KHZ(var->pixclock ? : 1); in cirrusfb_check_pixclock()
489 var->pixclock = KHZ2PICOS(maxclock); in cirrusfb_check_pixclock()
491 while ((freq = PICOS2KHZ(var->pixclock)) > maxclock) in cirrusfb_check_pixclock()
492 var->pixclock++; in cirrusfb_check_pixclock()
500 if (var->bits_per_pixel == 8) { in cirrusfb_check_pixclock()
522 var->bits_per_pixel == 16) { in cirrusfb_check_pixclock()
529 static int cirrusfb_check_var(struct fb_var_screeninfo *var, in cirrusfb_check_var() argument
534 unsigned pixels = info->screen_size * 8 / var->bits_per_pixel; in cirrusfb_check_var()
537 switch (var->bits_per_pixel) { in cirrusfb_check_var()
539 var->red.offset = 0; in cirrusfb_check_var()
540 var->red.length = 1; in cirrusfb_check_var()
541 var->green = var->red; in cirrusfb_check_var()
542 var->blue = var->red; in cirrusfb_check_var()
546 var->red.offset = 0; in cirrusfb_check_var()
547 var->red.length = 8; in cirrusfb_check_var()
548 var->green = var->red; in cirrusfb_check_var()
549 var->blue = var->red; in cirrusfb_check_var()
553 var->red.offset = 11; in cirrusfb_check_var()
554 var->green.offset = 5; in cirrusfb_check_var()
555 var->blue.offset = 0; in cirrusfb_check_var()
556 var->red.length = 5; in cirrusfb_check_var()
557 var->green.length = 6; in cirrusfb_check_var()
558 var->blue.length = 5; in cirrusfb_check_var()
562 var->red.offset = 16; in cirrusfb_check_var()
563 var->green.offset = 8; in cirrusfb_check_var()
564 var->blue.offset = 0; in cirrusfb_check_var()
565 var->red.length = 8; in cirrusfb_check_var()
566 var->green.length = 8; in cirrusfb_check_var()
567 var->blue.length = 8; in cirrusfb_check_var()
572 "Unsupported bpp size: %d\n", var->bits_per_pixel); in cirrusfb_check_var()
576 if (var->xres_virtual < var->xres) in cirrusfb_check_var()
577 var->xres_virtual = var->xres; in cirrusfb_check_var()
579 if (var->yres_virtual == -1) { in cirrusfb_check_var()
580 var->yres_virtual = pixels / var->xres_virtual; in cirrusfb_check_var()
584 var->xres_virtual, var->yres_virtual); in cirrusfb_check_var()
586 if (var->yres_virtual < var->yres) in cirrusfb_check_var()
587 var->yres_virtual = var->yres; in cirrusfb_check_var()
589 if (var->xres_virtual * var->yres_virtual > pixels) { in cirrusfb_check_var()
592 var->xres_virtual, var->yres_virtual, in cirrusfb_check_var()
593 var->bits_per_pixel); in cirrusfb_check_var()
598 if (var->xoffset > var->xres_virtual - var->xres) in cirrusfb_check_var()
599 var->xoffset = var->xres_virtual - var->xres - 1; in cirrusfb_check_var()
600 if (var->yoffset > var->yres_virtual - var->yres) in cirrusfb_check_var()
601 var->yoffset = var->yres_virtual - var->yres - 1; in cirrusfb_check_var()
603 var->red.msb_right = in cirrusfb_check_var()
604 var->green.msb_right = in cirrusfb_check_var()
605 var->blue.msb_right = in cirrusfb_check_var()
606 var->transp.offset = in cirrusfb_check_var()
607 var->transp.length = in cirrusfb_check_var()
608 var->transp.msb_right = 0; in cirrusfb_check_var()
610 yres = var->yres; in cirrusfb_check_var()
611 if (var->vmode & FB_VMODE_DOUBLE) in cirrusfb_check_var()
613 else if (var->vmode & FB_VMODE_INTERLACED) in cirrusfb_check_var()
622 if (cirrusfb_check_pixclock(var, info)) in cirrusfb_check_var()
626 var->accel_flags = FB_ACCELF_TEXT; in cirrusfb_check_var()
660 struct fb_var_screeninfo *var = &info->var; in cirrusfb_set_par_foo() local
672 var->xres, var->yres, var->bits_per_pixel); in cirrusfb_set_par_foo()
674 switch (var->bits_per_pixel) { in cirrusfb_set_par_foo()
676 info->fix.line_length = var->xres_virtual / 8; in cirrusfb_set_par_foo()
681 info->fix.line_length = var->xres_virtual; in cirrusfb_set_par_foo()
687 info->fix.line_length = var->xres_virtual * in cirrusfb_set_par_foo()
688 var->bits_per_pixel >> 3; in cirrusfb_set_par_foo()
698 hsyncstart = var->xres + var->right_margin; in cirrusfb_set_par_foo()
699 hsyncend = hsyncstart + var->hsync_len; in cirrusfb_set_par_foo()
700 htotal = (hsyncend + var->left_margin) / 8; in cirrusfb_set_par_foo()
701 hdispend = var->xres / 8; in cirrusfb_set_par_foo()
705 vdispend = var->yres; in cirrusfb_set_par_foo()
706 vsyncstart = vdispend + var->lower_margin; in cirrusfb_set_par_foo()
707 vsyncend = vsyncstart + var->vsync_len; in cirrusfb_set_par_foo()
708 vtotal = vsyncend + var->upper_margin; in cirrusfb_set_par_foo()
710 if (var->vmode & FB_VMODE_DOUBLE) { in cirrusfb_set_par_foo()
715 } else if (var->vmode & FB_VMODE_INTERLACED) { in cirrusfb_set_par_foo()
756 dev_dbg(info->device, "CRT2: %d\n", var->xres / 8); in cirrusfb_set_par_foo()
757 vga_wcrt(regbase, VGA_CRTC_H_BLANK_START, var->xres / 8); in cirrusfb_set_par_foo()
797 if (var->vmode & FB_VMODE_DOUBLE) in cirrusfb_set_par_foo()
821 if (var->vmode & FB_VMODE_INTERLACED) in cirrusfb_set_par_foo()
835 freq = PICOS2KHZ(var->pixclock); in cirrusfb_set_par_foo()
836 if (var->bits_per_pixel == 24) in cirrusfb_set_par_foo()
913 if (var->vmode & FB_VMODE_INTERLACED) in cirrusfb_set_par_foo()
921 if (var->sync & FB_SYNC_HOR_HIGH_ACT) in cirrusfb_set_par_foo()
923 if (var->sync & FB_SYNC_VERT_HIGH_ACT) in cirrusfb_set_par_foo()
939 if (var->bits_per_pixel == 1) { in cirrusfb_set_par_foo()
1016 else if (var->bits_per_pixel == 8) { in cirrusfb_set_par_foo()
1085 else if (var->bits_per_pixel == 16) { in cirrusfb_set_par_foo()
1144 else if (var->bits_per_pixel == 24) { in cirrusfb_set_par_foo()
1201 var->bits_per_pixel); in cirrusfb_set_par_foo()
1286 red >>= (16 - info->var.red.length); in cirrusfb_setcolreg()
1287 green >>= (16 - info->var.green.length); in cirrusfb_setcolreg()
1288 blue >>= (16 - info->var.blue.length); in cirrusfb_setcolreg()
1292 v = (red << info->var.red.offset) | in cirrusfb_setcolreg()
1293 (green << info->var.green.offset) | in cirrusfb_setcolreg()
1294 (blue << info->var.blue.offset); in cirrusfb_setcolreg()
1300 if (info->var.bits_per_pixel == 8) in cirrusfb_setcolreg()
1312 static int cirrusfb_pan_display(struct fb_var_screeninfo *var, in cirrusfb_pan_display() argument
1322 if (var->vmode & FB_VMODE_YWRAP) in cirrusfb_pan_display()
1325 xoffset = var->xoffset * info->var.bits_per_pixel / 8; in cirrusfb_pan_display()
1327 base = var->yoffset * info->fix.line_length + xoffset; in cirrusfb_pan_display()
1329 if (info->var.bits_per_pixel == 1) { in cirrusfb_pan_display()
1331 xpix = (unsigned char) (var->xoffset % 8); in cirrusfb_pan_display()
1370 if (info->var.bits_per_pixel == 1) in cirrusfb_pan_display()
1735 int m = info->var.bits_per_pixel; in cirrusfb_fillrect()
1746 vxres = info->var.xres_virtual; in cirrusfb_fillrect()
1747 vyres = info->var.yres_virtual; in cirrusfb_fillrect()
1761 info->var.bits_per_pixel, in cirrusfb_fillrect()
1774 int m = info->var.bits_per_pixel; in cirrusfb_copyarea()
1783 vxres = info->var.xres_virtual; in cirrusfb_copyarea()
1784 vyres = info->var.yres_virtual; in cirrusfb_copyarea()
1801 cirrusfb_BitBLT(cinfo->regbase, info->var.bits_per_pixel, in cirrusfb_copyarea()
1813 unsigned char op = (info->var.bits_per_pixel == 24) ? 0xc : 0x4; in cirrusfb_imageblit()
1825 int m = info->var.bits_per_pixel; in cirrusfb_imageblit()
1828 if (info->var.bits_per_pixel == 8) { in cirrusfb_imageblit()
1835 if (info->var.bits_per_pixel == 24) { in cirrusfb_imageblit()
1838 info->var.bits_per_pixel, in cirrusfb_imageblit()
1846 info->var.bits_per_pixel, in cirrusfb_imageblit()
1976 struct fb_var_screeninfo *var = &info->var; in cirrusfb_set_fbinfo() local
1994 if (var->bits_per_pixel == 16) in cirrusfb_set_fbinfo()
1996 if (var->bits_per_pixel == 32) in cirrusfb_set_fbinfo()
2007 if (var->bits_per_pixel == 1) in cirrusfb_set_fbinfo()
2035 err = fb_find_mode(&info->var, info, mode_option, NULL, 0, NULL, 8); in cirrusfb_register()
2042 info->var.activate = FB_ACTIVATE_NOW; in cirrusfb_register()
2044 err = cirrusfb_check_var(&info->var, info); in cirrusfb_register()