Lines Matching defs:var

95 static int i810fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info);
865 * @var: pointer to fb_var_screeninfo structure
868 * @var contains user-defined information for the mode to be set.
872 static void i810_round_off(struct fb_var_screeninfo *var)
880 xres = var->xres;
881 yres = var->yres;
882 vxres = var->xres_virtual;
883 vyres = var->yres_virtual;
885 var->bits_per_pixel += 7;
886 var->bits_per_pixel &= ~7;
888 if (var->bits_per_pixel < 8)
889 var->bits_per_pixel = 8;
890 if (var->bits_per_pixel > 32)
891 var->bits_per_pixel = 32;
912 if (var->bits_per_pixel == 32)
913 var->accel_flags = 0;
916 var->left_margin = (var->left_margin + 4) & ~7;
917 var->right_margin = (var->right_margin + 4) & ~7;
918 var->hsync_len = (var->hsync_len + 4) & ~7;
920 if (var->vmode & FB_VMODE_INTERLACED) {
921 if (!((yres + var->upper_margin + var->vsync_len +
922 var->lower_margin) & 1))
923 var->upper_margin++;
926 var->xres = xres;
927 var->yres = yres;
928 var->xres_virtual = vxres;
929 var->yres_virtual = vyres;
934 * @var: pointer to fb_var_screeninfo
941 static void set_color_bitfields(struct fb_var_screeninfo *var)
943 switch (var->bits_per_pixel) {
945 var->red.offset = 0;
946 var->red.length = 8;
947 var->green.offset = 0;
948 var->green.length = 8;
949 var->blue.offset = 0;
950 var->blue.length = 8;
951 var->transp.offset = 0;
952 var->transp.length = 0;
955 var->green.length = (var->green.length == 5) ? 5 : 6;
956 var->red.length = 5;
957 var->blue.length = 5;
958 var->transp.length = 6 - var->green.length;
959 var->blue.offset = 0;
960 var->green.offset = 5;
961 var->red.offset = 5 + var->green.length;
962 var->transp.offset = (5 + var->red.offset) & 15;
966 var->red.offset = 16;
967 var->red.length = 8;
968 var->green.offset = 8;
969 var->green.length = 8;
970 var->blue.offset = 0;
971 var->blue.length = 8;
972 var->transp.length = var->bits_per_pixel - 24;
973 var->transp.offset = (var->transp.length) ? 24 : 0;
976 var->red.msb_right = 0;
977 var->green.msb_right = 0;
978 var->blue.msb_right = 0;
979 var->transp.msb_right = 0;
983 * i810_check_params - check if contents in var are valid
984 * @var: pointer to fb_var_screeninfo
992 static int i810_check_params(struct fb_var_screeninfo *var,
997 u32 vyres = var->yres_virtual, vxres = var->xres_virtual;
1002 line_length = get_line_length(par, vxres, var->bits_per_pixel);
1007 if (vyres < var->yres) {
1008 vyres = info->var.yres;
1010 vxres /= var->bits_per_pixel >> 3;
1012 var->bits_per_pixel);
1013 vidmem = line_length * info->var.yres;
1014 if (vxres < var->xres) {
1019 var->bits_per_pixel);
1025 var->xres_virtual = vxres;
1026 var->yres_virtual = vyres;
1031 switch (var->bits_per_pixel) {
1046 if (!fb_validate_mode(var, info))
1051 !fb_get_mode(FB_MAXTIMINGS, 0, var, info))
1057 mode = fb_find_best_mode(var, &info->modelist);
1059 fb_videomode_to_var(var, mode);
1065 if (fb_get_mode(FB_MAXTIMINGS, 0, var, info)) {
1104 switch (info->var.bits_per_pixel) {
1111 if (info->var.nonstd)
1129 * decode_var - modify par according to contents of var
1130 * @var: pointer to fb_var_screeninfo
1134 * Based on the contents of @var, @par will be dynamically filled up.
1137 static void decode_var(const struct fb_var_screeninfo *var,
1142 xres = var->xres;
1143 yres = var->yres;
1144 vxres = var->xres_virtual;
1145 vyres = var->yres_virtual;
1147 switch (var->bits_per_pixel) {
1155 if (var->green.length == 5)
1176 if (var->nonstd && var->bits_per_pixel != 8)
1179 i810_calc_dclk(var->pixclock, &par->regs.M,
1181 i810fb_encode_registers(var, par, xres, yres);
1183 par->watermark = i810_get_watermark(var, par);
1184 par->pitch = get_line_length(par, vxres, var->bits_per_pixel);
1208 if ((info->var.green.length == 5 && regno > 31) ||
1209 (info->var.green.length == 6 && regno > 63))
1217 info->var.green.length == 5)
1221 info->var.green.length == 6) {
1294 if ((info->var.green.length == 5 && regno > 31) ||
1295 (info->var.green.length == 6 && regno > 63))
1299 if (info->var.grayscale)
1307 info->var.green.length == 5) {
1312 info->var.green.length == 6) {
1333 switch (info->var.bits_per_pixel) {
1336 if (info->var.green.length == 5)
1345 if (info->var.green.length == 5) {
1377 static int i810fb_pan_display(struct fb_var_screeninfo *var,
1383 total = var->xoffset * par->depth +
1384 var->yoffset * info->fix.line_length;
1439 decode_var(&info->var, par);
1444 if (info->var.accel_flags && !(par->dev_flags & LOCKUP)) {
1456 static int i810fb_check_var(struct fb_var_screeninfo *var,
1462 var->vmode &= ~FB_VMODE_MASK;
1463 var->vmode |= FB_VMODE_NONINTERLACED;
1465 if (var->vmode & FB_VMODE_DOUBLE) {
1466 var->vmode &= ~FB_VMODE_MASK;
1467 var->vmode |= FB_VMODE_NONINTERLACED;
1470 i810_round_off(var);
1471 if ((err = i810_check_params(var, info)))
1474 i810fb_fill_var_timings(var);
1475 set_color_bitfields(var);
1500 tmp = (cursor->image.dx - info->var.xoffset) & 0xffff;
1501 tmp |= (cursor->image.dy - info->var.yoffset) << 16;
1790 info->var.xres = xres;
1792 info->var.xres = 640;
1795 info->var.yres = yres;
1797 info->var.yres = 480;
1800 vyres = (vram << 20)/(info->var.xres*bpp >> 3);
1802 info->var.yres_virtual = vyres;
1803 info->var.bits_per_pixel = bpp;
1806 info->var.nonstd = 1;
1809 info->var.accel_flags = 1;
1902 struct fb_var_screeninfo var;
1913 var = info->var;
1937 if ((m = fb_find_best_mode(&var, &info->modelist))) {
1949 fb_videomode_to_var(&var, &mode);
1953 fb_find_mode(&var, info, mode_option, specs->modedb,
1955 info->var.bits_per_pixel);
1957 info->var = var;
2062 if ((err = info->fbops->fb_check_var(&info->var, info))) {
2067 fb_var_to_videomode(&mode, &info->var);
2080 pixclock = 1000000000/(info->var.pixclock);
2082 hfreq = pixclock/(info->var.xres + info->var.left_margin +
2083 info->var.hsync_len + info->var.right_margin);
2084 vfreq = hfreq/(info->var.yres + info->var.upper_margin +
2085 info->var.vsync_len + info->var.lower_margin);
2096 info->monspecs.vfmax, info->var.xres,
2097 info->var.yres, info->var.bits_per_pixel, vfreq);