Lines Matching refs:var
36 struct fb_var_screeninfo var;
456 static int compute_gbe_timing(struct fb_var_screeninfo *var,
481 error = var->pixclock - pixclock;
506 timing->width = var->xres;
507 timing->height = var->yres;
513 timing->htotal = var->left_margin + var->xres +
514 var->right_margin + var->hsync_len;
515 timing->vtotal = var->upper_margin + var->yres +
516 var->lower_margin + var->vsync_len;
519 timing->hblank_start = var->xres;
520 timing->vblank_start = var->yres;
522 timing->hsync_start = var->xres + var->right_margin + 1;
523 timing->hsync_end = timing->hsync_start + var->hsync_len;
525 timing->vsync_start = var->yres + var->lower_margin + 1;
526 timing->vsync_end = timing->vsync_start + var->vsync_len;
651 compute_gbe_timing(&info->var, &par->timing);
653 bytesPerPixel = info->var.bits_per_pixel / 8;
654 info->fix.line_length = info->var.xres_virtual * bytesPerPixel;
819 struct fb_var_screeninfo *var)
828 switch (var->bits_per_pixel) {
839 fix->line_length = var->xres_virtual * var->bits_per_pixel / 8;
847 * entries in the var structure). Return != 0 for invalid regno.
862 if (info->var.bits_per_pixel <= 8) {
875 switch (info->var.bits_per_pixel) {
882 (red << info->var.red.offset) |
883 (green << info->var.green.offset) |
884 (blue << info->var.blue.offset);
888 (red << info->var.red.offset) |
889 (green << info->var.green.offset) |
890 (blue << info->var.blue.offset);
899 * Check video mode validity, eventually modify var to best match.
901 static int gbefb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
908 if (var->bits_per_pixel <= 8)
909 var->bits_per_pixel = 8;
910 else if (var->bits_per_pixel <= 16)
911 var->bits_per_pixel = 16;
912 else if (var->bits_per_pixel <= 32)
913 var->bits_per_pixel = 32;
919 if ((var->xres * var->yres * var->bits_per_pixel) & 4095)
922 var->grayscale = 0; /* No grayscale for now */
924 ret = compute_gbe_timing(var, &timing);
925 var->pixclock = ret;
930 if (var->xres > var->xres_virtual || (!ywrap && !ypan))
931 var->xres_virtual = var->xres;
932 if (var->yres > var->yres_virtual || (!ywrap && !ypan))
933 var->yres_virtual = var->yres;
935 if (var->vmode & FB_VMODE_CONUPDATE) {
936 var->vmode |= FB_VMODE_YWRAP;
937 var->xoffset = info->var.xoffset;
938 var->yoffset = info->var.yoffset;
942 var->grayscale = 0;
945 line_length = var->xres_virtual * var->bits_per_pixel / 8;
946 if (line_length * var->yres_virtual > gbe_mem_size)
949 switch (var->bits_per_pixel) {
951 var->red.offset = 0;
952 var->red.length = 8;
953 var->green.offset = 0;
954 var->green.length = 8;
955 var->blue.offset = 0;
956 var->blue.length = 8;
957 var->transp.offset = 0;
958 var->transp.length = 0;
961 var->red.offset = 10;
962 var->red.length = 5;
963 var->green.offset = 5;
964 var->green.length = 5;
965 var->blue.offset = 0;
966 var->blue.length = 5;
967 var->transp.offset = 0;
968 var->transp.length = 0;
971 var->red.offset = 24;
972 var->red.length = 8;
973 var->green.offset = 16;
974 var->green.length = 8;
975 var->blue.offset = 8;
976 var->blue.length = 8;
977 var->transp.offset = 0;
978 var->transp.length = 8;
981 var->red.msb_right = 0;
982 var->green.msb_right = 0;
983 var->blue.msb_right = 0;
984 var->transp.msb_right = 0;
986 var->left_margin = timing.htotal - timing.hsync_end;
987 var->right_margin = timing.hsync_start - timing.width;
988 var->upper_margin = timing.vtotal - timing.vsync_end;
989 var->lower_margin = timing.vsync_start - timing.height;
990 var->hsync_len = timing.hsync_end - timing.hsync_start;
991 var->vsync_len = timing.vsync_end - timing.vsync_start;
1212 if (fb_find_mode(&par->var, info, mode_option, NULL, 0,
1214 par->var = *default_var;
1215 info->var = par->var;
1216 gbefb_check_var(&par->var, info);
1217 gbefb_encode_fix(&info->fix, &info->var);