Lines Matching refs:var

435 static int tdfxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)  in tdfxfb_check_var()  argument
440 if (var->bits_per_pixel != 8 && var->bits_per_pixel != 16 && in tdfxfb_check_var()
441 var->bits_per_pixel != 24 && var->bits_per_pixel != 32) { in tdfxfb_check_var()
442 DPRINTK("depth not supported: %u\n", var->bits_per_pixel); in tdfxfb_check_var()
446 if (var->xres != var->xres_virtual) in tdfxfb_check_var()
447 var->xres_virtual = var->xres; in tdfxfb_check_var()
449 if (var->yres > var->yres_virtual) in tdfxfb_check_var()
450 var->yres_virtual = var->yres; in tdfxfb_check_var()
452 if (var->xoffset) { in tdfxfb_check_var()
456 var->yoffset = 0; in tdfxfb_check_var()
464 if (((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) && in tdfxfb_check_var()
471 info->monspecs.dclkmax && fb_validate_mode(var, info) < 0) { in tdfxfb_check_var()
476 var->xres = (var->xres + 15) & ~15; /* could sometimes be 8 */ in tdfxfb_check_var()
477 lpitch = var->xres * ((var->bits_per_pixel + 7) >> 3); in tdfxfb_check_var()
479 if (var->xres < 320 || var->xres > 2048) { in tdfxfb_check_var()
480 DPRINTK("width not supported: %u\n", var->xres); in tdfxfb_check_var()
484 if (var->yres < 200 || var->yres > 2048) { in tdfxfb_check_var()
485 DPRINTK("height not supported: %u\n", var->yres); in tdfxfb_check_var()
489 if (lpitch * var->yres_virtual > info->fix.smem_len) { in tdfxfb_check_var()
490 var->yres_virtual = info->fix.smem_len / lpitch; in tdfxfb_check_var()
491 if (var->yres_virtual < var->yres) { in tdfxfb_check_var()
493 var->xres, var->yres_virtual, in tdfxfb_check_var()
494 var->bits_per_pixel); in tdfxfb_check_var()
499 if (PICOS2KHZ(var->pixclock) > par->max_pixclock) { in tdfxfb_check_var()
501 PICOS2KHZ(var->pixclock)); in tdfxfb_check_var()
505 var->transp.offset = 0; in tdfxfb_check_var()
506 var->transp.length = 0; in tdfxfb_check_var()
507 switch (var->bits_per_pixel) { in tdfxfb_check_var()
509 var->red.length = 8; in tdfxfb_check_var()
510 var->red.offset = 0; in tdfxfb_check_var()
511 var->green = var->red; in tdfxfb_check_var()
512 var->blue = var->red; in tdfxfb_check_var()
515 var->red.offset = 11; in tdfxfb_check_var()
516 var->red.length = 5; in tdfxfb_check_var()
517 var->green.offset = 5; in tdfxfb_check_var()
518 var->green.length = 6; in tdfxfb_check_var()
519 var->blue.offset = 0; in tdfxfb_check_var()
520 var->blue.length = 5; in tdfxfb_check_var()
523 var->transp.offset = 24; in tdfxfb_check_var()
524 var->transp.length = 8; in tdfxfb_check_var()
526 var->red.offset = 16; in tdfxfb_check_var()
527 var->green.offset = 8; in tdfxfb_check_var()
528 var->blue.offset = 0; in tdfxfb_check_var()
529 var->red.length = var->green.length = var->blue.length = 8; in tdfxfb_check_var()
532 var->width = -1; in tdfxfb_check_var()
533 var->height = -1; in tdfxfb_check_var()
535 var->accel_flags = FB_ACCELF_TEXT; in tdfxfb_check_var()
538 var->xres, var->yres, var->bits_per_pixel); in tdfxfb_check_var()
545 u32 hdispend = info->var.xres; in tdfxfb_set_par()
546 u32 hsyncsta = hdispend + info->var.right_margin; in tdfxfb_set_par()
547 u32 hsyncend = hsyncsta + info->var.hsync_len; in tdfxfb_set_par()
548 u32 htotal = hsyncend + info->var.left_margin; in tdfxfb_set_par()
554 u32 cpp = (info->var.bits_per_pixel + 7) >> 3; in tdfxfb_set_par()
564 freq = PICOS2KHZ(info->var.pixclock); in tdfxfb_set_par()
586 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_DOUBLE) { in tdfxfb_set_par()
587 vd = (info->var.yres << 1) - 1; in tdfxfb_set_par()
588 vs = vd + (info->var.lower_margin << 1); in tdfxfb_set_par()
589 ve = vs + (info->var.vsync_len << 1); in tdfxfb_set_par()
590 vt = ve + (info->var.upper_margin << 1) - 1; in tdfxfb_set_par()
591 reg.screensize = info->var.xres | (info->var.yres << 13); in tdfxfb_set_par()
595 vd = info->var.yres - 1; in tdfxfb_set_par()
596 vs = vd + info->var.lower_margin; in tdfxfb_set_par()
597 ve = vs + info->var.vsync_len; in tdfxfb_set_par()
598 vt = ve + info->var.upper_margin - 1; in tdfxfb_set_par()
599 reg.screensize = info->var.xres | (info->var.yres << 12); in tdfxfb_set_par()
607 (info->var.xres < 400 ? 0xa0 : in tdfxfb_set_par()
608 info->var.xres < 480 ? 0x60 : in tdfxfb_set_par()
609 info->var.xres < 768 ? 0xe0 : 0x20); in tdfxfb_set_par()
692 reg.stride = info->var.xres * cpp; in tdfxfb_set_par()
693 reg.startaddr = info->var.yoffset * reg.stride in tdfxfb_set_par()
694 + info->var.xoffset * cpp; in tdfxfb_set_par()
702 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) in tdfxfb_set_par()
707 switch (info->var.bits_per_pixel) { in tdfxfb_set_par()
727 info->fix.visual = (info->var.bits_per_pixel == 8) in tdfxfb_set_par()
731 info->var.xres, info->var.yres, info->var.bits_per_pixel); in tdfxfb_set_par()
749 if (info->var.grayscale) { in tdfxfb_setcolreg()
766 rgbcol = (CNVT_TOHW(red, info->var.red.length) << in tdfxfb_setcolreg()
767 info->var.red.offset) | in tdfxfb_setcolreg()
768 (CNVT_TOHW(green, info->var.green.length) << in tdfxfb_setcolreg()
769 info->var.green.offset) | in tdfxfb_setcolreg()
770 (CNVT_TOHW(blue, info->var.blue.length) << in tdfxfb_setcolreg()
771 info->var.blue.offset) | in tdfxfb_setcolreg()
772 (CNVT_TOHW(transp, info->var.transp.length) << in tdfxfb_setcolreg()
773 info->var.transp.offset); in tdfxfb_setcolreg()
779 DPRINTK("bad depth %u\n", info->var.bits_per_pixel); in tdfxfb_setcolreg()
824 static int tdfxfb_pan_display(struct fb_var_screeninfo *var, in tdfxfb_pan_display() argument
828 u32 addr = var->yoffset * info->fix.line_length; in tdfxfb_pan_display()
830 if (nopan || var->xoffset) in tdfxfb_pan_display()
847 u32 bpp = info->var.bits_per_pixel; in tdfxfb_fillrect()
891 u32 bpp = info->var.bits_per_pixel; in tdfxfb_copyarea()
950 u32 bpp = info->var.bits_per_pixel; in tdfxfb_imageblit()
1087 int y = cursor->image.dy - info->var.yoffset; in tdfxfb_cursor()
1480 info->var.bits_per_pixel = 8; in tdfxfb_probe()
1496 fb_videomode_to_var(&info->var, m); in tdfxfb_probe()
1498 if (tdfxfb_check_var(&info->var, info) < 0) in tdfxfb_probe()
1499 info->var = tdfx_var; in tdfxfb_probe()
1510 err = fb_find_mode(&info->var, info, mode_option, in tdfxfb_probe()
1512 NULL, info->var.bits_per_pixel); in tdfxfb_probe()
1514 info->var = tdfx_var; in tdfxfb_probe()
1523 lpitch = info->var.xres_virtual * ((info->var.bits_per_pixel + 7) >> 3); in tdfxfb_probe()
1524 info->var.yres_virtual = info->fix.smem_len / lpitch; in tdfxfb_probe()
1525 if (info->var.yres_virtual < info->var.yres) in tdfxfb_probe()