Lines Matching refs:var
685 bpp = info->var.bits_per_pixel; in riva_load_video_mode()
686 if (bpp == 16 && info->var.green.length == 5) in riva_load_video_mode()
688 width = info->var.xres_virtual; in riva_load_video_mode()
689 hDisplaySize = info->var.xres; in riva_load_video_mode()
691 hStart = (hDisplaySize + info->var.right_margin) / 8 - 1; in riva_load_video_mode()
692 hEnd = (hDisplaySize + info->var.right_margin + in riva_load_video_mode()
693 info->var.hsync_len) / 8 - 1; in riva_load_video_mode()
694 hTotal = (hDisplaySize + info->var.right_margin + in riva_load_video_mode()
695 info->var.hsync_len + info->var.left_margin) / 8 - 5; in riva_load_video_mode()
699 height = info->var.yres_virtual; in riva_load_video_mode()
700 vDisplay = info->var.yres - 1; in riva_load_video_mode()
701 vStart = info->var.yres + info->var.lower_margin - 1; in riva_load_video_mode()
702 vEnd = info->var.yres + info->var.lower_margin + in riva_load_video_mode()
703 info->var.vsync_len - 1; in riva_load_video_mode()
704 vTotal = info->var.yres + info->var.lower_margin + in riva_load_video_mode()
705 info->var.vsync_len + info->var.upper_margin + 2; in riva_load_video_mode()
708 dotClock = 1000000000 / info->var.pixclock; in riva_load_video_mode()
712 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) in riva_load_video_mode()
764 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) { in riva_load_video_mode()
774 if (info->var.sync & FB_SYNC_HOR_HIGH_ACT) in riva_load_video_mode()
778 if (info->var.sync & FB_SYNC_VERT_HIGH_ACT) in riva_load_video_mode()
826 static void riva_update_var(struct fb_var_screeninfo *var, in riva_update_var() argument
830 var->xres = var->xres_virtual = modedb->xres; in riva_update_var()
831 var->yres = modedb->yres; in riva_update_var()
832 if (var->yres_virtual < var->yres) in riva_update_var()
833 var->yres_virtual = var->yres; in riva_update_var()
834 var->xoffset = var->yoffset = 0; in riva_update_var()
835 var->pixclock = modedb->pixclock; in riva_update_var()
836 var->left_margin = modedb->left_margin; in riva_update_var()
837 var->right_margin = modedb->right_margin; in riva_update_var()
838 var->upper_margin = modedb->upper_margin; in riva_update_var()
839 var->lower_margin = modedb->lower_margin; in riva_update_var()
840 var->hsync_len = modedb->hsync_len; in riva_update_var()
841 var->vsync_len = modedb->vsync_len; in riva_update_var()
842 var->sync = modedb->sync; in riva_update_var()
843 var->vmode = modedb->vmode; in riva_update_var()
865 struct fb_var_screeninfo *var, in rivafb_do_maximize() argument
882 if (var->xres_virtual == -1 && var->yres_virtual == -1) { in rivafb_do_maximize()
896 var->xres_virtual = modes[i].xres; in rivafb_do_maximize()
897 var->yres_virtual = modes[i].yres; in rivafb_do_maximize()
901 var->xres_virtual, var->yres_virtual); in rivafb_do_maximize()
902 } else if (var->xres_virtual == -1) { in rivafb_do_maximize()
903 var->xres_virtual = (info->fix.smem_len * den / in rivafb_do_maximize()
904 (nom * var->yres_virtual)) & ~15; in rivafb_do_maximize()
906 "setting virtual X resolution to %d\n", var->xres_virtual); in rivafb_do_maximize()
907 } else if (var->yres_virtual == -1) { in rivafb_do_maximize()
908 var->xres_virtual = (var->xres_virtual + 15) & ~15; in rivafb_do_maximize()
909 var->yres_virtual = info->fix.smem_len * den / in rivafb_do_maximize()
910 (nom * var->xres_virtual); in rivafb_do_maximize()
912 "setting virtual Y resolution to %d\n", var->yres_virtual); in rivafb_do_maximize()
914 var->xres_virtual = (var->xres_virtual + 15) & ~15; in rivafb_do_maximize()
915 if (var->xres_virtual * nom / den * var->yres_virtual > info->fix.smem_len) { in rivafb_do_maximize()
918 var->xres, var->yres, var->bits_per_pixel); in rivafb_do_maximize()
924 if (var->xres_virtual * nom / den >= 8192) { in rivafb_do_maximize()
927 var->xres_virtual, 8192 * den / nom - 16); in rivafb_do_maximize()
928 var->xres_virtual = 8192 * den / nom - 16; in rivafb_do_maximize()
931 if (var->xres_virtual < var->xres) { in rivafb_do_maximize()
933 "virtual X resolution (%d) is smaller than real\n", var->xres_virtual); in rivafb_do_maximize()
937 if (var->yres_virtual < var->yres) { in rivafb_do_maximize()
939 "virtual Y resolution (%d) is smaller than real\n", var->yres_virtual); in rivafb_do_maximize()
942 if (var->yres_virtual > 0x7fff/nom) in rivafb_do_maximize()
943 var->yres_virtual = 0x7fff/nom; in rivafb_do_maximize()
944 if (var->xres_virtual > 0x7fff/nom) in rivafb_do_maximize()
945 var->xres_virtual = 0x7fff/nom; in rivafb_do_maximize()
985 (info->var.xres_virtual & 0xffff) | in riva_setup_accel()
986 (info->var.yres_virtual << 16)); in riva_setup_accel()
1004 static int riva_get_cmap_len(const struct fb_var_screeninfo *var) in riva_get_cmap_len() argument
1008 switch (var->green.length) { in riva_get_cmap_len()
1083 static int rivafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) in rivafb_check_var() argument
1091 switch (var->bits_per_pixel) { in rivafb_check_var()
1093 var->red.offset = var->green.offset = var->blue.offset = 0; in rivafb_check_var()
1094 var->red.length = var->green.length = var->blue.length = 8; in rivafb_check_var()
1095 var->bits_per_pixel = 8; in rivafb_check_var()
1099 var->green.length = 5; in rivafb_check_var()
1102 var->bits_per_pixel = 16; in rivafb_check_var()
1105 var->green.length = 5; in rivafb_check_var()
1106 if (var->green.length == 5) { in rivafb_check_var()
1108 var->red.offset = 10; in rivafb_check_var()
1109 var->green.offset = 5; in rivafb_check_var()
1110 var->blue.offset = 0; in rivafb_check_var()
1111 var->red.length = 5; in rivafb_check_var()
1112 var->green.length = 5; in rivafb_check_var()
1113 var->blue.length = 5; in rivafb_check_var()
1116 var->red.offset = 11; in rivafb_check_var()
1117 var->green.offset = 5; in rivafb_check_var()
1118 var->blue.offset = 0; in rivafb_check_var()
1119 var->red.length = 5; in rivafb_check_var()
1120 var->green.length = 6; in rivafb_check_var()
1121 var->blue.length = 5; in rivafb_check_var()
1127 var->red.length = var->green.length = var->blue.length = 8; in rivafb_check_var()
1128 var->bits_per_pixel = 32; in rivafb_check_var()
1129 var->red.offset = 16; in rivafb_check_var()
1130 var->green.offset = 8; in rivafb_check_var()
1131 var->blue.offset = 0; in rivafb_check_var()
1138 var->xres, var->yres, var->bits_per_pixel); in rivafb_check_var()
1145 !info->monspecs.dclkmax || !fb_validate_mode(var, info)) in rivafb_check_var()
1151 if (!fb_get_mode(FB_MAXTIMINGS, 0, var, info)) in rivafb_check_var()
1156 mode = fb_find_best_mode(var, &info->modelist); in rivafb_check_var()
1158 riva_update_var(var, mode); in rivafb_check_var()
1166 if (var->xres_virtual < var->xres) in rivafb_check_var()
1167 var->xres_virtual = var->xres; in rivafb_check_var()
1168 if (var->yres_virtual <= var->yres) in rivafb_check_var()
1169 var->yres_virtual = -1; in rivafb_check_var()
1170 if (rivafb_do_maximize(info, var, nom, den) < 0) in rivafb_check_var()
1174 if (var->xoffset > var->xres_virtual - var->xres) in rivafb_check_var()
1175 var->xoffset = var->xres_virtual - var->xres - 1; in rivafb_check_var()
1177 if (var->yoffset > var->yres_virtual - var->yres) in rivafb_check_var()
1178 var->yoffset = var->yres_virtual - var->yres - 1; in rivafb_check_var()
1180 var->red.msb_right = in rivafb_check_var()
1181 var->green.msb_right = in rivafb_check_var()
1182 var->blue.msb_right = in rivafb_check_var()
1183 var->transp.offset = var->transp.length = var->transp.msb_right = 0; in rivafb_check_var()
1204 info->fix.line_length = (info->var.xres_virtual * (info->var.bits_per_pixel >> 3)); in rivafb_set_par()
1205 info->fix.visual = (info->var.bits_per_pixel == 8) ? in rivafb_set_par()
1231 static int rivafb_pan_display(struct fb_var_screeninfo *var, in rivafb_pan_display() argument
1238 base = var->yoffset * info->fix.line_length + var->xoffset; in rivafb_pan_display()
1307 if (regno >= riva_get_cmap_len(&info->var)) in rivafb_setcolreg()
1310 if (info->var.grayscale) { in rivafb_setcolreg()
1318 (regno << info->var.red.offset) | in rivafb_setcolreg()
1319 (regno << info->var.green.offset) | in rivafb_setcolreg()
1320 (regno << info->var.blue.offset); in rivafb_setcolreg()
1326 switch (info->var.bits_per_pixel) { in rivafb_setcolreg()
1341 switch (info->var.bits_per_pixel) { in rivafb_setcolreg()
1347 if (info->var.green.length == 5) { in rivafb_setcolreg()
1400 if (info->var.bits_per_pixel == 8) in rivafb_fillrect()
1505 switch (info->var.bits_per_pixel) { in rivafb_imageblit()
1519 if (info->var.green.length == 6) in rivafb_imageblit()
1600 yy = cursor->image.dy - info->var.yoffset; in rivafb_cursor()
1601 xx = cursor->image.dx - info->var.xoffset; in rivafb_cursor()
1711 info->var = rivafb_default_var; in riva_set_fbinfo()
1712 info->fix.visual = (info->var.bits_per_pixel == 8) ? in riva_set_fbinfo()
1717 cmap_len = riva_get_cmap_len(&info->var); in riva_set_fbinfo()
1724 info->var.yres_virtual = -1; in riva_set_fbinfo()
1726 return (rivafb_check_var(&info->var, info)); in riva_set_fbinfo()
1764 struct fb_var_screeninfo var; in riva_get_EDID_i2c() local
1773 if (par->EDID && !fb_parse_edid(par->EDID, &var)) { in riva_get_EDID_i2c()
1784 static void riva_update_default_var(struct fb_var_screeninfo *var, in riva_update_default_var() argument
1793 fb_find_mode(var, info, mode_option, in riva_update_default_var()
1810 var->bits_per_pixel = 8; in riva_update_default_var()
1811 riva_update_var(var, &modedb); in riva_update_default_var()
1836 struct fb_var_screeninfo *var = &rivafb_default_var; in riva_get_edidinfo() local
1842 riva_update_default_var(var, info); in riva_get_edidinfo()