Lines Matching refs:var

435 static int tdfxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
440 if (var->bits_per_pixel != 8 && var->bits_per_pixel != 16 &&
441 var->bits_per_pixel != 24 && var->bits_per_pixel != 32) {
442 DPRINTK("depth not supported: %u\n", var->bits_per_pixel);
446 if (var->xres != var->xres_virtual)
447 var->xres_virtual = var->xres;
449 if (var->yres > var->yres_virtual)
450 var->yres_virtual = var->yres;
452 if (var->xoffset) {
456 var->yoffset = 0;
464 if (((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) &&
471 info->monspecs.dclkmax && fb_validate_mode(var, info) < 0) {
476 var->xres = (var->xres + 15) & ~15; /* could sometimes be 8 */
477 lpitch = var->xres * ((var->bits_per_pixel + 7) >> 3);
479 if (var->xres < 320 || var->xres > 2048) {
480 DPRINTK("width not supported: %u\n", var->xres);
484 if (var->yres < 200 || var->yres > 2048) {
485 DPRINTK("height not supported: %u\n", var->yres);
489 if (lpitch * var->yres_virtual > info->fix.smem_len) {
490 var->yres_virtual = info->fix.smem_len / lpitch;
491 if (var->yres_virtual < var->yres) {
493 var->xres, var->yres_virtual,
494 var->bits_per_pixel);
499 if (PICOS2KHZ(var->pixclock) > par->max_pixclock) {
501 PICOS2KHZ(var->pixclock));
505 var->transp.offset = 0;
506 var->transp.length = 0;
507 switch (var->bits_per_pixel) {
509 var->red.length = 8;
510 var->red.offset = 0;
511 var->green = var->red;
512 var->blue = var->red;
515 var->red.offset = 11;
516 var->red.length = 5;
517 var->green.offset = 5;
518 var->green.length = 6;
519 var->blue.offset = 0;
520 var->blue.length = 5;
523 var->transp.offset = 24;
524 var->transp.length = 8;
527 var->red.offset = 16;
528 var->green.offset = 8;
529 var->blue.offset = 0;
530 var->red.length = var->green.length = var->blue.length = 8;
533 var->width = -1;
534 var->height = -1;
536 var->accel_flags = FB_ACCELF_TEXT;
539 var->xres, var->yres, var->bits_per_pixel);
546 u32 hdispend = info->var.xres;
547 u32 hsyncsta = hdispend + info->var.right_margin;
548 u32 hsyncend = hsyncsta + info->var.hsync_len;
549 u32 htotal = hsyncend + info->var.left_margin;
555 u32 cpp = (info->var.bits_per_pixel + 7) >> 3;
565 freq = PICOS2KHZ(info->var.pixclock);
587 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_DOUBLE) {
588 vd = (info->var.yres << 1) - 1;
589 vs = vd + (info->var.lower_margin << 1);
590 ve = vs + (info->var.vsync_len << 1);
591 vt = ve + (info->var.upper_margin << 1) - 1;
592 reg.screensize = info->var.xres | (info->var.yres << 13);
596 vd = info->var.yres - 1;
597 vs = vd + info->var.lower_margin;
598 ve = vs + info->var.vsync_len;
599 vt = ve + info->var.upper_margin - 1;
600 reg.screensize = info->var.xres | (info->var.yres << 12);
608 (info->var.xres < 400 ? 0xa0 :
609 info->var.xres < 480 ? 0x60 :
610 info->var.xres < 768 ? 0xe0 : 0x20);
693 reg.stride = info->var.xres * cpp;
694 reg.startaddr = info->var.yoffset * reg.stride
695 + info->var.xoffset * cpp;
703 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED)
708 switch (info->var.bits_per_pixel) {
728 info->fix.visual = (info->var.bits_per_pixel == 8)
732 info->var.xres, info->var.yres, info->var.bits_per_pixel);
750 if (info->var.grayscale) {
767 rgbcol = (CNVT_TOHW(red, info->var.red.length) <<
768 info->var.red.offset) |
769 (CNVT_TOHW(green, info->var.green.length) <<
770 info->var.green.offset) |
771 (CNVT_TOHW(blue, info->var.blue.length) <<
772 info->var.blue.offset) |
773 (CNVT_TOHW(transp, info->var.transp.length) <<
774 info->var.transp.offset);
780 DPRINTK("bad depth %u\n", info->var.bits_per_pixel);
823 * Set the starting position of the visible screen to var->yoffset
825 static int tdfxfb_pan_display(struct fb_var_screeninfo *var,
829 u32 addr = var->yoffset * info->fix.line_length;
831 if (nopan || var->xoffset)
848 u32 bpp = info->var.bits_per_pixel;
892 u32 bpp = info->var.bits_per_pixel;
951 u32 bpp = info->var.bits_per_pixel;
1088 int y = cursor->image.dy - info->var.yoffset;
1485 info->var.bits_per_pixel = 8;
1501 fb_videomode_to_var(&info->var, m);
1502 /* fill all other info->var's fields */
1503 if (tdfxfb_check_var(&info->var, info) < 0)
1504 info->var = tdfx_var;
1515 err = fb_find_mode(&info->var, info, mode_option,
1517 NULL, info->var.bits_per_pixel);
1519 info->var = tdfx_var;
1528 lpitch = info->var.xres_virtual * ((info->var.bits_per_pixel + 7) >> 3);
1529 info->var.yres_virtual = info->fix.smem_len / lpitch;
1530 if (info->var.yres_virtual < info->var.yres)