Lines Matching refs:var

690 	bpp = info->var.bits_per_pixel;  in riva_load_video_mode()
691 if (bpp == 16 && info->var.green.length == 5) in riva_load_video_mode()
693 width = info->var.xres_virtual; in riva_load_video_mode()
694 hDisplaySize = info->var.xres; in riva_load_video_mode()
696 hStart = (hDisplaySize + info->var.right_margin) / 8 - 1; in riva_load_video_mode()
697 hEnd = (hDisplaySize + info->var.right_margin + in riva_load_video_mode()
698 info->var.hsync_len) / 8 - 1; in riva_load_video_mode()
699 hTotal = (hDisplaySize + info->var.right_margin + in riva_load_video_mode()
700 info->var.hsync_len + info->var.left_margin) / 8 - 5; in riva_load_video_mode()
704 height = info->var.yres_virtual; in riva_load_video_mode()
705 vDisplay = info->var.yres - 1; in riva_load_video_mode()
706 vStart = info->var.yres + info->var.lower_margin - 1; in riva_load_video_mode()
707 vEnd = info->var.yres + info->var.lower_margin + in riva_load_video_mode()
708 info->var.vsync_len - 1; in riva_load_video_mode()
709 vTotal = info->var.yres + info->var.lower_margin + in riva_load_video_mode()
710 info->var.vsync_len + info->var.upper_margin + 2; in riva_load_video_mode()
713 dotClock = 1000000000 / info->var.pixclock; in riva_load_video_mode()
717 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) in riva_load_video_mode()
769 if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) { in riva_load_video_mode()
779 if (info->var.sync & FB_SYNC_HOR_HIGH_ACT) in riva_load_video_mode()
783 if (info->var.sync & FB_SYNC_VERT_HIGH_ACT) in riva_load_video_mode()
831 static void riva_update_var(struct fb_var_screeninfo *var, in riva_update_var() argument
835 var->xres = var->xres_virtual = modedb->xres; in riva_update_var()
836 var->yres = modedb->yres; in riva_update_var()
837 if (var->yres_virtual < var->yres) in riva_update_var()
838 var->yres_virtual = var->yres; in riva_update_var()
839 var->xoffset = var->yoffset = 0; in riva_update_var()
840 var->pixclock = modedb->pixclock; in riva_update_var()
841 var->left_margin = modedb->left_margin; in riva_update_var()
842 var->right_margin = modedb->right_margin; in riva_update_var()
843 var->upper_margin = modedb->upper_margin; in riva_update_var()
844 var->lower_margin = modedb->lower_margin; in riva_update_var()
845 var->hsync_len = modedb->hsync_len; in riva_update_var()
846 var->vsync_len = modedb->vsync_len; in riva_update_var()
847 var->sync = modedb->sync; in riva_update_var()
848 var->vmode = modedb->vmode; in riva_update_var()
870 struct fb_var_screeninfo *var, in rivafb_do_maximize() argument
887 if (var->xres_virtual == -1 && var->yres_virtual == -1) { in rivafb_do_maximize()
901 var->xres_virtual = modes[i].xres; in rivafb_do_maximize()
902 var->yres_virtual = modes[i].yres; in rivafb_do_maximize()
906 var->xres_virtual, var->yres_virtual); in rivafb_do_maximize()
907 } else if (var->xres_virtual == -1) { in rivafb_do_maximize()
908 var->xres_virtual = (info->fix.smem_len * den / in rivafb_do_maximize()
909 (nom * var->yres_virtual)) & ~15; in rivafb_do_maximize()
911 "setting virtual X resolution to %d\n", var->xres_virtual); in rivafb_do_maximize()
912 } else if (var->yres_virtual == -1) { in rivafb_do_maximize()
913 var->xres_virtual = (var->xres_virtual + 15) & ~15; in rivafb_do_maximize()
914 var->yres_virtual = info->fix.smem_len * den / in rivafb_do_maximize()
915 (nom * var->xres_virtual); in rivafb_do_maximize()
917 "setting virtual Y resolution to %d\n", var->yres_virtual); in rivafb_do_maximize()
919 var->xres_virtual = (var->xres_virtual + 15) & ~15; in rivafb_do_maximize()
920 if (var->xres_virtual * nom / den * var->yres_virtual > info->fix.smem_len) { in rivafb_do_maximize()
923 var->xres, var->yres, var->bits_per_pixel); in rivafb_do_maximize()
929 if (var->xres_virtual * nom / den >= 8192) { in rivafb_do_maximize()
932 var->xres_virtual, 8192 * den / nom - 16); in rivafb_do_maximize()
933 var->xres_virtual = 8192 * den / nom - 16; in rivafb_do_maximize()
936 if (var->xres_virtual < var->xres) { in rivafb_do_maximize()
938 "virtual X resolution (%d) is smaller than real\n", var->xres_virtual); in rivafb_do_maximize()
942 if (var->yres_virtual < var->yres) { in rivafb_do_maximize()
944 "virtual Y resolution (%d) is smaller than real\n", var->yres_virtual); in rivafb_do_maximize()
947 if (var->yres_virtual > 0x7fff/nom) in rivafb_do_maximize()
948 var->yres_virtual = 0x7fff/nom; in rivafb_do_maximize()
949 if (var->xres_virtual > 0x7fff/nom) in rivafb_do_maximize()
950 var->xres_virtual = 0x7fff/nom; in rivafb_do_maximize()
990 (info->var.xres_virtual & 0xffff) | in riva_setup_accel()
991 (info->var.yres_virtual << 16)); in riva_setup_accel()
1009 static int riva_get_cmap_len(const struct fb_var_screeninfo *var) in riva_get_cmap_len() argument
1013 switch (var->green.length) { in riva_get_cmap_len()
1088 static int rivafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) in rivafb_check_var() argument
1096 switch (var->bits_per_pixel) { in rivafb_check_var()
1098 var->red.offset = var->green.offset = var->blue.offset = 0; in rivafb_check_var()
1099 var->red.length = var->green.length = var->blue.length = 8; in rivafb_check_var()
1100 var->bits_per_pixel = 8; in rivafb_check_var()
1104 var->green.length = 5; in rivafb_check_var()
1107 var->bits_per_pixel = 16; in rivafb_check_var()
1110 var->green.length = 5; in rivafb_check_var()
1111 if (var->green.length == 5) { in rivafb_check_var()
1113 var->red.offset = 10; in rivafb_check_var()
1114 var->green.offset = 5; in rivafb_check_var()
1115 var->blue.offset = 0; in rivafb_check_var()
1116 var->red.length = 5; in rivafb_check_var()
1117 var->green.length = 5; in rivafb_check_var()
1118 var->blue.length = 5; in rivafb_check_var()
1121 var->red.offset = 11; in rivafb_check_var()
1122 var->green.offset = 5; in rivafb_check_var()
1123 var->blue.offset = 0; in rivafb_check_var()
1124 var->red.length = 5; in rivafb_check_var()
1125 var->green.length = 6; in rivafb_check_var()
1126 var->blue.length = 5; in rivafb_check_var()
1132 var->red.length = var->green.length = var->blue.length = 8; in rivafb_check_var()
1133 var->bits_per_pixel = 32; in rivafb_check_var()
1134 var->red.offset = 16; in rivafb_check_var()
1135 var->green.offset = 8; in rivafb_check_var()
1136 var->blue.offset = 0; in rivafb_check_var()
1143 var->xres, var->yres, var->bits_per_pixel); in rivafb_check_var()
1150 !info->monspecs.dclkmax || !fb_validate_mode(var, info)) in rivafb_check_var()
1156 if (!fb_get_mode(FB_MAXTIMINGS, 0, var, info)) in rivafb_check_var()
1161 mode = fb_find_best_mode(var, &info->modelist); in rivafb_check_var()
1163 riva_update_var(var, mode); in rivafb_check_var()
1171 if (var->xres_virtual < var->xres) in rivafb_check_var()
1172 var->xres_virtual = var->xres; in rivafb_check_var()
1173 if (var->yres_virtual <= var->yres) in rivafb_check_var()
1174 var->yres_virtual = -1; in rivafb_check_var()
1175 if (rivafb_do_maximize(info, var, nom, den) < 0) in rivafb_check_var()
1179 if (var->xoffset > var->xres_virtual - var->xres) in rivafb_check_var()
1180 var->xoffset = var->xres_virtual - var->xres - 1; in rivafb_check_var()
1182 if (var->yoffset > var->yres_virtual - var->yres) in rivafb_check_var()
1183 var->yoffset = var->yres_virtual - var->yres - 1; in rivafb_check_var()
1185 var->red.msb_right = in rivafb_check_var()
1186 var->green.msb_right = in rivafb_check_var()
1187 var->blue.msb_right = in rivafb_check_var()
1188 var->transp.offset = var->transp.length = var->transp.msb_right = 0; in rivafb_check_var()
1209 info->fix.line_length = (info->var.xres_virtual * (info->var.bits_per_pixel >> 3)); in rivafb_set_par()
1210 info->fix.visual = (info->var.bits_per_pixel == 8) ? in rivafb_set_par()
1236 static int rivafb_pan_display(struct fb_var_screeninfo *var, in rivafb_pan_display() argument
1243 base = var->yoffset * info->fix.line_length + var->xoffset; in rivafb_pan_display()
1312 if (regno >= riva_get_cmap_len(&info->var)) in rivafb_setcolreg()
1315 if (info->var.grayscale) { in rivafb_setcolreg()
1323 (regno << info->var.red.offset) | in rivafb_setcolreg()
1324 (regno << info->var.green.offset) | in rivafb_setcolreg()
1325 (regno << info->var.blue.offset); in rivafb_setcolreg()
1331 switch (info->var.bits_per_pixel) { in rivafb_setcolreg()
1346 switch (info->var.bits_per_pixel) { in rivafb_setcolreg()
1352 if (info->var.green.length == 5) { in rivafb_setcolreg()
1405 if (info->var.bits_per_pixel == 8) in rivafb_fillrect()
1510 switch (info->var.bits_per_pixel) { in rivafb_imageblit()
1524 if (info->var.green.length == 6) in rivafb_imageblit()
1605 yy = cursor->image.dy - info->var.yoffset; in rivafb_cursor()
1606 xx = cursor->image.dx - info->var.xoffset; in rivafb_cursor()
1716 info->var = rivafb_default_var; in riva_set_fbinfo()
1717 info->fix.visual = (info->var.bits_per_pixel == 8) ? in riva_set_fbinfo()
1722 cmap_len = riva_get_cmap_len(&info->var); in riva_set_fbinfo()
1729 info->var.yres_virtual = -1; in riva_set_fbinfo()
1731 return (rivafb_check_var(&info->var, info)); in riva_set_fbinfo()
1769 struct fb_var_screeninfo var; in riva_get_EDID_i2c() local
1778 if (par->EDID && !fb_parse_edid(par->EDID, &var)) { in riva_get_EDID_i2c()
1789 static void riva_update_default_var(struct fb_var_screeninfo *var, in riva_update_default_var() argument
1798 fb_find_mode(var, info, mode_option, in riva_update_default_var()
1815 var->bits_per_pixel = 8; in riva_update_default_var()
1816 riva_update_var(var, &modedb); in riva_update_default_var()
1841 struct fb_var_screeninfo *var = &rivafb_default_var; in riva_get_edidinfo() local
1847 riva_update_default_var(var, info); in riva_get_edidinfo()