Lines Matching refs:var

267 static int imxfb_activate_var(struct fb_var_screeninfo *var,
318 if (info->var.grayscale)
331 val = chan_to_field(red, &info->var.red);
332 val |= chan_to_field(green, &info->var.green);
333 val |= chan_to_field(blue, &info->var.blue);
370 static int imxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
379 if (var->xres < MIN_XRES)
380 var->xres = MIN_XRES;
381 if (var->yres < MIN_YRES)
382 var->yres = MIN_YRES;
388 var->xres = imxfb_mode->mode.xres;
389 var->yres = imxfb_mode->mode.yres;
390 var->bits_per_pixel = imxfb_mode->bpp;
391 var->pixclock = imxfb_mode->mode.pixclock;
392 var->hsync_len = imxfb_mode->mode.hsync_len;
393 var->left_margin = imxfb_mode->mode.left_margin;
394 var->right_margin = imxfb_mode->mode.right_margin;
395 var->vsync_len = imxfb_mode->mode.vsync_len;
396 var->upper_margin = imxfb_mode->mode.upper_margin;
397 var->lower_margin = imxfb_mode->mode.lower_margin;
398 var->sync = imxfb_mode->mode.sync;
399 var->xres_virtual = max(var->xres_virtual, var->xres);
400 var->yres_virtual = max(var->yres_virtual, var->yres);
402 pr_debug("var->bits_per_pixel=%d\n", var->bits_per_pixel);
406 tmp = var->pixclock * (unsigned long long)lcd_clk;
421 switch (var->bits_per_pixel) {
465 var->red = rgb->red;
466 var->green = rgb->green;
467 var->blue = rgb->blue;
468 var->transp = rgb->transp;
471 var->red.length, var->green.length, var->blue.length,
472 var->transp.length);
475 var->red.offset, var->green.offset, var->blue.offset,
476 var->transp.offset);
488 struct fb_var_screeninfo *var = &info->var;
490 if (var->bits_per_pixel == 16 || var->bits_per_pixel == 32)
503 info->fix.line_length = var->xres_virtual * var->bits_per_pixel / 8;
504 fbi->palette_size = var->bits_per_pixel == 8 ? 256 : 16;
506 imxfb_activate_var(var, info);
606 * Configures LCD Controller based on entries in var parameter. Settings are
609 static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *info)
615 pr_debug("var: xres=%d hslen=%d lm=%d rm=%d\n",
616 var->xres, var->hsync_len,
617 var->left_margin, var->right_margin);
618 pr_debug("var: yres=%d vslen=%d um=%d bm=%d\n",
619 var->yres, var->vsync_len,
620 var->upper_margin, var->lower_margin);
630 if (var->xres < 16 || var->xres > 1024)
632 info->fix.id, var->xres);
633 if (var->hsync_len < 1 || var->hsync_len > 64)
635 info->fix.id, var->hsync_len);
636 if (var->left_margin < left_margin_low || var->left_margin > 255)
638 info->fix.id, var->left_margin);
639 if (var->right_margin < 1 || var->right_margin > 255)
641 info->fix.id, var->right_margin);
642 if (var->yres < 1 || var->yres > ymax_mask)
644 info->fix.id, var->yres);
645 if (var->vsync_len > 100)
647 info->fix.id, var->vsync_len);
648 if (var->upper_margin > 63)
650 info->fix.id, var->upper_margin);
651 if (var->lower_margin > 255)
653 info->fix.id, var->lower_margin);
658 var->xres * var->bits_per_pixel / 8 / 4),
661 writel(FIELD_PREP(HCR_H_WIDTH_MASK, var->hsync_len - 1) |
662 FIELD_PREP(HCR_H_WAIT_1_MASK, var->right_margin - 1) |
664 var->left_margin - left_margin_low),
667 writel(FIELD_PREP(VCR_V_WIDTH_MASK, var->vsync_len) |
668 FIELD_PREP(VCR_V_WAIT_1_MASK, var->lower_margin) |
669 FIELD_PREP(VCR_V_WAIT_2_MASK, var->upper_margin),
672 writel(FIELD_PREP(SIZE_XMAX_MASK, var->xres >> 4) |
673 (var->yres & ymax_mask),
716 info->var.nonstd = 0;
717 info->var.activate = FB_ACTIVATE_NOW;
718 info->var.height = -1;
719 info->var.width = -1;
720 info->var.accel_flags = 0;
721 info->var.vmode = FB_VMODE_NONINTERLACED;
727 info->var.grayscale = of_property_read_bool(np,
1017 imxfb_check_var(&info->var, info);