Lines Matching refs:var

376 static int cirrusfb_pan_display(struct fb_var_screeninfo *var,
473 static int cirrusfb_check_pixclock(struct fb_var_screeninfo *var,
479 unsigned maxclockidx = var->bits_per_pixel >> 3;
482 freq = PICOS2KHZ(var->pixclock ? : 1);
490 var->pixclock = KHZ2PICOS(maxclock);
492 while ((freq = PICOS2KHZ(var->pixclock)) > maxclock)
493 var->pixclock++;
501 if (var->bits_per_pixel == 8) {
523 var->bits_per_pixel == 16) {
530 static int cirrusfb_check_var(struct fb_var_screeninfo *var,
538 switch (var->bits_per_pixel) {
540 var->red.offset = 0;
541 var->red.length = 1;
542 var->green = var->red;
543 var->blue = var->red;
547 var->red.offset = 0;
548 var->red.length = 8;
549 var->green = var->red;
550 var->blue = var->red;
554 var->red.offset = 11;
555 var->green.offset = 5;
556 var->blue.offset = 0;
557 var->red.length = 5;
558 var->green.length = 6;
559 var->blue.length = 5;
563 var->red.offset = 16;
564 var->green.offset = 8;
565 var->blue.offset = 0;
566 var->red.length = 8;
567 var->green.length = 8;
568 var->blue.length = 8;
573 "Unsupported bpp size: %d\n", var->bits_per_pixel);
577 pixels = info->screen_size * 8 / var->bits_per_pixel;
578 if (var->xres_virtual < var->xres)
579 var->xres_virtual = var->xres;
581 if (var->yres_virtual == -1) {
582 var->yres_virtual = pixels / var->xres_virtual;
586 var->xres_virtual, var->yres_virtual);
588 if (var->yres_virtual < var->yres)
589 var->yres_virtual = var->yres;
591 if (var->xres_virtual * var->yres_virtual > pixels) {
594 var->xres_virtual, var->yres_virtual,
595 var->bits_per_pixel);
600 if (var->xoffset > var->xres_virtual - var->xres)
601 var->xoffset = var->xres_virtual - var->xres - 1;
602 if (var->yoffset > var->yres_virtual - var->yres)
603 var->yoffset = var->yres_virtual - var->yres - 1;
605 var->red.msb_right =
606 var->green.msb_right =
607 var->blue.msb_right =
608 var->transp.offset =
609 var->transp.length =
610 var->transp.msb_right = 0;
612 yres = var->yres;
613 if (var->vmode & FB_VMODE_DOUBLE)
615 else if (var->vmode & FB_VMODE_INTERLACED)
624 if (cirrusfb_check_pixclock(var, info))
628 var->accel_flags = FB_ACCELF_TEXT;
662 struct fb_var_screeninfo *var = &info->var;
674 var->xres, var->yres, var->bits_per_pixel);
676 switch (var->bits_per_pixel) {
678 info->fix.line_length = var->xres_virtual / 8;
683 info->fix.line_length = var->xres_virtual;
689 info->fix.line_length = var->xres_virtual *
690 var->bits_per_pixel >> 3;
700 hsyncstart = var->xres + var->right_margin;
701 hsyncend = hsyncstart + var->hsync_len;
702 htotal = (hsyncend + var->left_margin) / 8;
703 hdispend = var->xres / 8;
707 vdispend = var->yres;
708 vsyncstart = vdispend + var->lower_margin;
709 vsyncend = vsyncstart + var->vsync_len;
710 vtotal = vsyncend + var->upper_margin;
712 if (var->vmode & FB_VMODE_DOUBLE) {
717 } else if (var->vmode & FB_VMODE_INTERLACED) {
758 dev_dbg(info->device, "CRT2: %d\n", var->xres / 8);
759 vga_wcrt(regbase, VGA_CRTC_H_BLANK_START, var->xres / 8);
799 if (var->vmode & FB_VMODE_DOUBLE)
823 if (var->vmode & FB_VMODE_INTERLACED)
837 freq = PICOS2KHZ(var->pixclock);
838 if (var->bits_per_pixel == 24)
915 if (var->vmode & FB_VMODE_INTERLACED)
923 if (var->sync & FB_SYNC_HOR_HIGH_ACT)
925 if (var->sync & FB_SYNC_VERT_HIGH_ACT)
941 if (var->bits_per_pixel == 1) {
1018 else if (var->bits_per_pixel == 8) {
1087 else if (var->bits_per_pixel == 16) {
1146 else if (var->bits_per_pixel == 24) {
1203 var->bits_per_pixel);
1255 if (var->vmode & FB_VMODE_CLOCK_HALVE)
1288 red >>= (16 - info->var.red.length);
1289 green >>= (16 - info->var.green.length);
1290 blue >>= (16 - info->var.blue.length);
1294 v = (red << info->var.red.offset) |
1295 (green << info->var.green.offset) |
1296 (blue << info->var.blue.offset);
1302 if (info->var.bits_per_pixel == 8)
1314 static int cirrusfb_pan_display(struct fb_var_screeninfo *var,
1324 if (var->vmode & FB_VMODE_YWRAP)
1327 xoffset = var->xoffset * info->var.bits_per_pixel / 8;
1329 base = var->yoffset * info->fix.line_length + xoffset;
1331 if (info->var.bits_per_pixel == 1) {
1333 xpix = (unsigned char) (var->xoffset % 8);
1372 if (info->var.bits_per_pixel == 1)
1737 int m = info->var.bits_per_pixel;
1748 vxres = info->var.xres_virtual;
1749 vyres = info->var.yres_virtual;
1763 info->var.bits_per_pixel,
1776 int m = info->var.bits_per_pixel;
1785 vxres = info->var.xres_virtual;
1786 vyres = info->var.yres_virtual;
1803 cirrusfb_BitBLT(cinfo->regbase, info->var.bits_per_pixel,
1815 unsigned char op = (info->var.bits_per_pixel == 24) ? 0xc : 0x4;
1827 int m = info->var.bits_per_pixel;
1830 if (info->var.bits_per_pixel == 8) {
1837 if (info->var.bits_per_pixel == 24) {
1840 info->var.bits_per_pixel,
1848 info->var.bits_per_pixel,
1978 struct fb_var_screeninfo *var = &info->var;
1995 if (var->bits_per_pixel == 16)
1997 if (var->bits_per_pixel == 32)
2008 if (var->bits_per_pixel == 1)
2036 err = fb_find_mode(&info->var, info, mode_option, NULL, 0, NULL, 8);
2043 info->var.activate = FB_ACTIVATE_NOW;
2045 err = cirrusfb_check_var(&info->var, info);
2049 "choking on default var... umm, no good.\n");