Lines Matching refs:var

406 static void vmlfb_set_pref_pixel_format(struct fb_var_screeninfo *var)
408 switch (var->bits_per_pixel) {
410 var->blue.offset = 0;
411 var->blue.length = 5;
412 var->green.offset = 5;
413 var->green.length = 5;
414 var->red.offset = 10;
415 var->red.length = 5;
416 var->transp.offset = 15;
417 var->transp.length = 1;
420 var->blue.offset = 0;
421 var->blue.length = 8;
422 var->green.offset = 8;
423 var->green.length = 8;
424 var->red.offset = 16;
425 var->red.length = 8;
426 var->transp.offset = 24;
427 var->transp.length = 0;
433 var->blue.msb_right = var->green.msb_right =
434 var->red.msb_right = var->transp.msb_right = 0;
512 info->var.grayscale = 0;
513 info->var.bits_per_pixel = 16;
514 vmlfb_set_pref_pixel_format(&info->var);
517 (&info->var, info, vml_default_mode, NULL, 0, &defaultmode, 16)) {
590 static int vmlfb_check_var_locked(struct fb_var_screeninfo *var,
600 v = *var;
601 clock = PICOS2KHZ(var->pixclock);
624 if (var->xres > VML_MAX_XRES || var->yres > VML_MAX_YRES) {
628 if (var->xres_virtual > VML_MAX_XRES_VIRTUAL) {
642 var->bits_per_pixel);
646 pitch = ALIGN((var->xres * var->bits_per_pixel) >> 3, 0x40);
647 mem = (u64)pitch * var->yres_virtual;
654 if (var->blue.offset != 0 ||
655 var->blue.length != 5 ||
656 var->green.offset != 5 ||
657 var->green.length != 5 ||
658 var->red.offset != 10 ||
659 var->red.length != 5 ||
660 var->transp.offset != 15 || var->transp.length != 1) {
665 if (var->blue.offset != 0 ||
666 var->blue.length != 8 ||
667 var->green.offset != 8 ||
668 var->green.length != 8 ||
669 var->red.offset != 16 ||
670 var->red.length != 8 ||
671 (var->transp.length != 0 && var->transp.length != 8) ||
672 (var->transp.length == 8 && var->transp.offset != 24)) {
680 *var = v;
685 static int vmlfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
691 ret = vmlfb_check_var_locked(var, vinfo);
773 struct fb_var_screeninfo *var = &info->var;
779 vinfo->bytes_per_pixel = var->bits_per_pixel >> 3;
780 vinfo->stride = ALIGN(var->xres_virtual * vinfo->bytes_per_pixel, 0x40);
787 var->xres + var->right_margin + var->hsync_len + var->left_margin;
788 hactive = var->xres;
789 hblank_start = var->xres;
791 hsync_start = hactive + var->right_margin;
792 hsync_end = hsync_start + var->hsync_len;
795 var->yres + var->lower_margin + var->vsync_len + var->upper_margin;
796 vactive = var->yres;
797 vblank_start = var->yres;
799 vsync_start = vactive + var->lower_margin;
800 vsync_end = vsync_start + var->vsync_len;
803 clock = PICOS2KHZ(var->pixclock);
814 switch (var->bits_per_pixel) {
819 if (var->transp.length == 8)
848 ((var->yres - 1) << 16) | (var->xres - 1));
854 ((var->xres - 1) << 16) | (var->yres - 1));
862 var->yoffset * vinfo->stride +
863 var->xoffset * vinfo->bytes_per_pixel);
941 static int vmlfb_pan_display(struct fb_var_screeninfo *var,
949 var->yoffset * vinfo->stride +
950 var->xoffset * vinfo->bytes_per_pixel);
965 if (info->var.grayscale) {
972 red = VML_TOHW(red, info->var.red.length);
973 blue = VML_TOHW(blue, info->var.blue.length);
974 green = VML_TOHW(green, info->var.green.length);
975 transp = VML_TOHW(transp, info->var.transp.length);
977 v = (red << info->var.red.offset) |
978 (green << info->var.green.offset) |
979 (blue << info->var.blue.offset) |
980 (transp << info->var.transp.offset);
982 switch (info->var.bits_per_pixel) {
1108 if (!vmlfb_check_var_locked(&entry->info.var, entry)) {
1119 save_activate = entry->info.var.activate;
1120 entry->info.var.bits_per_pixel = 16;
1121 vmlfb_set_pref_pixel_format(&entry->info.var);
1122 if (fb_find_mode(&entry->info.var,
1125 entry->info.var.activate |=
1127 fb_set_var(&entry->info, &entry->info.var);
1132 entry->info.var.activate = save_activate;