Lines Matching refs:var
405 static void vmlfb_set_pref_pixel_format(struct fb_var_screeninfo *var)
407 switch (var->bits_per_pixel) {
409 var->blue.offset = 0;
410 var->blue.length = 5;
411 var->green.offset = 5;
412 var->green.length = 5;
413 var->red.offset = 10;
414 var->red.length = 5;
415 var->transp.offset = 15;
416 var->transp.length = 1;
419 var->blue.offset = 0;
420 var->blue.length = 8;
421 var->green.offset = 8;
422 var->green.length = 8;
423 var->red.offset = 16;
424 var->red.length = 8;
425 var->transp.offset = 24;
426 var->transp.length = 0;
432 var->blue.msb_right = var->green.msb_right =
433 var->red.msb_right = var->transp.msb_right = 0;
507 info->var.grayscale = 0;
508 info->var.bits_per_pixel = 16;
509 vmlfb_set_pref_pixel_format(&info->var);
512 (&info->var, info, vml_default_mode, NULL, 0, &defaultmode, 16)) {
585 static int vmlfb_check_var_locked(struct fb_var_screeninfo *var,
595 v = *var;
596 clock = PICOS2KHZ(var->pixclock);
619 if (var->xres > VML_MAX_XRES || var->yres > VML_MAX_YRES) {
623 if (var->xres_virtual > VML_MAX_XRES_VIRTUAL) {
637 var->bits_per_pixel);
641 pitch = ALIGN((var->xres * var->bits_per_pixel) >> 3, 0x40);
642 mem = (u64)pitch * var->yres_virtual;
649 if (var->blue.offset != 0 ||
650 var->blue.length != 5 ||
651 var->green.offset != 5 ||
652 var->green.length != 5 ||
653 var->red.offset != 10 ||
654 var->red.length != 5 ||
655 var->transp.offset != 15 || var->transp.length != 1) {
660 if (var->blue.offset != 0 ||
661 var->blue.length != 8 ||
662 var->green.offset != 8 ||
663 var->green.length != 8 ||
664 var->red.offset != 16 ||
665 var->red.length != 8 ||
666 (var->transp.length != 0 && var->transp.length != 8) ||
667 (var->transp.length == 8 && var->transp.offset != 24)) {
675 *var = v;
680 static int vmlfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
686 ret = vmlfb_check_var_locked(var, vinfo);
768 struct fb_var_screeninfo *var = &info->var;
774 vinfo->bytes_per_pixel = var->bits_per_pixel >> 3;
775 vinfo->stride = ALIGN(var->xres_virtual * vinfo->bytes_per_pixel, 0x40);
782 var->xres + var->right_margin + var->hsync_len + var->left_margin;
783 hactive = var->xres;
784 hblank_start = var->xres;
786 hsync_start = hactive + var->right_margin;
787 hsync_end = hsync_start + var->hsync_len;
790 var->yres + var->lower_margin + var->vsync_len + var->upper_margin;
791 vactive = var->yres;
792 vblank_start = var->yres;
794 vsync_start = vactive + var->lower_margin;
795 vsync_end = vsync_start + var->vsync_len;
798 clock = PICOS2KHZ(var->pixclock);
809 switch (var->bits_per_pixel) {
814 if (var->transp.length == 8)
843 ((var->yres - 1) << 16) | (var->xres - 1));
849 ((var->xres - 1) << 16) | (var->yres - 1));
857 var->yoffset * vinfo->stride +
858 var->xoffset * vinfo->bytes_per_pixel);
936 static int vmlfb_pan_display(struct fb_var_screeninfo *var,
944 var->yoffset * vinfo->stride +
945 var->xoffset * vinfo->bytes_per_pixel);
960 if (info->var.grayscale) {
967 red = VML_TOHW(red, info->var.red.length);
968 blue = VML_TOHW(blue, info->var.blue.length);
969 green = VML_TOHW(green, info->var.green.length);
970 transp = VML_TOHW(transp, info->var.transp.length);
972 v = (red << info->var.red.offset) |
973 (green << info->var.green.offset) |
974 (blue << info->var.blue.offset) |
975 (transp << info->var.transp.offset);
977 switch (info->var.bits_per_pixel) {
1098 if (!vmlfb_check_var_locked(&entry->info.var, entry)) {
1109 save_activate = entry->info.var.activate;
1110 entry->info.var.bits_per_pixel = 16;
1111 vmlfb_set_pref_pixel_format(&entry->info.var);
1112 if (fb_find_mode(&entry->info.var,
1115 entry->info.var.activate |=
1117 fb_set_var(&entry->info, &entry->info.var);
1122 entry->info.var.activate = save_activate;