Lines Matching full:var

49  * Complain if VAR is out of range.
266 static int imxfb_activate_var(struct fb_var_screeninfo *var,
317 if (info->var.grayscale)
330 val = chan_to_field(red, &info->var.red);
331 val |= chan_to_field(green, &info->var.green);
332 val |= chan_to_field(blue, &info->var.blue);
369 static int imxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
378 if (var->xres < MIN_XRES)
379 var->xres = MIN_XRES;
380 if (var->yres < MIN_YRES)
381 var->yres = MIN_YRES;
387 var->xres = imxfb_mode->mode.xres;
388 var->yres = imxfb_mode->mode.yres;
389 var->bits_per_pixel = imxfb_mode->bpp;
390 var->pixclock = imxfb_mode->mode.pixclock;
391 var->hsync_len = imxfb_mode->mode.hsync_len;
392 var->left_margin = imxfb_mode->mode.left_margin;
393 var->right_margin = imxfb_mode->mode.right_margin;
394 var->vsync_len = imxfb_mode->mode.vsync_len;
395 var->upper_margin = imxfb_mode->mode.upper_margin;
396 var->lower_margin = imxfb_mode->mode.lower_margin;
397 var->sync = imxfb_mode->mode.sync;
398 var->xres_virtual = max(var->xres_virtual, var->xres);
399 var->yres_virtual = max(var->yres_virtual, var->yres);
401 pr_debug("var->bits_per_pixel=%d\n", var->bits_per_pixel);
405 tmp = var->pixclock * (unsigned long long)lcd_clk;
420 switch (var->bits_per_pixel) {
464 var->red = rgb->red;
465 var->green = rgb->green;
466 var->blue = rgb->blue;
467 var->transp = rgb->transp;
470 var->red.length, var->green.length, var->blue.length,
471 var->transp.length);
474 var->red.offset, var->green.offset, var->blue.offset,
475 var->transp.offset);
487 struct fb_var_screeninfo *var = &info->var;
489 if (var->bits_per_pixel == 16 || var->bits_per_pixel == 32)
502 info->fix.line_length = var->xres_virtual * var->bits_per_pixel / 8;
503 fbi->palette_size = var->bits_per_pixel == 8 ? 256 : 16;
505 imxfb_activate_var(var, info);
605 * Configures LCD Controller based on entries in var parameter. Settings are
608 static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *info)
614 pr_debug("var: xres=%d hslen=%d lm=%d rm=%d\n",
615 var->xres, var->hsync_len,
616 var->left_margin, var->right_margin);
617 pr_debug("var: yres=%d vslen=%d um=%d bm=%d\n",
618 var->yres, var->vsync_len,
619 var->upper_margin, var->lower_margin);
629 if (var->xres < 16 || var->xres > 1024)
631 info->fix.id, var->xres);
632 if (var->hsync_len < 1 || var->hsync_len > 64)
634 info->fix.id, var->hsync_len);
635 if (var->left_margin < left_margin_low || var->left_margin > 255)
637 info->fix.id, var->left_margin);
638 if (var->right_margin < 1 || var->right_margin > 255)
640 info->fix.id, var->right_margin);
641 if (var->yres < 1 || var->yres > ymax_mask)
643 info->fix.id, var->yres);
644 if (var->vsync_len > 100)
646 info->fix.id, var->vsync_len);
647 if (var->upper_margin > 63)
649 info->fix.id, var->upper_margin);
650 if (var->lower_margin > 255)
652 info->fix.id, var->lower_margin);
657 var->xres * var->bits_per_pixel / 8 / 4),
660 writel(FIELD_PREP(HCR_H_WIDTH_MASK, var->hsync_len - 1) |
661 FIELD_PREP(HCR_H_WAIT_1_MASK, var->right_margin - 1) |
663 var->left_margin - left_margin_low),
666 writel(FIELD_PREP(VCR_V_WIDTH_MASK, var->vsync_len) |
667 FIELD_PREP(VCR_V_WAIT_1_MASK, var->lower_margin) |
668 FIELD_PREP(VCR_V_WAIT_2_MASK, var->upper_margin),
671 writel(FIELD_PREP(SIZE_XMAX_MASK, var->xres >> 4) |
672 (var->yres & ymax_mask),
715 info->var.nonstd = 0;
716 info->var.activate = FB_ACTIVATE_NOW;
717 info->var.height = -1;
718 info->var.width = -1;
719 info->var.accel_flags = 0;
720 info->var.vmode = FB_VMODE_NONINTERLACED;
726 info->var.grayscale = of_property_read_bool(np,
1007 imxfb_check_var(&info->var, info);