Lines Matching refs:var

268 static int imxfb_activate_var(struct fb_var_screeninfo *var,
319 if (info->var.grayscale)
332 val = chan_to_field(red, &info->var.red);
333 val |= chan_to_field(green, &info->var.green);
334 val |= chan_to_field(blue, &info->var.blue);
371 static int imxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
380 if (var->xres < MIN_XRES)
381 var->xres = MIN_XRES;
382 if (var->yres < MIN_YRES)
383 var->yres = MIN_YRES;
389 var->xres = imxfb_mode->mode.xres;
390 var->yres = imxfb_mode->mode.yres;
391 var->bits_per_pixel = imxfb_mode->bpp;
392 var->pixclock = imxfb_mode->mode.pixclock;
393 var->hsync_len = imxfb_mode->mode.hsync_len;
394 var->left_margin = imxfb_mode->mode.left_margin;
395 var->right_margin = imxfb_mode->mode.right_margin;
396 var->vsync_len = imxfb_mode->mode.vsync_len;
397 var->upper_margin = imxfb_mode->mode.upper_margin;
398 var->lower_margin = imxfb_mode->mode.lower_margin;
399 var->sync = imxfb_mode->mode.sync;
400 var->xres_virtual = max(var->xres_virtual, var->xres);
401 var->yres_virtual = max(var->yres_virtual, var->yres);
403 pr_debug("var->bits_per_pixel=%d\n", var->bits_per_pixel);
407 tmp = var->pixclock * (unsigned long long)lcd_clk;
422 switch (var->bits_per_pixel) {
466 var->red = rgb->red;
467 var->green = rgb->green;
468 var->blue = rgb->blue;
469 var->transp = rgb->transp;
472 var->red.length, var->green.length, var->blue.length,
473 var->transp.length);
476 var->red.offset, var->green.offset, var->blue.offset,
477 var->transp.offset);
489 struct fb_var_screeninfo *var = &info->var;
491 if (var->bits_per_pixel == 16 || var->bits_per_pixel == 32)
504 info->fix.line_length = var->xres_virtual * var->bits_per_pixel / 8;
505 fbi->palette_size = var->bits_per_pixel == 8 ? 256 : 16;
507 imxfb_activate_var(var, info);
607 * Configures LCD Controller based on entries in var parameter. Settings are
610 static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *info)
616 pr_debug("var: xres=%d hslen=%d lm=%d rm=%d\n",
617 var->xres, var->hsync_len,
618 var->left_margin, var->right_margin);
619 pr_debug("var: yres=%d vslen=%d um=%d bm=%d\n",
620 var->yres, var->vsync_len,
621 var->upper_margin, var->lower_margin);
631 if (var->xres < 16 || var->xres > 1024)
633 info->fix.id, var->xres);
634 if (var->hsync_len < 1 || var->hsync_len > 64)
636 info->fix.id, var->hsync_len);
637 if (var->left_margin < left_margin_low || var->left_margin > 255)
639 info->fix.id, var->left_margin);
640 if (var->right_margin < 1 || var->right_margin > 255)
642 info->fix.id, var->right_margin);
643 if (var->yres < 1 || var->yres > ymax_mask)
645 info->fix.id, var->yres);
646 if (var->vsync_len > 100)
648 info->fix.id, var->vsync_len);
649 if (var->upper_margin > 63)
651 info->fix.id, var->upper_margin);
652 if (var->lower_margin > 255)
654 info->fix.id, var->lower_margin);
658 writel(VPW_VPW(var->xres * var->bits_per_pixel / 8 / 4),
661 writel(HCR_H_WIDTH(var->hsync_len - 1) |
662 HCR_H_WAIT_1(var->right_margin - 1) |
663 HCR_H_WAIT_2(var->left_margin - left_margin_low),
666 writel(VCR_V_WIDTH(var->vsync_len) |
667 VCR_V_WAIT_1(var->lower_margin) |
668 VCR_V_WAIT_2(var->upper_margin),
671 writel(SIZE_XMAX(var->xres) | (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,
1014 imxfb_check_var(&info->var, info);